Add support for the GBZ80, Z180, and eZ80 variants of the Z80 architecure. Add an...
authorSergey Belyashov <sergey.belyashov@gmail.com>
Thu, 2 Jan 2020 14:10:40 +0000 (14:10 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 2 Jan 2020 14:14:59 +0000 (14:14 +0000)
PR 25224
bfd * Makefile.am: Add z80-elf target support.
* configure.ac: Likewise.
* targets.c: Likewise.
* config.bfd: Add z80-elf target support and new arches: ez80 and z180.
* elf32-z80.c: New file.
* archures.c: Add new z80 architectures: eZ80 and Z180.
* coffcode.h: Likewise.
* cpu-z80.c: Likewise.
* bfd-in2.h: Likewise plus additional Z80 relocations.
* coff-z80.c: Add new relocations for Z80 target and local label check.

gas * config/tc-z80.c: Add new architectures: Z180 and eZ80. Add support
for assembler code generated by SDCC. Add new relocation types. Add
z80-elf target support.
* config/tc-z80.h: Add z80-elf target support. Enable dollar local
labels. Local labels starts from ".L".
* testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
* testsuite/gas/all/fwdexp.s: Likewise.
* testsuite/gas/z80/suffix.d: Fix failure on ELF target.
* testsuite/gas/z80/z80.exp: Add new tests
* testsuite/gas/z80/dollar.d: New file.
* testsuite/gas/z80/dollar.s: New file.
* testsuite/gas/z80/ez80_adl_all.d: New file.
* testsuite/gas/z80/ez80_adl_all.s: New file.
* testsuite/gas/z80/ez80_adl_suf.d: New file.
* testsuite/gas/z80/ez80_isuf.s: New file.
* testsuite/gas/z80/ez80_z80_all.d: New file.
* testsuite/gas/z80/ez80_z80_all.s: New file.
* testsuite/gas/z80/ez80_z80_suf.d: New file.
* testsuite/gas/z80/r800_extra.d: New file.
* testsuite/gas/z80/r800_extra.s: New file.
* testsuite/gas/z80/r800_ii8.d: New file.
* testsuite/gas/z80/r800_z80_doc.d: New file.
* testsuite/gas/z80/z180.d: New file.
* testsuite/gas/z80/z180.s: New file.
* testsuite/gas/z80/z180_z80_doc.d: New file.
* testsuite/gas/z80/z80_doc.d: New file.
* testsuite/gas/z80/z80_doc.s: New file.
* testsuite/gas/z80/z80_ii8.d: New file.
* testsuite/gas/z80/z80_ii8.s: New file.
* testsuite/gas/z80/z80_in_f_c.d: New file.
* testsuite/gas/z80/z80_in_f_c.s: New file.
* testsuite/gas/z80/z80_op_ii_ld.d: New file.
* testsuite/gas/z80/z80_op_ii_ld.s: New file.
* testsuite/gas/z80/z80_out_c_0.d: New file.
* testsuite/gas/z80/z80_out_c_0.s: New file.
* testsuite/gas/z80/z80_reloc.d: New file.
* testsuite/gas/z80/z80_reloc.s: New file.
* testsuite/gas/z80/z80_sli.d: New file.
* testsuite/gas/z80/z80_sli.s: New file.

ld * Makefile.am: Add new target z80-elf
* configure.tgt: Likewise.
* emultempl/z80.em: Add support for eZ80 and Z180 architectures.
* emulparams/elf32z80.sh: New file.
* emultempl/z80elf.em: Likewise.
* testsuite/ld-z80/arch_ez80_adl.d: Likewise.
* testsuite/ld-z80/arch_ez80_z80.d: Likewise.
* testsuite/ld-z80/arch_r800.d: Likewise.
* testsuite/ld-z80/arch_z180.d: Likewise.
* testsuite/ld-z80/arch_z80.d: Likewise.
* testsuite/ld-z80/comb_arch_ez80_z80.d: Likewise.
* testsuite/ld-z80/comb_arch_z180.d: Likewise.
* testsuite/ld-z80/labels.s: Likewise.
* testsuite/ld-z80/relocs.s: Likewise.
* testsuite/ld-z80/relocs_b_ez80.d: Likewise.
* testsuite/ld-z80/relocs_b_z80.d: Likewise.
* testsuite/ld-z80/relocs_f_z80.d: Likewise.
* testsuite/ld-z80/z80.exp: Likewise.

opcodes * z80-dis.c: Add support for eZ80 and Z80 instructions.

132 files changed:
bfd/ChangeLog
bfd/Makefile.am
bfd/Makefile.in
bfd/archures.c
bfd/bfd-in2.h
bfd/coff-z80.c
bfd/coffcode.h
bfd/config.bfd
bfd/configure
bfd/configure.ac
bfd/cpu-z80.c
bfd/elf32-z80.c [new file with mode: 0644]
bfd/libbfd.h
bfd/po/SRC-POTFILES.in
bfd/po/bfd.pot
bfd/reloc.c
bfd/targets.c
binutils/ChangeLog
binutils/po/binutils.pot
binutils/readelf.c
gas/ChangeLog
gas/NEWS
gas/config/tc-z80.c
gas/config/tc-z80.h
gas/doc/as.texi
gas/doc/c-z80.texi
gas/po/gas.pot
gas/testsuite/gas/all/cond.l
gas/testsuite/gas/all/cond.s
gas/testsuite/gas/all/fwdexp.d
gas/testsuite/gas/all/fwdexp.s
gas/testsuite/gas/elf/section2.e-mips
gas/testsuite/gas/elf/section2.l
gas/testsuite/gas/elf/section2.s
gas/testsuite/gas/macros/app1.d
gas/testsuite/gas/macros/app1.s
gas/testsuite/gas/macros/app2.d
gas/testsuite/gas/macros/app2.s
gas/testsuite/gas/macros/app3.d
gas/testsuite/gas/macros/app3.s
gas/testsuite/gas/macros/app4.d
gas/testsuite/gas/macros/app4.s
gas/testsuite/gas/macros/app4b.s
gas/testsuite/gas/z80/colonless.d [new file with mode: 0644]
gas/testsuite/gas/z80/colonless.s [new file with mode: 0644]
gas/testsuite/gas/z80/data.d [new file with mode: 0644]
gas/testsuite/gas/z80/data.s [new file with mode: 0644]
gas/testsuite/gas/z80/dollar.d [new file with mode: 0644]
gas/testsuite/gas/z80/dollar.s [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_adl_all.d [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_adl_all.s [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_adl_suf.d [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_isuf.s [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_z80_all.d [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_z80_all.s [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_z80_suf.d [new file with mode: 0644]
gas/testsuite/gas/z80/fp_math48.d [new file with mode: 0644]
gas/testsuite/gas/z80/fp_math48.s [new file with mode: 0644]
gas/testsuite/gas/z80/fp_zeda32.d [new file with mode: 0644]
gas/testsuite/gas/z80/fp_zeda32.s [new file with mode: 0644]
gas/testsuite/gas/z80/r800_extra.d [new file with mode: 0644]
gas/testsuite/gas/z80/r800_extra.s [new file with mode: 0644]
gas/testsuite/gas/z80/r800_ii8.d [new file with mode: 0644]
gas/testsuite/gas/z80/r800_z80_doc.d [new file with mode: 0644]
gas/testsuite/gas/z80/sdcc.d [new file with mode: 0644]
gas/testsuite/gas/z80/sdcc.s [new file with mode: 0644]
gas/testsuite/gas/z80/set.d [new file with mode: 0644]
gas/testsuite/gas/z80/set.s [new file with mode: 0644]
gas/testsuite/gas/z80/strings.d [new file with mode: 0644]
gas/testsuite/gas/z80/strings.s [new file with mode: 0644]
gas/testsuite/gas/z80/suffix.d
gas/testsuite/gas/z80/z180.d [new file with mode: 0644]
gas/testsuite/gas/z80/z180.s [new file with mode: 0644]
gas/testsuite/gas/z80/z180_z80_doc.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80.exp
gas/testsuite/gas/z80/z80_doc.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_doc.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_ii8.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_ii8.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_in_f_c.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_in_f_c.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_op_ii_ld.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_op_ii_ld.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_out_c_0.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_out_c_0.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_reloc.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_reloc.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_sli.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_sli.s [new file with mode: 0644]
gprof/po/gprof.pot
include/ChangeLog
include/coff/internal.h
include/elf/z80.h [new file with mode: 0644]
ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/NEWS
ld/configure.tgt
ld/emulparams/elf32z80.sh [new file with mode: 0644]
ld/emultempl/z80.em
ld/emultempl/z80elf.em [new file with mode: 0644]
ld/po/BLD-POTFILES.in
ld/po/ld.pot
ld/scripttempl/z80.sc
ld/testsuite/ld-elf/comm-data4.s
ld/testsuite/ld-elf/comm-data5.s
ld/testsuite/ld-scripts/fill16.d
ld/testsuite/ld-z80/arch_default.d [new file with mode: 0644]
ld/testsuite/ld-z80/arch_ez80_adl.d [new file with mode: 0644]
ld/testsuite/ld-z80/arch_ez80_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/arch_r800.d [new file with mode: 0644]
ld/testsuite/ld-z80/arch_z180.d [new file with mode: 0644]
ld/testsuite/ld-z80/arch_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/comb_arch_ez80_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/comb_arch_z180_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/comb_arch_z80_ez80.d [new file with mode: 0644]
ld/testsuite/ld-z80/comb_arch_z80_z180.d [new file with mode: 0644]
ld/testsuite/ld-z80/dummy1.s [new file with mode: 0644]
ld/testsuite/ld-z80/dummy2.s [new file with mode: 0644]
ld/testsuite/ld-z80/jr.s [new file with mode: 0644]
ld/testsuite/ld-z80/jr_b.d [new file with mode: 0644]
ld/testsuite/ld-z80/jr_f.d [new file with mode: 0644]
ld/testsuite/ld-z80/labels.s [new file with mode: 0644]
ld/testsuite/ld-z80/relocs.s [new file with mode: 0644]
ld/testsuite/ld-z80/relocs_b_ez80.d [new file with mode: 0644]
ld/testsuite/ld-z80/relocs_b_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/relocs_f_ez80.d [new file with mode: 0644]
ld/testsuite/ld-z80/relocs_f_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/z80.exp [new file with mode: 0644]
opcodes/ChangeLog
opcodes/po/opcodes.pot
opcodes/z80-dis.c

index 144c77888803fa9b3efe647c65fb65ee731dbacb..0ff109c5c1b6617982a8dcd1c6b1317ee1c86b40 100644 (file)
@@ -1,3 +1,22 @@
+2020-01-02  Sergey Belyashov  <sergey.belyashov@gmail.com>
+
+       * Makefile.am: Add z80-elf target support.
+       * configure.ac: Likewise.
+       * targets.c: Likewise.
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * config.bfd: Add z80-elf target support and new arches: ez80 and
+       z180.
+       * elf32-z80.c: New file.
+       * archures.c: Add new z80 architectures: eZ80 and Z180.
+       * coffcode.h: Likewise.
+       * cpu-z80.c: Likewise.
+       * coff-z80.c: Add new relocations for Z80 target and local label
+       check.
+       * reloc.c: Add new relocs.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
 2020-01-02  Tamar Christina  <tamar.christina@arm.com>
 
        PR 25210
index f5ed9246b6c8dd68e289d1a7f127cd6794bc2d6f..d32640a12c58af2265171b3571a359b7d6b2efed 100644 (file)
@@ -354,6 +354,7 @@ BFD32_BACKENDS = \
        elf32-xgate.lo \
        elf32-xstormy16.lo \
        elf32-xtensa.lo \
+       elf32-z80.lo \
        elf32.lo \
        elflink.lo \
        elfxx-sparc.lo \
@@ -489,6 +490,7 @@ BFD32_BACKENDS_CFILES = \
        elf32-xgate.c \
        elf32-xstormy16.c \
        elf32-xtensa.c \
+       elf32-z80.c \
        elf32.c \
        elflink.c \
        elfxx-sparc.c \
index 93e4dee19dc09328b05f1f6d75c5837656eb5622..78555ccbbc20b1f6e4cb8ec35f666dfec0bba588 100644 (file)
@@ -779,6 +779,7 @@ BFD32_BACKENDS = \
        elf32-xgate.lo \
        elf32-xstormy16.lo \
        elf32-xtensa.lo \
+       elf32-z80.lo \
        elf32.lo \
        elflink.lo \
        elfxx-sparc.lo \
@@ -914,6 +915,7 @@ BFD32_BACKENDS_CFILES = \
        elf32-xgate.c \
        elf32-xstormy16.c \
        elf32-xtensa.c \
+       elf32-z80.c \
        elf32.c \
        elflink.c \
        elfxx-sparc.c \
@@ -1490,6 +1492,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-xgate.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-xstormy16.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-xtensa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32-z80.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf32.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-aarch64.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-alpha.Plo@am__quote@
index 0b88b83ee86fac4a67a12eb527ad4490a01151dc..232103817c1043eaa8aea7614ac28b5d0d493b5d 100644 (file)
@@ -505,9 +505,13 @@ DESCRIPTION
 .  bfd_arch_xtensa,    {* Tensilica's Xtensa cores.  *}
 .#define bfd_mach_xtensa       1
 .  bfd_arch_z80,
-.#define bfd_mach_z80strict    1 {* No undocumented opcodes.  *}
-.#define bfd_mach_z80          3 {* With ixl, ixh, iyl, and iyh.  *}
-.#define bfd_mach_z80full      7 {* All undocumented instructions.  *}
+.#define bfd_mach_gbz80         0 {* GameBoy Z80 (reduced instruction set) *}
+.#define bfd_mach_z80strict    1 {* Z80 without undocumented opcodes.  *}
+.#define bfd_mach_z180          2 {* Z180: successor with additional instructions, but without halves of ix and iy *}
+.#define bfd_mach_z80          3 {* Z80 with ixl, ixh, iyl, and iyh.  *}
+.#define bfd_mach_ez80_z80      4 {* eZ80 (successor of Z80 & Z180) in Z80 (16-bit address) mode *}
+.#define bfd_mach_ez80_adl      5 {* eZ80 (successor of Z80 & Z180) in ADL (24-bit address) mode *}
+.#define bfd_mach_z80full      7 {* Z80 with all undocumented instructions.  *}
 .#define bfd_mach_r800         11 {* R800: successor with multiplication.  *}
 .  bfd_arch_lm32,      {* Lattice Mico32.  *}
 .#define bfd_mach_lm32         1
index ceb53d5b4d011a6de90df00d1af2918a7053c961..7c13bc8c91abf291f0206b6608b31955c5ea70d8 100644 (file)
@@ -1888,9 +1888,13 @@ enum bfd_architecture
   bfd_arch_xtensa,    /* Tensilica's Xtensa cores.  */
 #define bfd_mach_xtensa        1
   bfd_arch_z80,
-#define bfd_mach_z80strict     1 /* No undocumented opcodes.  */
-#define bfd_mach_z80           3 /* With ixl, ixh, iyl, and iyh.  */
-#define bfd_mach_z80full       7 /* All undocumented instructions.  */
+#define bfd_mach_gbz80         0 /* GameBoy Z80 (reduced instruction set) */
+#define bfd_mach_z80strict     1 /* Z80 without undocumented opcodes.  */
+#define bfd_mach_z180          2 /* Z180: successor with additional instructions, but without halves of ix and iy */
+#define bfd_mach_z80           3 /* Z80 with ixl, ixh, iyl, and iyh.  */
+#define bfd_mach_ez80_z80      4 /* eZ80 (successor of Z80 & Z180) in Z80 (16-bit address) mode */
+#define bfd_mach_ez80_adl      5 /* eZ80 (successor of Z80 & Z180) in ADL (24-bit address) mode */
+#define bfd_mach_z80full       7 /* Z80 with all undocumented instructions.  */
 #define bfd_mach_r800          11 /* R800: successor with multiplication.  */
   bfd_arch_lm32,      /* Lattice Mico32.  */
 #define bfd_mach_lm32          1
@@ -5270,6 +5274,24 @@ BFD_RELOC_XTENSA_ASM_EXPAND.  */
 /* 8 bit signed offset in (ix+d) or (iy+d).  */
   BFD_RELOC_Z80_DISP8,
 
+/* First 8 bits of multibyte (32, 24 or 16 bit) value.  */
+  BFD_RELOC_Z80_BYTE0,
+
+/* Second 8 bits of multibyte (32, 24 or 16 bit) value.  */
+  BFD_RELOC_Z80_BYTE1,
+
+/* Third 8 bits of multibyte (32 or 24 bit) value.  */
+  BFD_RELOC_Z80_BYTE2,
+
+/* Fourth 8 bits of multibyte (32 bit) value.  */
+  BFD_RELOC_Z80_BYTE3,
+
+/* Lowest 16 bits of multibyte (32 or 24 bit) value.  */
+  BFD_RELOC_Z80_WORD0,
+
+/* Highest 16 bits of multibyte (32 or 24 bit) value.  */
+  BFD_RELOC_Z80_WORD1,
+
 /* DJNZ offset.  */
   BFD_RELOC_Z8K_DISP7,
 
index 40bb60d36f47d8aef60723ec2957359f1d29b7bf..bb519fd654d095273550476db996ea85d455b6c0 100644 (file)
 #include "coff/z80.h"
 #include "coff/internal.h"
 #include "libcoff.h"
+#include "libiberty.h"
 
 #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER 0
 
-static reloc_howto_type r_imm32 =
-HOWTO (R_IMM32, 0, 2, 32, FALSE, 0,
-       complain_overflow_dont, 0, "r_imm32", TRUE, 0xffffffff, 0xffffffff,
-       FALSE);
+typedef struct {
+  bfd_reloc_code_real_type r_type;
+  reloc_howto_type howto;
+} bfd_howto_type;
 
-static reloc_howto_type r_imm24 =
-HOWTO (R_IMM24, 0, 1, 24, FALSE, 0,
-       complain_overflow_dont, 0, "r_imm24", TRUE, 0x00ffffff, 0x00ffffff,
-       FALSE);
-
-static reloc_howto_type r_imm16 =
-HOWTO (R_IMM16, 0, 1, 16, FALSE, 0,
-       complain_overflow_dont, 0, "r_imm16", TRUE, 0x0000ffff, 0x0000ffff,
-       FALSE);
-
-static reloc_howto_type r_imm8 =
-HOWTO (R_IMM8, 0, 0, 8, FALSE, 0,
-       complain_overflow_bitfield, 0, "r_imm8", TRUE, 0x000000ff, 0x000000ff,
-       FALSE);
-
-static reloc_howto_type r_jr =
-HOWTO (R_JR, 0, 0, 8, TRUE, 0,
-       complain_overflow_signed, 0, "r_jr", FALSE, 0, 0xFF,
-       FALSE);
-
-static reloc_howto_type r_off8 =
-HOWTO (R_OFF8, 0, 0, 8, FALSE, 0,
-       complain_overflow_signed, 0,"r_off8", FALSE, 0, 0xff,
-       FALSE);
+#define BFD_EMPTY_HOWTO(rt,x) {rt, EMPTY_HOWTO(x)}
+#define BFD_HOWTO(rt,a,b,c,d,e,f,g,h,i,j,k,l,m) {rt, HOWTO(a,b,c,d,e,f,g,h,i,j,k,l,m)}
 
+static bfd_howto_type howto_table[] =
+{
+  BFD_EMPTY_HOWTO (BFD_RELOC_NONE, 0),
+
+  BFD_HOWTO (BFD_RELOC_32,
+     R_IMM32,          /* type */
+     0,                        /* rightshift */
+     2,                        /* size (0 = byte, 1 = short, 2 = long) */
+     32,               /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_bitfield, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_imm32",                /* name */
+     FALSE,            /* partial_inplace */
+     0xffffffff,       /* src_mask */
+     0xffffffff,       /* dst_mask */
+     FALSE),           /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_24,
+     R_IMM24,          /* type */
+     0,                        /* rightshift */
+     1,                        /* size (0 = byte, 1 = short, 2 = long) */
+     24,               /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_bitfield, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_imm24",                /* name */
+     FALSE,            /* partial_inplace */
+     0x00ffffff,       /* src_mask */
+     0x00ffffff,       /* dst_mask */
+     FALSE),           /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_16,
+     R_IMM16,          /* type */
+     0,                        /* rightshift */
+     1,                        /* size (0 = byte, 1 = short, 2 = long) */
+     16,               /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_bitfield, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_imm16",                /* name */
+     FALSE,            /* partial_inplace */
+     0x0000ffff,       /* src_mask */
+     0x0000ffff,       /* dst_mask */
+     FALSE),           /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_8,
+     R_IMM8,           /* type */
+     0,                        /* rightshift */
+     0,                        /* size (0 = byte, 1 = short, 2 = long) */
+     8,                        /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_bitfield, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_imm8",         /* name */
+     FALSE,            /* partial_inplace */
+     0x000000ff,       /* src_mask */
+     0x000000ff,       /* dst_mask */
+     FALSE),           /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_8_PCREL,
+     R_JR,             /* type */
+     0,                        /* rightshift */
+     0,                        /* size (0 = byte, 1 = short, 2 = long) */
+     8,                        /* bitsize */
+     TRUE,             /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_signed, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_jr",           /* name */
+     FALSE,            /* partial_inplace */
+     0,                        /* src_mask */
+     0xFF,             /* dst_mask */
+     TRUE),            /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_Z80_DISP8,
+     R_OFF8,           /* type */
+     0,                        /* rightshift */
+     0,                        /* size (0 = byte, 1 = short, 2 = long) */
+     8,                        /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_signed, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_off8",         /* name */
+     FALSE,            /* partial_inplace */
+     0,                        /* src_mask */
+     0xff,             /* dst_mask */
+     FALSE),           /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_Z80_BYTE0,
+     R_BYTE0,          /* type */
+     0,                        /* rightshift */
+     0,                        /* size (0 = byte, 1 = short, 2 = long) */
+     8,                        /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_dont, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_byte0",                /* name */
+     FALSE,            /* partial_inplace */
+     0,                        /* src_mask */
+     0xff,             /* dst_mask */
+     FALSE),           /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_Z80_BYTE1,
+     R_BYTE1,          /* type */
+     8,                        /* rightshift */
+     0,                        /* size (0 = byte, 1 = short, 2 = long) */
+     8,                        /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_dont, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_byte1",                /* name */
+     FALSE,            /* partial_inplace */
+     0,                        /* src_mask */
+     0xff,             /* dst_mask */
+     FALSE),           /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_Z80_BYTE2,
+     R_BYTE2,          /* type */
+     16,               /* rightshift */
+     0,                        /* size (0 = byte, 1 = short, 2 = long) */
+     8,                        /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_dont, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_byte2",                /* name */
+     FALSE,            /* partial_inplace */
+     0,                        /* src_mask */
+     0xff,             /* dst_mask */
+     FALSE),           /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_Z80_BYTE3,
+     R_BYTE3,          /* type */
+     24,               /* rightshift */
+     0,                        /* size (0 = byte, 1 = short, 2 = long) */
+     8,                        /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_dont, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_byte3",                /* name */
+     FALSE,            /* partial_inplace */
+     0,                        /* src_mask */
+     0xff,             /* dst_mask */
+     FALSE),           /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_Z80_WORD0,
+     R_WORD0,          /* type */
+     0,                        /* rightshift */
+     0,                        /* size (0 = byte, 1 = short, 2 = long) */
+     16,               /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_dont, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_word0",                /* name */
+     FALSE,            /* partial_inplace */
+     0,                        /* src_mask */
+     0xffff,           /* dst_mask */
+     FALSE),           /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_Z80_WORD1,
+     R_WORD1,          /* type */
+     16,               /* rightshift */
+     0,                        /* size (0 = byte, 1 = short, 2 = long) */
+     16,               /* bitsize */
+     FALSE,            /* pc_relative */
+     0,                        /* bitpos */
+     complain_overflow_dont, /* complain_on_overflow */
+     0,                        /* special_function */
+     "r_word1",                /* name */
+     FALSE,            /* partial_inplace */
+     0,                        /* src_mask */
+     0xffff,           /* dst_mask */
+     FALSE),           /* pcrel_offset */
+};
+
+#define NUM_HOWTOS ARRAY_SIZE (howto_table)
 
 #define BADMAG(x) Z80BADMAG(x)
 #define Z80 1                  /* Customize coffcode.h.  */
@@ -74,34 +239,19 @@ HOWTO (R_OFF8, 0, 0, 8, FALSE, 0,
   dst->r_stuff[1] = 'C';
 
 /* Code to turn a r_type into a howto ptr, uses the above howto table.  */
-
 static void
 rtype2howto (arelent *internal, struct internal_reloc *dst)
 {
-  switch (dst->r_type)
+  unsigned i;
+  for (i = 0; i < NUM_HOWTOS; i++)
     {
-    default:
-      internal->howto = NULL;
-      break;
-    case R_IMM8:
-      internal->howto = &r_imm8;
-      break;
-    case R_IMM16:
-      internal->howto = &r_imm16;
-      break;
-    case R_IMM24:
-      internal->howto = &r_imm24;
-      break;
-    case R_IMM32:
-      internal->howto = &r_imm32;
-      break;
-    case R_JR:
-      internal->howto = &r_jr;
-      break;
-    case R_OFF8:
-      internal->howto = &r_off8;
-      break;
+      if (howto_table[i].howto.type == dst->r_type)
+        {
+          internal->howto = &howto_table[i].howto;
+          return;
+        }
     }
+  internal->howto = NULL;
 }
 
 #define RTYPE2HOWTO(internal, relocentry) rtype2howto (internal, relocentry)
@@ -110,35 +260,23 @@ static reloc_howto_type *
 coff_z80_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
                            bfd_reloc_code_real_type code)
 {
-  switch (code)
-    {
-    case BFD_RELOC_8:          return & r_imm8;
-    case BFD_RELOC_16:         return & r_imm16;
-    case BFD_RELOC_24:         return & r_imm24;
-    case BFD_RELOC_32:         return & r_imm32;
-    case BFD_RELOC_8_PCREL:    return & r_jr;
-    case BFD_RELOC_Z80_DISP8:  return & r_off8;
-    default:                   BFD_FAIL ();
-      return NULL;
-    }
+  unsigned i;
+  for (i = 0; i < NUM_HOWTOS; i++)
+    if (howto_table[i].r_type == code)
+      return &howto_table[i].howto;
+
+  BFD_FAIL ();
+  return NULL;
 }
 
 static reloc_howto_type *
 coff_z80_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
                            const char *r_name)
 {
-  if (strcasecmp (r_imm8.name, r_name) == 0)
-    return &r_imm8;
-  if (strcasecmp (r_imm16.name, r_name) == 0)
-    return &r_imm16;
-  if (strcasecmp (r_imm24.name, r_name) == 0)
-    return &r_imm24;
-  if (strcasecmp (r_imm32.name, r_name) == 0)
-    return &r_imm32;
-  if (strcasecmp (r_jr.name, r_name) == 0)
-    return &r_jr;
-  if (strcasecmp (r_off8.name, r_name) == 0)
-    return &r_off8;
+  unsigned i;
+  for (i = 0; i < NUM_HOWTOS; i++)
+    if (strcasecmp(howto_table[i].howto.name, r_name) == 0)
+      return &howto_table[i].howto;
 
   return NULL;
 }
@@ -180,14 +318,15 @@ extra_case (bfd *in_abfd,
            unsigned int *dst_ptr)
 {
   asection * input_section = link_order->u.indirect.section;
-  int val;
+  int val = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
 
   switch (reloc->howto->type)
     {
     case R_OFF8:
-       val = bfd_coff_reloc16_get_value (reloc, link_info,
-                                          input_section);
-       if (val>127 || val<-128) /* Test for overflow.  */
+      if (reloc->howto->partial_inplace)
+        val += (signed char)(bfd_get_8 ( in_abfd, data+*src_ptr)
+                             & reloc->howto->src_mask);
+      if (val>127 || val<-128) /* Test for overflow.  */
          (*link_info->callbacks->reloc_overflow)
            (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
             reloc->howto->name, reloc->addend, input_section->owner,
@@ -198,26 +337,55 @@ extra_case (bfd *in_abfd,
        (*src_ptr) += 1;
       break;
 
+    case R_BYTE3:
+      bfd_put_8 (in_abfd, val >> 24, data + *dst_ptr);
+      (*dst_ptr) += 1;
+      (*src_ptr) += 1;
+      break;
+
+    case R_BYTE2:
+      bfd_put_8 (in_abfd, val >> 16, data + *dst_ptr);
+      (*dst_ptr) += 1;
+      (*src_ptr) += 1;
+      break;
+
+    case R_BYTE1:
+      bfd_put_8 (in_abfd, val >> 8, data + *dst_ptr);
+      (*dst_ptr) += 1;
+      (*src_ptr) += 1;
+      break;
+
     case R_IMM8:
-      val = bfd_get_8 ( in_abfd, data+*src_ptr)
-       + bfd_coff_reloc16_get_value (reloc, link_info, input_section);
+      if (reloc->howto->partial_inplace)
+        val += bfd_get_8 ( in_abfd, data+*src_ptr) & reloc->howto->src_mask;
+      //fallthrough
+    case R_BYTE0:
       bfd_put_8 (in_abfd, val, data + *dst_ptr);
       (*dst_ptr) += 1;
       (*src_ptr) += 1;
       break;
 
+    case R_WORD1:
+      bfd_put_16 (in_abfd, val >> 16, data + *dst_ptr);
+      (*dst_ptr) += 2;
+      (*src_ptr) += 2;
+      break;
+
     case R_IMM16:
-      val = bfd_get_16 ( in_abfd, data+*src_ptr)
-       + bfd_coff_reloc16_get_value (reloc, link_info, input_section);
+      if (reloc->howto->partial_inplace)
+        val += bfd_get_16 ( in_abfd, data+*src_ptr) & reloc->howto->src_mask;
+      //fallthrough
+    case R_WORD0:
       bfd_put_16 (in_abfd, val, data + *dst_ptr);
       (*dst_ptr) += 2;
       (*src_ptr) += 2;
       break;
 
     case R_IMM24:
-      val = bfd_get_16 ( in_abfd, data+*src_ptr)
-       + (bfd_get_8 ( in_abfd, data+*src_ptr+2) << 16)
-       + bfd_coff_reloc16_get_value (reloc, link_info, input_section);
+      if (reloc->howto->partial_inplace)
+        val += (bfd_get_16 ( in_abfd, data+*src_ptr)
+            + (bfd_get_8 ( in_abfd, data+*src_ptr+2) << 16))
+            & reloc->howto->src_mask;
       bfd_put_16 (in_abfd, val, data + *dst_ptr);
       bfd_put_8 (in_abfd, val >> 16, data + *dst_ptr+2);
       (*dst_ptr) += 3;
@@ -225,8 +393,8 @@ extra_case (bfd *in_abfd,
       break;
 
     case R_IMM32:
-      val = bfd_get_32 ( in_abfd, data+*src_ptr)
-       + bfd_coff_reloc16_get_value (reloc, link_info, input_section);
+      if (reloc->howto->partial_inplace)
+        val += bfd_get_32 ( in_abfd, data+*src_ptr) & reloc->howto->src_mask;
       bfd_put_32 (in_abfd, val, data + *dst_ptr);
       (*dst_ptr) += 4;
       (*src_ptr) += 4;
@@ -234,15 +402,13 @@ extra_case (bfd *in_abfd,
 
     case R_JR:
       {
-       bfd_vma dst = bfd_coff_reloc16_get_value (reloc, link_info,
-                                                 input_section);
+        if (reloc->howto->partial_inplace)
+          val += (signed char)(bfd_get_8 ( in_abfd, data+*src_ptr) 
+                               & reloc->howto->src_mask);
        bfd_vma dot = (*dst_ptr
                       + input_section->output_offset
                       + input_section->output_section->vma);
-       int gap = dst - dot - 1;  /* -1, Since the offset is relative
-                                    to the value of PC after reading
-                                    the offset.  */
-
+       int gap = val - dot;
        if (gap >= 128 || gap < -128)
          (*link_info->callbacks->reloc_overflow)
            (link_info, NULL, bfd_asymbol_name (*reloc->sym_ptr_ptr),
@@ -260,6 +426,16 @@ extra_case (bfd *in_abfd,
     }
 }
 
+static int
+z80_is_local_label_name (bfd *        abfd ATTRIBUTE_UNUSED,
+                         const char * name)
+{
+  return (name[0] == '.' && name[1] == 'L') ||
+         _bfd_coff_is_local_label_name (abfd, name);
+}
+
+#define coff_bfd_is_local_label_name z80_is_local_label_name
+
 #define coff_reloc16_extra_cases    extra_case
 #define coff_bfd_reloc_type_lookup  coff_z80_reloc_type_lookup
 #define coff_bfd_reloc_name_lookup coff_z80_reloc_name_lookup
index 8644bbe5c0365d897826601006aff09c7009fba1..dec2e9c63708107048ced5f1e99c3937187ac198 100644 (file)
@@ -2161,11 +2161,14 @@ coff_set_arch_mach_hook (bfd *abfd, void * filehdr)
       arch = bfd_arch_z80;
       switch (internal_f->f_flags & F_MACHMASK)
        {
-       case 0:
        case bfd_mach_z80strict << 12:
        case bfd_mach_z80 << 12:
        case bfd_mach_z80full << 12:
        case bfd_mach_r800 << 12:
+       case bfd_mach_gbz80 << 12:
+       case bfd_mach_z180 << 12:
+       case bfd_mach_ez80_z80 << 12:
+       case bfd_mach_ez80_adl << 12:
          machine = ((unsigned)internal_f->f_flags & F_MACHMASK) >> 12;
          break;
        default:
@@ -2650,11 +2653,14 @@ coff_set_flags (bfd * abfd,
       *magicp = Z80MAGIC;
       switch (bfd_get_mach (abfd))
        {
-       case 0:
        case bfd_mach_z80strict:
        case bfd_mach_z80:
        case bfd_mach_z80full:
        case bfd_mach_r800:
+       case bfd_mach_gbz80:
+       case bfd_mach_z180:
+       case bfd_mach_ez80_z80:
+       case bfd_mach_ez80_adl:
          *flagsp = bfd_get_mach (abfd) << 12;
          break;
        default:
index 37dbcdc841d3fe55819a6caf6f92d79bf165f080..b96931f52e6c46fa281738d468b1d88d20237545 100644 (file)
@@ -207,7 +207,7 @@ wasm32)              targ_archs=bfd_wasm32_arch ;;
 x86_64*)        targ_archs=bfd_i386_arch ;;
 xtensa*)        targ_archs=bfd_xtensa_arch ;;
 xgate)          targ_archs=bfd_xgate_arch ;;
-z80|r800)       targ_archs=bfd_z80_arch ;;
+z80*|r800|z180|gbz80|ez80*)     targ_archs=bfd_z80_arch ;;
 z8k*)           targ_archs=bfd_z8k_arch ;;
 *)              targ_archs=bfd_${targ_cpu}_arch ;;
 esac
@@ -1404,11 +1404,16 @@ case "${targ}" in
     targ_defvec=xc16x_elf32_vec
     ;;
 
-  z80-*-*)
+  z80-*-coff)
     targ_defvec=z80_coff_vec
     targ_underscore=no
     ;;
 
+  z80-*-elf)
+    targ_defvec=z80_elf32_vec
+    targ_underscore=no
+    ;;
+
   z8k*-*-*)
     targ_defvec=z8k_coff_vec
     targ_underscore=yes
index bf95857cdeefa12fae50036594280274c94db51c..a38f215798d0e6e01327a88f3226bf6446889c22 100755 (executable)
@@ -14955,6 +14955,7 @@ do
     xtensa_elf32_be_vec)        tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
     xtensa_elf32_le_vec)        tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
     z80_coff_vec)               tb="$tb coff-z80.lo reloc16.lo $coffgen" ;;
+    z80_elf32_vec)              tb="$tb elf32-z80.lo elf32.lo $elf" ;;
     z8k_coff_vec)               tb="$tb coff-z8k.lo reloc16.lo $coff" ;;
 
     # These appear out of order in targets.c
index 29ce5dc10be087c63a19e3770919fac4ec542237..c5bfbd5d129ceb5668cf2af76e0f227cbc5c3846 100644 (file)
@@ -691,6 +691,7 @@ do
     xtensa_elf32_be_vec)        tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
     xtensa_elf32_le_vec)        tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;;
     z80_coff_vec)               tb="$tb coff-z80.lo reloc16.lo $coffgen" ;;
+    z80_elf32_vec)              tb="$tb elf32-z80.lo elf32.lo $elf" ;;
     z8k_coff_vec)               tb="$tb coff-z8k.lo reloc16.lo $coff" ;;
 
     # These appear out of order in targets.c
index 29173200176731756de929e685ce36e4a37dc5c5..96fcfa3658da7fa22d0d37bf84250d03860c1c55 100644 (file)
@@ -40,18 +40,23 @@ compatible (const bfd_arch_info_type *a, const bfd_arch_info_type *b)
   return (a->arch == bfd_arch_z80) ? & bfd_z80_arch : NULL;
 }
 
-#define N(name,print,default,next)  \
- { 16, 16, 8, bfd_arch_z80, name, "z80", print, 0, default, \
+#define N(name,print,bits,default,next)  \
+ { 16, bits, 8, bfd_arch_z80, name, "z80", print, 0, default, \
    compatible, bfd_default_scan, bfd_arch_default_fill, next, 0 }
 
 #define M(n) &arch_info_struct[n]
 
 static const bfd_arch_info_type arch_info_struct[] =
 {
-  N (bfd_mach_z80strict, "z80-strict", FALSE, M(1)),
-  N (bfd_mach_z80,      "z80",        FALSE, M(2)),
-  N (bfd_mach_z80full,  "z80-full",   FALSE, M(3)),
-  N (bfd_mach_r800,     "r800",       FALSE, NULL)
+  N (bfd_mach_z80full,  "z80-full",   16, FALSE, M(1)),
+  N (bfd_mach_z80strict, "z80-strict", 16, FALSE, M(2)),
+  N (bfd_mach_z80,      "z80",        16, FALSE, M(3)),
+  N (bfd_mach_r800,     "r800",       16, FALSE, M(4)),
+  N (bfd_mach_gbz80,    "gbz80",      16, FALSE, M(5)),
+  N (bfd_mach_z180,     "z180",       16, FALSE, M(6)),
+  N (bfd_mach_ez80_z80,         "ez80-z80",   16, FALSE, M(7)),
+  N (bfd_mach_ez80_adl,         "ez80-adl",   24, FALSE, NULL)
 };
 
-const bfd_arch_info_type bfd_z80_arch = N (0, "z80-any", TRUE, M(0));
+const bfd_arch_info_type bfd_z80_arch =
+  N (bfd_mach_z80full,   "z80-full",   16, TRUE,  M(1));
diff --git a/bfd/elf32-z80.c b/bfd/elf32-z80.c
new file mode 100644 (file)
index 0000000..888606e
--- /dev/null
@@ -0,0 +1,380 @@
+/* Zilog (e)Z80-specific support for 32-bit ELF
+   Copyright (C) 1999-2019 Free Software Foundation, Inc.
+   (Heavily copied from the S12Z port by Sergey Belyashov (sergey.belyashov@gmail.com))
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "bfdlink.h"
+#include "libbfd.h"
+#include "elf-bfd.h"
+
+#include "elf/z80.h"
+
+/* All users of this file have bfd_octets_per_byte (abfd, sec) == 1.  */
+#define OCTETS_PER_BYTE(ABFD, SEC) 1
+
+/* Relocation functions.  */
+static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
+  (bfd *, bfd_reloc_code_real_type);
+static bfd_boolean z80_info_to_howto_rel
+  (bfd *, arelent *, Elf_Internal_Rela *);
+
+typedef struct {
+  bfd_reloc_code_real_type r_type;
+  reloc_howto_type howto;
+} bfd_howto_type;
+
+#define BFD_EMPTY_HOWTO(rt,x) {rt, EMPTY_HOWTO(x)}
+#define BFD_HOWTO(rt,a,b,c,d,e,f,g,h,i,j,k,l,m) {rt, HOWTO(a,b,c,d,e,f,g,h,i,j,k,l,m)}
+
+static const
+bfd_howto_type elf_z80_howto_table[] =
+{
+  /* This reloc does nothing.  */
+  BFD_HOWTO (BFD_RELOC_NONE,
+        R_Z80_NONE,            /* type */
+        0,                     /* rightshift */
+        3,                     /* size (0 = byte, 1 = short, 2 = long) */
+        0,                     /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont,/* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "R_NONE",              /* name */
+        FALSE,                 /* partial_inplace */
+        0,                     /* src_mask */
+        0,                     /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  /* A 8 bit relocation */
+  BFD_HOWTO (BFD_RELOC_8,
+        R_Z80_8,               /* type */
+        0,                     /* rightshift */
+        0,                     /* size (0 = byte, 1 = short, 2 = long) */
+        8,                     /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_bitfield,    /* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_imm8",              /* name */
+        FALSE,                 /* partial_inplace */
+        0x00,                  /* src_mask */
+        0xff,                  /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  /* A 8 bit index register displacement relocation */
+  BFD_HOWTO (BFD_RELOC_Z80_DISP8,
+        R_Z80_8_DIS,           /* type */
+        0,                     /* rightshift */
+        0,                     /* size (0 = byte, 1 = short, 2 = long) */
+        8,                     /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_signed,      /* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_off",               /* name */
+        FALSE,                 /* partial_inplace */
+        0x00,                  /* src_mask */
+        0xff,                  /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  /* A 8 bit PC-rel relocation */
+  BFD_HOWTO (BFD_RELOC_8_PCREL,
+        R_Z80_8_PCREL,         /* type */
+        0,                     /* rightshift */
+        0,                     /* size (0 = byte, 1 = short, 2 = long) */
+        8,                     /* bitsize */
+        TRUE,                  /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_signed,      /* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_jr",                /* name */
+        FALSE,                 /* partial_inplace */
+        0x00,                  /* src_mask */
+        0xff,                  /* dst_mask */
+        TRUE),                 /* pcrel_offset */
+
+  /* An 16 bit absolute relocation */
+  BFD_HOWTO (BFD_RELOC_16,
+        R_Z80_16,              /* type */
+        0,                     /* rightshift */
+        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        16,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_bitfield,    /* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_imm16",             /* name */
+        FALSE,                 /* partial_inplace */
+        0x00000000,            /* src_mask */
+        0x0000ffff,            /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  /* A 24 bit absolute relocation emitted by ADL mode operands */
+  BFD_HOWTO (BFD_RELOC_24,
+        R_Z80_24,              /* type */
+        0,                     /* rightshift */
+        5,                     /* size (0 = byte, 1 = short, 2 = long) */
+        24,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_bitfield,    /* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_imm24",             /* name */
+        FALSE,                 /* partial_inplace */
+        0x00000000,            /* src_mask */
+        0x00ffffff,            /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  BFD_HOWTO (BFD_RELOC_32,
+        R_Z80_32,              /* type */
+        0,                     /* rightshift */
+        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont,/* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_imm32",             /* name */
+        FALSE,                 /* partial_inplace */
+        0x00000000,            /* src_mask */
+        0xffffffff,            /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  /* First (lowest) 8 bits of multibyte relocation */
+  BFD_HOWTO (BFD_RELOC_Z80_BYTE0,
+        R_Z80_BYTE0,           /* type */
+        0,                     /* rightshift */
+        0,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont,/* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_byte0",             /* name */
+        FALSE,                 /* partial_inplace */
+        0,                     /* src_mask */
+        0xff,                  /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  /* Second 8 bits of multibyte relocation */
+  BFD_HOWTO (BFD_RELOC_Z80_BYTE1,
+        R_Z80_BYTE1,           /* type */
+        8,                     /* rightshift */
+        0,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont,/* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_byte1",             /* name */
+        FALSE,                 /* partial_inplace */
+        0,                     /* src_mask */
+        0xff,                  /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  /* Third 8 bits of multibyte relocation */
+  BFD_HOWTO (BFD_RELOC_Z80_BYTE2,
+        R_Z80_BYTE2,           /* type */
+        16,                    /* rightshift */
+        0,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont,/* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_byte2",             /* name */
+        FALSE,                 /* partial_inplace */
+        0,                     /* src_mask */
+        0xff,                  /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  /* Fourth (highest) 8 bits of multibyte relocation */
+  BFD_HOWTO (BFD_RELOC_Z80_BYTE3,
+        R_Z80_BYTE3,           /* type */
+        24,                    /* rightshift */
+        0,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont,/* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_byte3",             /* name */
+        FALSE,                 /* partial_inplace */
+        0,                     /* src_mask */
+        0xff,                  /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  /* An 16 bit absolute relocation of lower word of multibyte value */
+  BFD_HOWTO (BFD_RELOC_Z80_WORD0,
+        R_Z80_WORD0,           /* type */
+        0,                     /* rightshift */
+        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont,/* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_word0",             /* name */
+        FALSE,                 /* partial_inplace */
+        0,                     /* src_mask */
+        0xffff,                /* dst_mask */
+        FALSE),                /* pcrel_offset */
+
+  /* An 16 bit absolute relocation of higher word of multibyte value */
+  BFD_HOWTO (BFD_RELOC_Z80_WORD1,
+        R_Z80_WORD1,           /* type */
+        16,                    /* rightshift */
+        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        32,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont,/* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "r_word1",             /* name */
+        FALSE,                 /* partial_inplace */
+        0,                     /* src_mask */
+        0xffff,                /* dst_mask */
+        FALSE),                /* pcrel_offset */
+};
+
+static reloc_howto_type *
+bfd_elf32_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
+                                 bfd_reloc_code_real_type code)
+{
+  enum
+    {
+      table_size = sizeof (elf_z80_howto_table) / sizeof (elf_z80_howto_table[0])
+    };
+  unsigned int i;
+
+  for (i = 0; i < table_size; i++)
+    {
+      if (elf_z80_howto_table[i].r_type == code)
+          return &elf_z80_howto_table[i].howto;
+    }
+
+  printf ("%s:%d Not found type %d\n", __FILE__, __LINE__, code);
+
+  return NULL;
+}
+
+static reloc_howto_type *
+bfd_elf32_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, const char *r_name)
+{
+  enum
+    {
+      table_size = sizeof (elf_z80_howto_table) / sizeof (elf_z80_howto_table[0])
+    };
+  unsigned int i;
+
+  for (i = 0; i < table_size; i++)
+    {
+      if (elf_z80_howto_table[i].howto.name != NULL
+          && strcasecmp (elf_z80_howto_table[i].howto.name, r_name) == 0)
+        return &elf_z80_howto_table[i].howto;
+    }
+
+  return NULL;
+}
+
+/* Set the howto pointer for an z80 ELF reloc.  */
+
+static bfd_boolean
+z80_info_to_howto_rel (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst)
+{
+  enum
+    {
+      table_size = sizeof (elf_z80_howto_table) / sizeof (elf_z80_howto_table[0])
+    };
+  unsigned int  i;
+  unsigned int  r_type = ELF32_R_TYPE (dst->r_info);
+
+  for (i = 0; i < table_size; i++)
+    {
+      if (elf_z80_howto_table[i].howto.type == r_type)
+        {
+          cache_ptr->howto = &elf_z80_howto_table[i].howto;
+          return TRUE;
+        }
+    }
+
+  /* xgettext:c-format */
+  _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+                      abfd, r_type);
+  bfd_set_error (bfd_error_bad_value);
+  return FALSE;
+}
+
+static bfd_boolean
+z80_elf_set_mach_from_flags (bfd *abfd)
+{
+  int mach;
+  switch (elf_elfheader (abfd)->e_flags)
+    {
+    case EF_Z80_MACH_GBZ80:
+      mach = bfd_mach_gbz80;
+      break;
+    case EF_Z80_MACH_Z80:
+      mach = bfd_mach_z80;
+      break;
+    case EF_Z80_MACH_Z180:
+      mach = bfd_mach_z180;
+      break;
+    case EF_Z80_MACH_EZ80_Z80:
+      mach = bfd_mach_ez80_z80;
+      break;
+    case EF_Z80_MACH_EZ80_ADL:
+      mach = bfd_mach_ez80_adl;
+      break;
+    case EF_Z80_MACH_R800:
+      mach = bfd_mach_r800;
+      break;
+    default:
+      mach = bfd_mach_z80;
+      break;
+    }
+
+  bfd_default_set_arch_mach (abfd, bfd_arch_z80, mach);
+  return TRUE;
+}
+
+static int
+z80_is_local_label_name (bfd *        abfd ATTRIBUTE_UNUSED,
+                         const char * name)
+{
+  return (name[0] == '.' && name[1] == 'L') ||
+         _bfd_elf_is_local_label_name (abfd, name);
+}
+
+
+#define ELF_ARCH               bfd_arch_z80
+#define ELF_MACHINE_CODE       EM_Z80
+#define ELF_MAXPAGESIZE                0x10000
+
+#define TARGET_LITTLE_SYM              z80_elf32_vec
+#define TARGET_LITTLE_NAME             "elf32-z80"
+
+#define elf_info_to_howto                      NULL
+#define elf_info_to_howto_rel                  z80_info_to_howto_rel
+#define elf_backend_object_p                   z80_elf_set_mach_from_flags
+#define bfd_elf32_bfd_is_local_label_name      z80_is_local_label_name
+
+#include "elf32-target.h"
index b781af2cf903471cbf95b0ad38d035c20919583c..d97d4e57a7749bfc5a9108cfeb4a535a24fc94c2 100644 (file)
@@ -2869,6 +2869,12 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_XTENSA_TLS_ARG",
   "BFD_RELOC_XTENSA_TLS_CALL",
   "BFD_RELOC_Z80_DISP8",
+  "BFD_RELOC_Z80_BYTE0",
+  "BFD_RELOC_Z80_BYTE1",
+  "BFD_RELOC_Z80_BYTE2",
+  "BFD_RELOC_Z80_BYTE3",
+  "BFD_RELOC_Z80_WORD0",
+  "BFD_RELOC_Z80_WORD1",
   "BFD_RELOC_Z8K_DISP7",
   "BFD_RELOC_Z8K_CALLR",
   "BFD_RELOC_Z8K_IMM4L",
index a84908b61ea956b489bd6fafa29938c29a6cb637..dc5ef9e5efa758b681bcce7bef828769b33d5c0c 100644 (file)
@@ -236,6 +236,7 @@ elf32-xc16x.c
 elf32-xgate.c
 elf32-xstormy16.c
 elf32-xtensa.c
+elf32-z80.c
 elf32.c
 elf64-alpha.c
 elf64-bpf.c
index 8ffdbd2a068192448f216e8e0726140a8097cbd9..40833e56f7a47ba245304504f865eee58a07bf4f 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2019-01-19 16:33+0000\n"
+"POT-Creation-Date: 2020-01-02 11:08+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -33,18 +33,18 @@ msgstr ""
 msgid "%pB: bad relocation record imported: %d"
 msgstr ""
 
-#: aoutx.h:1265 aoutx.h:1618 pdp11.c:1138 pdp11.c:1399
+#: aoutx.h:1265 aoutx.h:1618 pdp11.c:1139 pdp11.c:1392
 #, c-format
 msgid "%pB: can not represent section `%pA' in a.out object file format"
 msgstr ""
 
-#: aoutx.h:1582 pdp11.c:1371
+#: aoutx.h:1582 pdp11.c:1364
 #, c-format
 msgid ""
 "%pB: can not represent section for symbol `%s' in a.out object file format"
 msgstr ""
 
-#: aoutx.h:1585 vms-alpha.c:7860
+#: aoutx.h:1585 vms-alpha.c:7903
 msgid "*unknown*"
 msgstr ""
 
@@ -58,174 +58,184 @@ msgstr ""
 msgid "%pB: attempt to write out unknown reloc type"
 msgstr ""
 
-#: aoutx.h:4086
+#: aoutx.h:4085
 #, c-format
 msgid "%pB: unsupported relocation type"
 msgstr ""
 
 #. Unknown relocation.
-#: aoutx.h:4407 coff-alpha.c:601 coff-alpha.c:1514 coff-rs6000.c:2772
+#: aoutx.h:4406 coff-alpha.c:601 coff-alpha.c:1514 coff-rs6000.c:2776
 #: coff-sh.c:504 coff-tic4x.c:184 coff-tic54x.c:279 elf-hppa.h:798
-#: elf-hppa.h:826 elf-m10200.c:226 elf-m10300.c:812 elf32-arc.c:517
-#: elf32-arm.c:1943 elf32-avr.c:964 elf32-bfin.c:1061 elf32-bfin.c:4698
-#: elf32-cr16.c:653 elf32-cr16.c:683 elf32-cr16c.c:186 elf32-cris.c:467
-#: elf32-crx.c:429 elf32-csky.c:989 elf32-d10v.c:234 elf32-d30v.c:522
-#: elf32-d30v.c:544 elf32-dlx.c:548 elf32-epiphany.c:376 elf32-fr30.c:381
-#: elf32-frv.c:2558 elf32-frv.c:6262 elf32-ft32.c:306 elf32-h8300.c:302
-#: elf32-i386.c:401 elf32-ip2k.c:1245 elf32-iq2000.c:442 elf32-lm32.c:539
-#: elf32-m32c.c:305 elf32-m32r.c:1286 elf32-m32r.c:1311 elf32-m32r.c:2417
-#: elf32-m68hc11.c:390 elf32-m68hc12.c:510 elf32-m68k.c:352 elf32-mcore.c:354
-#: elf32-mcore.c:440 elf32-mep.c:389 elf32-metag.c:878 elf32-microblaze.c:692
+#: elf-hppa.h:826 elf-m10200.c:226 elf-m10300.c:812 elf32-arc.c:536
+#: elf32-arm.c:1985 elf32-avr.c:964 elf32-bfin.c:1062 elf32-bfin.c:4693
+#: elf32-cr16.c:654 elf32-cr16.c:684 elf32-cris.c:467 elf32-crx.c:429
+#: elf32-csky.c:990 elf32-d10v.c:234 elf32-d30v.c:522 elf32-d30v.c:544
+#: elf32-dlx.c:546 elf32-epiphany.c:376 elf32-fr30.c:381 elf32-frv.c:2558
+#: elf32-frv.c:6256 elf32-ft32.c:306 elf32-h8300.c:302 elf32-i386.c:401
+#: elf32-ip2k.c:1245 elf32-iq2000.c:442 elf32-lm32.c:538 elf32-m32c.c:305
+#: elf32-m32r.c:1286 elf32-m32r.c:1311 elf32-m32r.c:2417 elf32-m68hc11.c:390
+#: elf32-m68hc12.c:510 elf32-m68k.c:354 elf32-mcore.c:354 elf32-mcore.c:440
+#: elf32-mep.c:389 elf32-metag.c:878 elf32-microblaze.c:692
 #: elf32-microblaze.c:969 elf32-mips.c:2229 elf32-moxie.c:137
-#: elf32-msp430.c:648 elf32-msp430.c:658 elf32-mt.c:241 elf32-nds32.c:3236
-#: elf32-nds32.c:3262 elf32-nds32.c:5173 elf32-nios2.c:3015 elf32-or1k.c:1037
-#: elf32-pj.c:325 elf32-ppc.c:898 elf32-ppc.c:911 elf32-pru.c:420
-#: elf32-rl78.c:291 elf32-rx.c:313 elf32-rx.c:322 elf32-s12z.c:292
-#: elf32-s390.c:347 elf32-sh.c:438 elf32-spu.c:160 elf32-tic6x.c:1508
+#: elf32-msp430.c:651 elf32-msp430.c:661 elf32-mt.c:241 elf32-nds32.c:3240
+#: elf32-nds32.c:3266 elf32-nds32.c:5177 elf32-nios2.c:3015 elf32-or1k.c:1037
+#: elf32-pj.c:326 elf32-ppc.c:901 elf32-ppc.c:914 elf32-pru.c:423
+#: elf32-rl78.c:291 elf32-rx.c:313 elf32-rx.c:322 elf32-s12z.c:296
+#: elf32-s390.c:347 elf32-sh.c:440 elf32-spu.c:163 elf32-tic6x.c:1508
 #: elf32-tic6x.c:1518 elf32-tic6x.c:1537 elf32-tic6x.c:1547 elf32-tic6x.c:2642
-#: elf32-tilepro.c:803 elf32-v850.c:1899 elf32-v850.c:1921 elf32-v850.c:4270
-#: elf32-vax.c:290 elf32-visium.c:482 elf32-wasm32.c:105 elf32-xc16x.c:250
-#: elf32-xgate.c:418 elf32-xstormy16.c:395 elf32-xtensa.c:459
-#: elf32-xtensa.c:493 elf64-alpha.c:1112 elf64-alpha.c:4101 elf64-alpha.c:4249
-#: elf64-ia64-vms.c:254 elf64-ia64-vms.c:3440 elf64-mips.c:3958
-#: elf64-mips.c:3974 elf64-mmix.c:1264 elf64-nfp.c:238 elf64-ppc.c:921
-#: elf64-ppc.c:1209 elf64-ppc.c:1218 elf64-s390.c:328 elf64-s390.c:378
-#: elf64-x86-64.c:285 elfn32-mips.c:3786 elfxx-ia64.c:324 elfxx-riscv.c:955
-#: elfxx-sparc.c:589 elfxx-sparc.c:639 elfxx-tilegx.c:912 elfxx-tilegx.c:952
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2125
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2223 elf32-ia64.c:210
-#: elf32-ia64.c:3862 elf64-ia64.c:210 elf64-ia64.c:3862
+#: elf32-tilepro.c:803 elf32-v850.c:1898 elf32-v850.c:1920 elf32-v850.c:4268
+#: elf32-vax.c:290 elf32-visium.c:481 elf32-wasm32.c:105 elf32-xc16x.c:250
+#: elf32-xgate.c:418 elf32-xstormy16.c:395 elf32-xtensa.c:464
+#: elf32-xtensa.c:498 elf32-z80.c:320 elf64-alpha.c:1113 elf64-alpha.c:4102
+#: elf64-alpha.c:4250 elf64-bpf.c:322 elf64-ia64-vms.c:254
+#: elf64-ia64-vms.c:3438 elf64-mips.c:3958 elf64-mips.c:3974 elf64-mmix.c:1264
+#: elf64-nfp.c:238 elf64-ppc.c:1014 elf64-ppc.c:1349 elf64-ppc.c:1358
+#: elf64-s390.c:328 elf64-s390.c:378 elf64-x86-64.c:285 elfn32-mips.c:3786
+#: elfxx-ia64.c:324 elfxx-riscv.c:955 elfxx-sparc.c:589 elfxx-sparc.c:639
+#: elfxx-tilegx.c:912 elfxx-tilegx.c:952
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2215
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2313 elf32-ia64.c:210
+#: elf32-ia64.c:3858 elf64-ia64.c:210 elf64-ia64.c:3858
 #, c-format
 msgid "%pB: unsupported relocation type %#x"
 msgstr ""
 
-#: aoutx.h:5434 pdp11.c:3694
+#: aoutx.h:5432 pdp11.c:3685
 #, c-format
 msgid "%pB: relocatable link from %s to %s not supported"
 msgstr ""
 
-#: archive.c:2214
+#: arc-got.h:69
+#, c-format
+msgid "%pB: cannot allocate memory for local GOT entries"
+msgstr ""
+
+#: archive.c:2227
 msgid "warning: writing archive was slow: rewriting timestamp"
 msgstr ""
 
-#: archive.c:2330 linker.c:1429
+#: archive.c:2294 archive.c:2355 elflink.c:4437 linker.c:1428
 #, c-format
 msgid "%pB: plugin needed to handle lto object"
 msgstr ""
 
-#: archive.c:2559
+#: archive.c:2585
 msgid "Reading archive file mod timestamp"
 msgstr ""
 
-#: archive.c:2583
+#: archive.c:2609
 msgid "Writing updated armap timestamp"
 msgstr ""
 
-#: bfd.c:449
+#: bfd.c:673
 msgid "no error"
 msgstr ""
 
-#: bfd.c:450
+#: bfd.c:674
 msgid "system call error"
 msgstr ""
 
-#: bfd.c:451
+#: bfd.c:675
 msgid "invalid bfd target"
 msgstr ""
 
-#: bfd.c:452
+#: bfd.c:676
 msgid "file in wrong format"
 msgstr ""
 
-#: bfd.c:453
+#: bfd.c:677
 msgid "archive object file in wrong format"
 msgstr ""
 
-#: bfd.c:454
+#: bfd.c:678
 msgid "invalid operation"
 msgstr ""
 
-#: bfd.c:455
+#: bfd.c:679
 msgid "memory exhausted"
 msgstr ""
 
-#: bfd.c:456
+#: bfd.c:680
 msgid "no symbols"
 msgstr ""
 
-#: bfd.c:457
+#: bfd.c:681
 msgid "archive has no index; run ranlib to add one"
 msgstr ""
 
-#: bfd.c:458
+#: bfd.c:682
 msgid "no more archived files"
 msgstr ""
 
-#: bfd.c:459
+#: bfd.c:683
 msgid "malformed archive"
 msgstr ""
 
-#: bfd.c:460
+#: bfd.c:684
 msgid "DSO missing from command line"
 msgstr ""
 
-#: bfd.c:461
+#: bfd.c:685
 msgid "file format not recognized"
 msgstr ""
 
-#: bfd.c:462
+#: bfd.c:686
 msgid "file format is ambiguous"
 msgstr ""
 
-#: bfd.c:463
+#: bfd.c:687
 msgid "section has no contents"
 msgstr ""
 
-#: bfd.c:464
+#: bfd.c:688
 msgid "nonrepresentable section on output"
 msgstr ""
 
-#: bfd.c:465
+#: bfd.c:689
 msgid "symbol needs debug section which does not exist"
 msgstr ""
 
-#: bfd.c:466
+#: bfd.c:690
 msgid "bad value"
 msgstr ""
 
-#: bfd.c:467
+#: bfd.c:691
 msgid "file truncated"
 msgstr ""
 
-#: bfd.c:468
+#: bfd.c:692
 msgid "file too big"
 msgstr ""
 
-#: bfd.c:469
+#: bfd.c:693
+msgid "sorry, cannot handle this file"
+msgstr ""
+
+#: bfd.c:694
 #, c-format
 msgid "error reading %s: %s"
 msgstr ""
 
-#: bfd.c:470
+#: bfd.c:695
 msgid "#<invalid error code>"
 msgstr ""
 
-#: bfd.c:1429
+#: bfd.c:1654
 #, c-format
 msgid "BFD %s assertion fail %s:%d"
 msgstr ""
 
-#: bfd.c:1442
+#: bfd.c:1667
 #, c-format
 msgid "BFD %s internal error, aborting at %s:%d in %s\n"
 msgstr ""
 
-#: bfd.c:1447
+#: bfd.c:1672
 #, c-format
 msgid "BFD %s internal error, aborting at %s:%d\n"
 msgstr ""
 
-#: bfd.c:1449
+#: bfd.c:1674
 msgid "Please report this bug.\n"
 msgstr ""
 
@@ -256,7 +266,7 @@ msgid ""
 "to generate uncompressed binaries"
 msgstr ""
 
-#: coff-alpha.c:850 coff-alpha.c:887 coff-alpha.c:1957 coff-mips.c:950
+#: coff-alpha.c:850 coff-alpha.c:887 coff-alpha.c:1956 coff-mips.c:953
 msgid "GP relative relocation used when GP not defined"
 msgstr ""
 
@@ -264,110 +274,100 @@ msgstr ""
 msgid "using multiple gp values"
 msgstr ""
 
-#: coff-alpha.c:1501 coff-alpha.c:1507 elf.c:9100 elf32-mcore.c:100
-#: elf32-mcore.c:455 elf32-ppc.c:7697 elf32-ppc.c:8829 elf64-ppc.c:14411
+#: coff-alpha.c:1501 coff-alpha.c:1507 elf.c:9274 elf32-mcore.c:100
+#: elf32-mcore.c:455 elf32-ppc.c:7670 elf32-ppc.c:8821 elf64-ppc.c:15556
 #, c-format
 msgid "%pB: %s unsupported"
 msgstr ""
 
-#: coff-mips.c:640 elf32-mips.c:1742 elf32-score.c:430 elf32-score7.c:330
+#: coff-mips.c:643 elf32-mips.c:1742 elf32-score.c:430 elf32-score7.c:330
 #: elf64-mips.c:3451 elfn32-mips.c:3276
 msgid "GP relative relocation when _gp not defined"
 msgstr ""
 
-#: coff-rs6000.c:2858
+#: coff-rs6000.c:2862
 #, c-format
 msgid "%pB: TOC reloc at %#<PRIx64> to symbol `%s' with no TOC entry"
 msgstr ""
 
-#: coff-rs6000.c:3620 coff64-rs6000.c:2145
+#: coff-rs6000.c:3624 coff64-rs6000.c:2154
 #, c-format
 msgid "%pB: symbol `%s' has unrecognized smclas %d"
 msgstr ""
 
-#: coff-sh.c:780 elf32-sh.c:521
+#: coff-sh.c:778 elf32-sh.c:523
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: bad R_SH_USES offset"
 msgstr ""
 
-#: coff-sh.c:791
+#: coff-sh.c:789
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: R_SH_USES points to unrecognized insn %#x"
 msgstr ""
 
-#: coff-sh.c:809 elf32-sh.c:552
+#: coff-sh.c:807 elf32-sh.c:554
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: bad R_SH_USES load offset"
 msgstr ""
 
-#: coff-sh.c:834 elf32-sh.c:568
+#: coff-sh.c:832 elf32-sh.c:570
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: could not find expected reloc"
 msgstr ""
 
-#: coff-sh.c:851 elf32-sh.c:597
+#: coff-sh.c:849 elf32-sh.c:599
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: symbol in unexpected section"
 msgstr ""
 
-#: coff-sh.c:977 elf32-sh.c:727
+#: coff-sh.c:975 elf32-sh.c:729
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: could not find expected COUNT reloc"
 msgstr ""
 
-#: coff-sh.c:987 elf32-sh.c:738
+#: coff-sh.c:985 elf32-sh.c:740
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: bad count"
 msgstr ""
 
-#: coff-sh.c:1359 coff-sh.c:2647 elf32-sh.c:1142 elf32-sh.c:1512
+#: coff-sh.c:1357 coff-sh.c:2645 elf32-sh.c:1144 elf32-sh.c:1514
 #, c-format
 msgid "%pB: %#<PRIx64>: fatal: reloc overflow while relaxing"
 msgstr ""
 
-#: coff-sh.c:1454
+#: coff-sh.c:1452
 #, c-format
 msgid "%pB: fatal: generic symbols retrieved before relaxing"
 msgstr ""
 
-#: coff-sh.c:2785 cofflink.c:2965
+#: coff-sh.c:2783 cofflink.c:2970
 #, c-format
 msgid "%pB: illegal symbol index %ld in relocs"
 msgstr ""
 
-#: coff-tic4x.c:228 coff-tic54x.c:366 coffcode.h:5010
+#: coff-tic4x.c:228 coff-tic54x.c:366 coffcode.h:5008
 #, c-format
 msgid "%pB: warning: illegal symbol index %ld in relocs"
 msgstr ""
 
-#: coff-tic80.c:441
-#, c-format
-msgid "unsupported relocation type %#x"
-msgstr ""
-
-#: coff-tic80.c:672 cofflink.c:3127
-#, c-format
-msgid "%pB: bad reloc address %#<PRIx64> in section `%pA'"
-msgstr ""
-
-#: coffcode.h:954
+#: coffcode.h:952
 #, c-format
 msgid "%pB: unable to load COMDAT section name"
 msgstr ""
 
 #. Malformed input files can trigger this test.
 #. cf PR 21781.
-#: coffcode.h:989
+#: coffcode.h:987
 #, c-format
 msgid "%pB: error: unexpected symbol '%s' in COMDAT section"
 msgstr ""
 
-#: coffcode.h:1001
+#: coffcode.h:999
 #, c-format
 msgid "%pB: warning: COMDAT symbol '%s' does not match section name '%s'"
 msgstr ""
 
-#: coffcode.h:1011
+#: coffcode.h:1009
 #, c-format
 msgid "%pB: warning: no symbol for section '%s' found"
 msgstr ""
@@ -375,309 +375,326 @@ msgstr ""
 #. Generate a warning message rather using the 'unhandled'
 #. variable as this will allow some .sys files generate by
 #. other toolchains to be processed.  See bugzilla issue 196.
-#: coffcode.h:1237
+#: coffcode.h:1240
 #, c-format
 msgid "%pB: warning: ignoring section flag %s in section %s"
 msgstr ""
 
-#: coffcode.h:1306
+#: coffcode.h:1309
 #, c-format
 msgid "%pB (%s): section flag %s (%#lx) ignored"
 msgstr ""
 
-#: coffcode.h:1917
+#: coffcode.h:1920
 #, c-format
 msgid "%pB: warning: claims to have 0xffff relocs, without overflow"
 msgstr ""
 
-#: coffcode.h:2315
+#: coffcode.h:2329
 #, c-format
 msgid "unrecognized TI COFF target id '0x%x'"
 msgstr ""
 
-#: coffcode.h:2599
+#: coffcode.h:2607
 #, c-format
 msgid "%pB: reloc against a non-existent symbol index: %ld"
 msgstr ""
 
-#: coffcode.h:2910
+#: coffcode.h:2915
 #, c-format
 msgid "%pB: page size is too large (0x%x)"
 msgstr ""
 
-#: coffcode.h:3070
+#: coffcode.h:3075
 #, c-format
 msgid "%pB: too many sections (%d)"
 msgstr ""
 
-#: coffcode.h:3489
+#: coffcode.h:3494
 #, c-format
 msgid "%pB: section %pA: string table overflow at offset %ld"
 msgstr ""
 
-#: coffcode.h:3589
+#: coffcode.h:3594
 #, c-format
 msgid "%pB:%s section %s: alignment 2**%u not representable"
 msgstr ""
 
-#: coffcode.h:4276
+#: coffcode.h:4275
 #, c-format
 msgid "%pB: warning: line number count (%#lx) exceeds section size (%#lx)"
 msgstr ""
 
-#: coffcode.h:4291
+#: coffcode.h:4292
 #, c-format
 msgid "%pB: warning: line number table read failed"
 msgstr ""
 
-#: coffcode.h:4325 coffcode.h:4339
+#: coffcode.h:4326 coffcode.h:4340
 #, c-format
 msgid "%pB: warning: illegal symbol index 0x%lx in line number entry %d"
 msgstr ""
 
-#: coffcode.h:4353
+#: coffcode.h:4354
 #, c-format
 msgid "%pB: warning: illegal symbol in line number entry %d"
 msgstr ""
 
-#: coffcode.h:4366
+#: coffcode.h:4367
 #, c-format
 msgid "%pB: warning: duplicate line number information for `%s'"
 msgstr ""
 
-#: coffcode.h:4774
+#: coffcode.h:4772
 #, c-format
 msgid "%pB: unrecognized storage class %d for %s symbol `%s'"
 msgstr ""
 
-#: coffcode.h:4904
+#: coffcode.h:4902
 #, c-format
 msgid "warning: %pB: local symbol `%s' has no section"
 msgstr ""
 
-#: coffcode.h:5050
+#: coffcode.h:5048
 #, c-format
 msgid "%pB: illegal relocation type %d at address %#<PRIx64>"
 msgstr ""
 
-#: coffgen.c:178 elf.c:1216
+#: coffgen.c:179 elf.c:1248
 #, c-format
 msgid "%pB: unable to initialize compress status for section %s"
 msgstr ""
 
-#: coffgen.c:202 elf.c:1227
+#: coffgen.c:203 elf.c:1259
 #, c-format
 msgid "%pB: unable to initialize decompress status for section %s"
 msgstr ""
 
-#: coffgen.c:1657
+#: coffgen.c:1661
 #, c-format
 msgid "%pB: corrupt symbol count: %#<PRIx64>"
 msgstr ""
 
 #. PR 21013: Provide an error message when the alloc fails.
-#: coffgen.c:1666
+#: coffgen.c:1670
 #, c-format
 msgid ""
 "%pB: not enough memory to allocate space for %#<PRIx64> symbols of size "
 "%#<PRIx64>"
 msgstr ""
 
-#: coffgen.c:1735
+#: coffgen.c:1739
 #, c-format
 msgid "%pB: bad string table size %<PRIu64>"
 msgstr ""
 
-#: coffgen.c:1912 coffgen.c:1972 coffgen.c:1990 cofflink.c:2045 elf.c:1882
-#: xcofflink.c:4505
+#: coffgen.c:1908 coffgen.c:1968 coffgen.c:1986 cofflink.c:2049 elf.c:1925
+#: xcofflink.c:4506
 msgid "<corrupt>"
 msgstr ""
 
-#: coffgen.c:2114
+#: coffgen.c:2117
 #, c-format
 msgid "<corrupt info> %s"
 msgstr ""
 
-#: coffgen.c:2693 elflink.c:14322 linker.c:2959
+#: coffgen.c:2703 elflink.c:14461 linker.c:2960
 msgid "%F%P: already_linked_table: %E\n"
 msgstr ""
 
-#: coffgen.c:3034 elflink.c:13324
+#: coffgen.c:3044 elflink.c:13455
 #, c-format
 msgid "removing unused section '%pA' in file '%pB'"
 msgstr ""
 
-#: coffgen.c:3111 elflink.c:13542
+#: coffgen.c:3121 elflink.c:13673
 msgid "warning: gc-sections option ignored"
 msgstr ""
 
-#: cofflink.c:352
+#: cofflink.c:356
 #, c-format
 msgid "warning: symbol `%s' is both section and non-section"
 msgstr ""
 
-#: cofflink.c:454 elf64-ia64-vms.c:5203 elflink.c:4953
+#: cofflink.c:458 elf64-ia64-vms.c:5205 elflink.c:5023
 #, c-format
 msgid "warning: type of symbol `%s' changed from %d to %d in %pB"
 msgstr ""
 
-#: cofflink.c:2373
+#: cofflink.c:2377
 #, c-format
 msgid "%pB: relocs in section `%pA', but it has no contents"
 msgstr ""
 
-#: cofflink.c:2436 elflink.c:10810
+#: cofflink.c:2440 elflink.c:10947
 #, c-format
 msgid ""
 "%X`%s' referenced in section `%pA' of %pB: defined in discarded section `"
 "%pA' of %pB\n"
 msgstr ""
 
-#: cofflink.c:2734
+#: cofflink.c:2739
 #, c-format
 msgid "%pB: %pA: reloc overflow: %#x > 0xffff"
 msgstr ""
 
-#: cofflink.c:2742
+#: cofflink.c:2747
 #, c-format
 msgid "%pB: warning: %pA: line number overflow: %#x > 0xffff"
 msgstr ""
 
-#: coffswap.h:789
+#: cofflink.c:3132
+#, c-format
+msgid "%pB: bad reloc address %#<PRIx64> in section `%pA'"
+msgstr ""
+
+#: coffswap.h:783
 #, c-format
 msgid "%pB: warning: %s: line number overflow: 0x%lx > 0xffff"
 msgstr ""
 
-#: coffswap.h:803
+#: coffswap.h:797
 #, c-format
 msgid "%pB: %s: reloc overflow: 0x%lx > 0xffff"
 msgstr ""
 
-#: compress.c:260
+#: compress.c:268
+#, c-format
+msgid ""
+"error: %pB(%pA) section size (%#<PRIx64> bytes) is larger than file size "
+"(%#<PRIx64> bytes)"
+msgstr ""
+
+#: compress.c:279
 #, c-format
 msgid "error: %pB(%pA) is too large (%#<PRIx64> bytes)"
 msgstr ""
 
-#: cpu-arm.c:298 cpu-arm.c:310
+#: cpu-arm.c:303 cpu-arm.c:315
 #, c-format
 msgid ""
 "error: %pB is compiled for the EP9312, whereas %pB is compiled for XScale"
 msgstr ""
 
-#: cpu-arm.c:446
+#: cpu-arm.c:451
 #, c-format
 msgid "warning: unable to update contents of %s section in %pB"
 msgstr ""
 
-#: dwarf2.c:544
+#: dwarf2.c:543
 #, c-format
 msgid "DWARF error: can't find %s section."
 msgstr ""
 
-#: dwarf2.c:579
+#: dwarf2.c:578
 #, c-format
 msgid ""
 "DWARF error: offset (%<PRIu64>) greater than or equal to %s size (%<PRIu64>)"
 msgstr ""
 
-#: dwarf2.c:1107
+#: dwarf2.c:1165
 msgid "DWARF error: info pointer extends beyond end of attributes"
 msgstr ""
 
-#: dwarf2.c:1275
+#: dwarf2.c:1333
 #, c-format
 msgid "DWARF error: invalid or unhandled FORM value: %#x"
 msgstr ""
 
-#: dwarf2.c:1581
+#: dwarf2.c:1641
 msgid "DWARF error: mangled line number section (bad file number)"
 msgstr ""
 
-#: dwarf2.c:1926
+#: dwarf2.c:1989
 msgid "DWARF error: zero format count"
 msgstr ""
 
-#: dwarf2.c:1936
+#: dwarf2.c:1999
 #, c-format
 msgid "DWARF error: data count (%<PRIx64>) larger than buffer size"
 msgstr ""
 
-#: dwarf2.c:1977
+#: dwarf2.c:2040
 #, c-format
 msgid "DWARF error: unknown format content type %<PRIu64>"
 msgstr ""
 
-#: dwarf2.c:2057
+#: dwarf2.c:2107
 #, c-format
 msgid "DWARF error: line info section is too small (%<PRId64>)"
 msgstr ""
 
-#: dwarf2.c:2087
+#: dwarf2.c:2137
 #, c-format
 msgid ""
 "DWARF error: line info data is bigger (%#<PRIx64>) than the space remaining "
 "in the section (%#lx)"
 msgstr ""
 
-#: dwarf2.c:2100
+#: dwarf2.c:2150
 #, c-format
 msgid "DWARF error: unhandled .debug_line version %d"
 msgstr ""
 
-#: dwarf2.c:2110
+#: dwarf2.c:2160
 msgid "DWARF error: ran out of room reading prologue"
 msgstr ""
 
-#: dwarf2.c:2128
+#: dwarf2.c:2178
 #, c-format
 msgid "DWARF error: line info unsupported segment selector size %u"
 msgstr ""
 
-#: dwarf2.c:2155
+#: dwarf2.c:2205
 msgid "DWARF error: invalid maximum operations per instruction"
 msgstr ""
 
-#: dwarf2.c:2174
+#: dwarf2.c:2224
 msgid "DWARF error: ran out of room reading opcodes"
 msgstr ""
 
-#: dwarf2.c:2347
+#: dwarf2.c:2415
 msgid "DWARF error: mangled line number section"
 msgstr ""
 
-#: dwarf2.c:2852 dwarf2.c:2913
+#: dwarf2.c:2905
+msgid "DWARF error: abstract instance recursion detected"
+msgstr ""
+
+#: dwarf2.c:2939 dwarf2.c:3033
 msgid "DWARF error: invalid abstract instance DIE ref"
 msgstr ""
 
-#: dwarf2.c:2889
+#: dwarf2.c:2955
 #, c-format
 msgid "DWARF error: unable to read alt ref %<PRIu64>"
 msgstr ""
 
-#: dwarf2.c:2930 dwarf2.c:3103 dwarf2.c:3457
+#: dwarf2.c:3011
 #, c-format
-msgid "DWARF error: could not find abbrev number %u"
+msgid "DWARF error: unable to locate abstract instance DIE ref %<PRIu64>"
 msgstr ""
 
-#: dwarf2.c:2947
-msgid "DWARF error: abstract instance recursion detected"
+#: dwarf2.c:3050 dwarf2.c:3216 dwarf2.c:3571
+#, c-format
+msgid "DWARF error: could not find abbrev number %u"
 msgstr ""
 
-#: dwarf2.c:3376
+#: dwarf2.c:3490
 #, c-format
 msgid ""
 "DWARF error: found dwarf version '%u', this reader only handles version 2, "
 "3, 4 and 5 information"
 msgstr ""
 
-#: dwarf2.c:3420
+#: dwarf2.c:3534
 #, c-format
 msgid ""
 "DWARF error: found address size '%u', this reader can not handle sizes "
 "greater than '%u'"
 msgstr ""
 
-#: dwarf2.c:3523
+#: dwarf2.c:3638
 msgid ""
 "DWARF error: DW_AT_comp_dir attribute encountered with a non-string form"
 msgstr ""
@@ -780,55 +797,55 @@ msgstr ""
 msgid "error in %pB(%pA); no .eh_frame_hdr table will be created"
 msgstr ""
 
-#: elf-eh-frame.c:1539
+#: elf-eh-frame.c:1542
 #, c-format
 msgid "FDE encoding in %pB(%pA) prevents .eh_frame_hdr table being created"
 msgstr ""
 
-#: elf-eh-frame.c:1546
+#: elf-eh-frame.c:1549
 msgid ""
 "further warnings about FDE encoding preventing .eh_frame_hdr generation "
 "dropped"
 msgstr ""
 
-#: elf-eh-frame.c:1868
+#: elf-eh-frame.c:1872
 #, c-format
 msgid "%pB: %pA not in order"
 msgstr ""
 
-#: elf-eh-frame.c:1882
+#: elf-eh-frame.c:1886
 #, c-format
 msgid "%pB: %pA invalid input section size"
 msgstr ""
 
-#: elf-eh-frame.c:1890
+#: elf-eh-frame.c:1894
 #, c-format
 msgid "%pB: %pA points past end of text section"
 msgstr ""
 
-#: elf-eh-frame.c:2139
+#: elf-eh-frame.c:2147
 msgid "DW_EH_PE_datarel unspecified for this architecture"
 msgstr ""
 
-#: elf-eh-frame.c:2309
+#: elf-eh-frame.c:2317
 #, c-format
 msgid "invalid output section for .eh_frame_entry: %pA"
 msgstr ""
 
-#: elf-eh-frame.c:2332
+#: elf-eh-frame.c:2340
 #, c-format
 msgid "invalid contents in %pA section"
 msgstr ""
 
-#: elf-eh-frame.c:2488
+#: elf-eh-frame.c:2496
 msgid ".eh_frame_hdr entry overflow"
 msgstr ""
 
-#: elf-eh-frame.c:2490
+#: elf-eh-frame.c:2498
 msgid ".eh_frame_hdr refers to overlapping FDEs"
 msgstr ""
 
-#: elf-ifunc.c:149
+#: elf-ifunc.c:146
 #, c-format
 msgid ""
 "%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%pB' can "
@@ -836,49 +853,48 @@ msgid ""
 "pie\n"
 msgstr ""
 
-#: elf-m10200.c:434 elf-m10300.c:2147 elf32-avr.c:1510 elf32-bfin.c:3127
-#: elf32-cr16.c:1464 elf32-cr16c.c:783 elf32-cris.c:2033 elf32-crx.c:925
-#: elf32-d10v.c:512 elf32-epiphany.c:566 elf32-fr30.c:594 elf32-frv.c:4049
-#: elf32-ft32.c:494 elf32-h8300.c:523 elf32-ip2k.c:1482 elf32-iq2000.c:693
-#: elf32-lm32.c:1112 elf32-m32c.c:624 elf32-m32r.c:3045 elf32-m68hc1x.c:1266
-#: elf32-mep.c:526 elf32-metag.c:1990 elf32-microblaze.c:1631 elf32-moxie.c:288
-#: elf32-mt.c:402 elf32-nds32.c:6189 elf32-or1k.c:1759 elf32-score.c:2733
-#: elf32-score7.c:2542 elf32-spu.c:5083 elf32-tilepro.c:3506 elf32-v850.c:2291
-#: elf32-visium.c:681 elf32-xstormy16.c:931 elf64-mmix.c:1541
-#: elfxx-tilegx.c:3870
+#: elf-m10200.c:434 elf-m10300.c:2145 elf32-avr.c:1510 elf32-bfin.c:3122
+#: elf32-cr16.c:1465 elf32-cris.c:2033 elf32-crx.c:925 elf32-d10v.c:510
+#: elf32-epiphany.c:566 elf32-fr30.c:594 elf32-frv.c:4045 elf32-ft32.c:494
+#: elf32-h8300.c:523 elf32-ip2k.c:1482 elf32-iq2000.c:691 elf32-lm32.c:1112
+#: elf32-m32c.c:624 elf32-m32r.c:3045 elf32-m68hc1x.c:1272 elf32-mep.c:526
+#: elf32-metag.c:1990 elf32-microblaze.c:1631 elf32-moxie.c:288 elf32-mt.c:402
+#: elf32-nds32.c:6192 elf32-or1k.c:1759 elf32-score.c:2733 elf32-score7.c:2542
+#: elf32-spu.c:5086 elf32-tilepro.c:3505 elf32-v850.c:2290 elf32-visium.c:680
+#: elf32-xstormy16.c:929 elf64-bpf.c:487 elf64-mmix.c:1541 elfxx-tilegx.c:3869
 msgid "internal error: out of range error"
 msgstr ""
 
-#: elf-m10200.c:438 elf-m10300.c:2151 elf32-avr.c:1514 elf32-bfin.c:3131
-#: elf32-cr16.c:1468 elf32-cr16c.c:787 elf32-cris.c:2037 elf32-crx.c:929
-#: elf32-d10v.c:516 elf32-fr30.c:598 elf32-frv.c:4053 elf32-ft32.c:498
-#: elf32-h8300.c:527 elf32-iq2000.c:697 elf32-lm32.c:1116 elf32-m32c.c:628
-#: elf32-m32r.c:3049 elf32-m68hc1x.c:1270 elf32-mep.c:530 elf32-metag.c:1994
-#: elf32-microblaze.c:1635 elf32-moxie.c:292 elf32-msp430.c:1362
-#: elf32-nds32.c:6193 elf32-or1k.c:1763 elf32-score.c:2737 elf32-score7.c:2546
-#: elf32-spu.c:5087 elf32-tilepro.c:3510 elf32-v850.c:2295 elf32-visium.c:685
-#: elf32-xstormy16.c:935 elf64-mmix.c:1545 elfxx-mips.c:10469
-#: elfxx-tilegx.c:3874
+#: elf-m10200.c:438 elf-m10300.c:2149 elf32-avr.c:1514 elf32-bfin.c:3126
+#: elf32-cr16.c:1469 elf32-cris.c:2037 elf32-crx.c:929 elf32-d10v.c:514
+#: elf32-fr30.c:598 elf32-frv.c:4049 elf32-ft32.c:498 elf32-h8300.c:527
+#: elf32-iq2000.c:695 elf32-lm32.c:1116 elf32-m32c.c:628 elf32-m32r.c:3049
+#: elf32-m68hc1x.c:1276 elf32-mep.c:530 elf32-metag.c:1994
+#: elf32-microblaze.c:1635 elf32-moxie.c:292 elf32-msp430.c:1365
+#: elf32-nds32.c:6196 elf32-or1k.c:1763 elf32-score.c:2737 elf32-score7.c:2546
+#: elf32-spu.c:5090 elf32-tilepro.c:3509 elf32-v850.c:2294 elf32-visium.c:684
+#: elf32-xstormy16.c:933 elf64-mmix.c:1545 elfxx-mips.c:10575
+#: elfxx-tilegx.c:3873
 msgid "internal error: unsupported relocation error"
 msgstr ""
 
-#: elf-m10200.c:442 elf32-cr16.c:1472 elf32-cr16c.c:791 elf32-crx.c:933
-#: elf32-d10v.c:520 elf32-h8300.c:531 elf32-lm32.c:1120 elf32-m32r.c:3053
-#: elf32-m68hc1x.c:1274 elf32-microblaze.c:1639 elf32-nds32.c:6197
-#: elf32-score.c:2741 elf32-score7.c:2550 elf32-spu.c:5091
+#: elf-m10200.c:442 elf32-cr16.c:1473 elf32-crx.c:933 elf32-d10v.c:518
+#: elf32-h8300.c:531 elf32-lm32.c:1120 elf32-m32r.c:3053 elf32-m68hc1x.c:1280
+#: elf32-microblaze.c:1639 elf32-nds32.c:6200 elf32-score.c:2741
+#: elf32-score7.c:2550 elf32-spu.c:5094
 msgid "internal error: dangerous error"
 msgstr ""
 
-#: elf-m10200.c:446 elf-m10300.c:2168 elf32-avr.c:1522 elf32-bfin.c:3139
-#: elf32-cr16.c:1476 elf32-cr16c.c:795 elf32-cris.c:2045 elf32-crx.c:937
-#: elf32-d10v.c:524 elf32-epiphany.c:581 elf32-fr30.c:606 elf32-frv.c:4061
-#: elf32-ft32.c:506 elf32-h8300.c:535 elf32-ip2k.c:1497 elf32-iq2000.c:705
-#: elf32-lm32.c:1124 elf32-m32c.c:636 elf32-m32r.c:3057 elf32-m68hc1x.c:1278
-#: elf32-mep.c:538 elf32-metag.c:2002 elf32-microblaze.c:1643 elf32-moxie.c:300
-#: elf32-msp430.c:1370 elf32-mt.c:410 elf32-nds32.c:6201 elf32-or1k.c:1771
-#: elf32-score.c:2750 elf32-score7.c:2554 elf32-spu.c:5095 elf32-tilepro.c:3518
-#: elf32-v850.c:2315 elf32-visium.c:693 elf32-xstormy16.c:943 elf64-mmix.c:1553
-#: elfxx-tilegx.c:3882
+#: elf-m10200.c:446 elf-m10300.c:2166 elf32-avr.c:1522 elf32-bfin.c:3134
+#: elf32-cr16.c:1477 elf32-cris.c:2045 elf32-crx.c:937 elf32-d10v.c:522
+#: elf32-epiphany.c:581 elf32-fr30.c:606 elf32-frv.c:4057 elf32-ft32.c:506
+#: elf32-h8300.c:535 elf32-ip2k.c:1497 elf32-iq2000.c:703 elf32-lm32.c:1124
+#: elf32-m32c.c:636 elf32-m32r.c:3057 elf32-m68hc1x.c:1284 elf32-mep.c:538
+#: elf32-metag.c:2002 elf32-microblaze.c:1643 elf32-moxie.c:300
+#: elf32-msp430.c:1373 elf32-mt.c:410 elf32-nds32.c:6204 elf32-or1k.c:1771
+#: elf32-score.c:2750 elf32-score7.c:2554 elf32-spu.c:5098 elf32-tilepro.c:3517
+#: elf32-v850.c:2314 elf32-visium.c:692 elf32-xstormy16.c:941 elf64-bpf.c:500
+#: elf64-mmix.c:1553 elfxx-tilegx.c:3881
 msgid "internal error: unknown error"
 msgstr ""
 
@@ -887,40 +903,39 @@ msgstr ""
 msgid "%pB: unsupported transition from %s to %s"
 msgstr ""
 
-#: elf-m10300.c:1198
+#: elf-m10300.c:1196
 #, c-format
 msgid "%pB: %s' accessed both as normal and thread local symbol"
 msgstr ""
 
-#: elf-m10300.c:2094 elf32-arm.c:13246 elf32-i386.c:3409 elf32-m32r.c:2539
-#: elf32-m68k.c:3899 elf32-s390.c:3211 elf32-sh.c:3800 elf32-tilepro.c:3409
-#: elf32-xtensa.c:2965 elf64-s390.c:3161 elf64-x86-64.c:3846 elfxx-sparc.c:3906
-#: elfxx-tilegx.c:3793 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5261
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6807
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2279
+#: elf-m10300.c:2092 elf32-arm.c:13454 elf32-i386.c:3403 elf32-m32r.c:2539
+#: elf32-m68k.c:3912 elf32-s390.c:3210 elf32-sh.c:3802 elf32-tilepro.c:3408
+#: elf32-xtensa.c:2969 elf64-s390.c:3159 elf64-x86-64.c:3961 elfxx-sparc.c:3903
+#: elfxx-tilegx.c:3792 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5493
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7081
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): unresolvable %s relocation against symbol `%s'"
 msgstr ""
 
-#: elf-m10300.c:2156
+#: elf-m10300.c:2154
 msgid ""
 "error: inappropriate relocation type for shared library (did you forget -"
 "fpic?)"
 msgstr ""
 
-#: elf-m10300.c:2160
+#: elf-m10300.c:2158
 #, c-format
 msgid ""
 "%pB: taking the address of protected function '%s' cannot be done when "
 "making a shared library"
 msgstr ""
 
-#: elf-m10300.c:2163
+#: elf-m10300.c:2161
 msgid "internal error: suspicious relocation type used in shared library"
 msgstr ""
 
-#: elf-m10300.c:2649 elf32-avr.c:2492 elf32-frv.c:5641 elf64-ia64-vms.c:364
-#: elfxx-sparc.c:2795 reloc.c:8185 reloc16.c:155 elf32-ia64.c:361
+#: elf-m10300.c:2647 elf32-avr.c:2491 elf32-frv.c:5637 elf64-ia64-vms.c:364
+#: elfxx-sparc.c:2792 reloc.c:8216 reloc16.c:155 elf32-ia64.c:361
 #: elf64-ia64.c:361
 msgid "%P%F: --relax and -r may not be used together\n"
 msgstr ""
@@ -963,7 +978,7 @@ msgstr ""
 msgid "Removed property %W to merge %pB (0x%v) and %pB (not found)\n"
 msgstr ""
 
-#: elf-properties.c:316 elf-properties.c:396
+#: elf-properties.c:316 elf-properties.c:394
 msgid "Removed property %W to merge %pB and %pB\n"
 msgstr ""
 
@@ -971,421 +986,445 @@ msgstr ""
 msgid "Removed property %W to merge %pB and %pB (not found)\n"
 msgstr ""
 
-#: elf-properties.c:339
+#: elf-properties.c:337
 msgid "Updated property %W (0x%v) to merge %pB (0x%v) and %pB (0x%v)\n"
 msgstr ""
 
-#: elf-properties.c:348
+#: elf-properties.c:346
 msgid "Updated property %W (%v) to merge %pB (0x%v) and %pB (not found)\n"
 msgstr ""
 
-#: elf-properties.c:390
+#: elf-properties.c:388
 msgid "Removed property %W to merge %pB (not found) and %pB (0x%v)\n"
 msgstr ""
 
 #. Merge .note.gnu.property sections.
-#: elf-properties.c:552 elf-properties.c:554
+#: elf-properties.c:550 elf-properties.c:552
 msgid "\n"
 msgstr ""
 
-#: elf-properties.c:553
+#: elf-properties.c:551
 msgid "Merging program properties\n"
 msgstr ""
 
 #. PR 17512: file: f057ec89.
-#: elf.c:345
+#: elf.c:342
 #, c-format
 msgid "%pB: attempt to load strings from a non-string section (number %d)"
 msgstr ""
 
-#: elf.c:360
+#: elf.c:367
 #, c-format
 msgid "%pB: invalid string offset %u >= %<PRIu64> for section `%s'"
 msgstr ""
 
-#: elf.c:499 /work/sources/binutils/current/bfd/elfnn-aarch64.c:7891
+#: elf.c:506 /work/sources/binutils/current/bfd/elfnn-aarch64.c:8092
 #, c-format
 msgid "%pB symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
 msgstr ""
 
-#: elf.c:664
+#: elf.c:671
 #, c-format
 msgid "%pB: corrupt size field in group section header: %#<PRIx64>"
 msgstr ""
 
-#: elf.c:680
+#: elf.c:687
 #, c-format
 msgid "%pB: invalid size field in group section header: %#<PRIx64>"
 msgstr ""
 
-#: elf.c:728
+#: elf.c:735
 #, c-format
 msgid "%pB: invalid entry in SHT_GROUP section [%u]"
 msgstr ""
 
-#: elf.c:747
+#: elf.c:754
 #, c-format
 msgid "%pB: no valid group sections found"
 msgstr ""
 
 #. See PR 21957 for a reproducer.
-#: elf.c:776
+#: elf.c:783
 #, c-format
 msgid "%pB: group section '%pA' has no contents"
 msgstr ""
 
-#: elf.c:837
+#: elf.c:844
 #, c-format
 msgid "%pB: no group info for section '%pA'"
 msgstr ""
 
-#: elf.c:868 elf.c:3886 elflink.c:11403
+#: elf.c:875 elf.c:3953
 #, c-format
 msgid "%pB: warning: sh_link not set for section `%pA'"
 msgstr ""
 
-#: elf.c:888
+#: elf.c:895
 #, c-format
 msgid "%pB: sh_link [%d] in section `%pA' is incorrect"
 msgstr ""
 
-#: elf.c:901
+#: elf.c:908
 #, c-format
 msgid "%pB: SHT_GROUP section [index %d] has no SHF_GROUP sections"
 msgstr ""
 
-#: elf.c:922
+#: elf.c:929
 #, c-format
 msgid "%pB: section group entry number %u is corrupt"
 msgstr ""
 
-#: elf.c:945
+#: elf.c:952
 #, c-format
 msgid "%pB: unknown type [%#x] section `%s' in group [%pA]"
 msgstr ""
 
-#: elf.c:1408
+#: elf.c:1451
 #, c-format
 msgid "%pB: invalid sh_link field (%d) in section number %d"
 msgstr ""
 
-#: elf.c:1424
+#: elf.c:1467
 #, c-format
 msgid "%pB: failed to find link section for section %d"
 msgstr ""
 
-#: elf.c:1451
+#: elf.c:1494
 #, c-format
 msgid "%pB: failed to find info section for section %d"
 msgstr ""
 
-#: elf.c:1623
+#: elf.c:1666
 #, c-format
 msgid ""
 "\n"
 "Program Header:\n"
 msgstr ""
 
-#: elf.c:1665
+#: elf.c:1708
 #, c-format
 msgid ""
 "\n"
 "Dynamic Section:\n"
 msgstr ""
 
-#: elf.c:1806
+#: elf.c:1849
 #, c-format
 msgid ""
 "\n"
 "Version definitions:\n"
 msgstr ""
 
-#: elf.c:1831
+#: elf.c:1874
 #, c-format
 msgid ""
 "\n"
 "Version References:\n"
 msgstr ""
 
-#: elf.c:1836
+#: elf.c:1879
 #, c-format
 msgid "  required from %s:\n"
 msgstr ""
 
-#: elf.c:2037
+#: elf.c:2079
 #, c-format
 msgid "%pB: warning: loop in section dependencies detected"
 msgstr ""
 
-#: elf.c:2145
+#: elf.c:2187
 #, c-format
 msgid ""
 "%pB: warning: multiple symbol tables detected - ignoring the table in "
 "section %u"
 msgstr ""
 
-#: elf.c:2229
+#: elf.c:2271
 #, c-format
 msgid ""
 "%pB: warning: multiple dynamic symbol tables detected - ignoring the table "
 "in section %u"
 msgstr ""
 
-#: elf.c:2342
+#: elf.c:2384
 #, c-format
 msgid "%pB: invalid link %u for reloc section %s (index %u)"
 msgstr ""
 
-#: elf.c:2504 elf.c:2519 elf.c:2530 elf.c:2543
+#: elf.c:2473
+#, c-format
+msgid ""
+"%pB: warning: multiple relocation sections for section %pA found - ignoring "
+"all but the first"
+msgstr ""
+
+#: elf.c:2555 elf.c:2570 elf.c:2581 elf.c:2594
 #, c-format
 msgid "%pB: unknown type [%#x] section `%s'"
 msgstr ""
 
-#: elf.c:3248
+#: elf.c:3314
 #, c-format
 msgid "%pB: error: alignment power %d of section `%pA' is too big"
 msgstr ""
 
-#: elf.c:3278
+#: elf.c:3344
 #, c-format
 msgid "warning: section `%pA' type changed to PROGBITS"
 msgstr ""
 
-#: elf.c:3754
+#: elf.c:3821
 #, c-format
 msgid "%pB: too many sections: %u"
 msgstr ""
 
-#: elf.c:3839
+#: elf.c:3906
 #, c-format
 msgid ""
 "%pB: sh_link of section `%pA' points to discarded section `%pA' of `%pB'"
 msgstr ""
 
-#: elf.c:3864
+#: elf.c:3931
 #, c-format
 msgid "%pB: sh_link of section `%pA' points to removed section `%pA' of `%pB'"
 msgstr ""
 
-#: elf.c:4430
+#: elf.c:4494
 #, c-format
-msgid "%pB: GNU_MBIN section `%pA' has invalid sh_info field: %d"
+msgid "%pB: GNU_MBIND section `%pA' has invalid sh_info field: %d"
 msgstr ""
 
-#: elf.c:5013
+#: elf.c:5082
 #, c-format
 msgid "%pB: TLS sections are not adjacent:"
 msgstr ""
 
-#: elf.c:5020
+#: elf.c:5089
 #, c-format
 msgid "\t    TLS: %pA"
 msgstr ""
 
-#: elf.c:5024
+#: elf.c:5093
 #, c-format
 msgid "\tnon-TLS: %pA"
 msgstr ""
 
-#: elf.c:5538
+#: elf.c:5671
 #, c-format
 msgid ""
 "%pB: The first section in the PT_DYNAMIC segment is not the .dynamic section"
 msgstr ""
 
-#: elf.c:5566
+#: elf.c:5697
 #, c-format
 msgid "%pB: not enough room for program headers, try linking with -N"
 msgstr ""
 
-#: elf.c:5654
+#: elf.c:5808
 #, c-format
 msgid "%pB: section %pA lma %#<PRIx64> adjusted to %#<PRIx64>"
 msgstr ""
 
-#: elf.c:5791
+#. The fix for this error is usually to edit the linker script being
+#. used and set up the program headers manually.  Either that or
+#. leave room for the headers at the start of the SECTIONS.
+#: elf.c:5928
+#, c-format
+msgid "%pB: error: PHDR segment not covered by LOAD segment"
+msgstr ""
+
+#: elf.c:5964
 #, c-format
 msgid "%pB: section `%pA' can't be allocated in segment %d"
 msgstr ""
 
-#: elf.c:5839
+#: elf.c:6095
 #, c-format
 msgid "%pB: warning: allocated section `%s' not in segment"
 msgstr ""
 
-#: elf.c:6072
+#: elf.c:6256
 #, c-format
 msgid ""
 "%pB: error: non-load segment %d includes file header and/or program header"
 msgstr ""
 
-#. The fix for this error is usually to edit the linker script being
-#. used and set up the program headers manually.  Either that or
-#. leave room for the headers at the start of the SECTIONS.
-#: elf.c:6249
-#, c-format
-msgid "%pB: error: PHDR segment not covered by LOAD segment"
-msgstr ""
-
-#: elf.c:6606
+#: elf.c:6760
 #, c-format
 msgid "%pB: symbol `%s' required but not present"
 msgstr ""
 
-#: elf.c:6949
+#: elf.c:7102
 #, c-format
 msgid ""
 "%pB: warning: empty loadable segment detected at vaddr=%#<PRIx64>, is this "
 "intentional?"
 msgstr ""
 
-#: elf.c:7574
+#: elf.c:7722
 #, c-format
 msgid "%pB: warning: segment alignment of %#<PRIx64> is too large"
 msgstr ""
 
-#: elf.c:8073
+#: elf.c:8222
 #, c-format
 msgid ""
 "unable to find equivalent output section for symbol '%s' from section '%s'"
 msgstr ""
 
-#: elf.c:8421
+#: elf.c:8577
 #, c-format
 msgid "%pB: .gnu.version_r invalid entry"
 msgstr ""
 
-#: elf.c:8548
+#: elf.c:8593
+#, c-format
+msgid "error: %pB version reference section is too large (%#<PRIx64> bytes)"
+msgstr ""
+
+#: elf.c:8716
 #, c-format
 msgid "%pB: .gnu.version_d invalid entry"
 msgstr ""
 
-#: elf32-arc.c:440 elf32-frv.c:6630 elf32-iq2000.c:870 elf32-m32c.c:914
-#: elf32-mt.c:562 elf32-rl78.c:1260 elf32-rx.c:3199 elf32-visium.c:841
-#: elf64-ppc.c:4950
+#: elf.c:12238
+msgid "GNU_MBIND section is unsupported"
+msgstr ""
+
+#: elf.c:12240
+msgid "symbol type STT_GNU_IFUNC is unsupported"
+msgstr ""
+
+#: elf.c:12242
+msgid "symbol binding STB_GNU_UNIQUE is unsupported"
+msgstr ""
+
+#: elf32-arc.c:459 elf32-frv.c:6624 elf32-iq2000.c:868 elf32-m32c.c:914
+#: elf32-mt.c:562 elf32-rl78.c:1260 elf32-rx.c:3199 elf32-visium.c:844
+#: elf64-ppc.c:5278
 #, c-format
 msgid "private flags = 0x%lx:"
 msgstr ""
 
-#: elf32-arc.c:627
+#: elf32-arc.c:646
 #, c-format
 msgid "warning: %pB: conflicting platform configuration %s with %s"
 msgstr ""
 
-#: elf32-arc.c:646
+#: elf32-arc.c:665
 #, c-format
 msgid "error: %pB: unable to merge CPU base attributes %s with %s"
 msgstr ""
 
-#: elf32-arc.c:683
+#: elf32-arc.c:702
 #, c-format
 msgid "error: %pB: unable to merge ISA extension attributes %s"
 msgstr ""
 
-#: elf32-arc.c:707
+#: elf32-arc.c:726
 #, c-format
 msgid "error: %pB: conflicting ISA extension attributes %s with %s"
 msgstr ""
 
-#: elf32-arc.c:747
+#: elf32-arc.c:766
 #, c-format
 msgid "error: %pB: cannot mix rf16 with full register set %pB"
 msgstr ""
 
-#: elf32-arc.c:775
+#: elf32-arc.c:794
 #, c-format
 msgid "error: %pB: conflicting attributes %s: %s with %s"
 msgstr ""
 
-#: elf32-arc.c:802
+#: elf32-arc.c:821
 #, c-format
 msgid "error: %pB: conflicting attributes %s"
 msgstr ""
 
-#: elf32-arc.c:907
+#: elf32-arc.c:926
 #, c-format
 msgid ""
 "error: attempting to link %pB with a binary %pB of different architecture"
 msgstr ""
 
-#: elf32-arc.c:923 elf32-iq2000.c:846 elf32-m32c.c:889 elf32-m68hc1x.c:1385
-#: elf32-ppc.c:3865 elf64-sparc.c:711 elfxx-mips.c:15354
+#: elf32-arc.c:942 elf32-iq2000.c:844 elf32-m32c.c:889 elf32-m68hc1x.c:1391
+#: elf32-ppc.c:3859 elf64-sparc.c:727 elfxx-mips.c:15519
 #, c-format
 msgid "%pB: uses different e_flags (%#x) fields than previous modules (%#x)"
 msgstr ""
 
-#: elf32-arc.c:1012
+#: elf32-arc.c:1031
 msgid "error: the ARC4 architecture is no longer supported"
 msgstr ""
 
-#: elf32-arc.c:1018
+#: elf32-arc.c:1037
 msgid "warning: unset or old architecture flags; use default machine"
 msgstr ""
 
-#: elf32-arc.c:1151
+#: elf32-arc.c:1163
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): CMEM relocation to `%s' is invalid, 16 MSB should be "
 "%#x (value is %#<PRIx64>)"
 msgstr ""
 
-#: elf32-arc.c:1162
+#: elf32-arc.c:1174
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): CMEM relocation to `%s+%#<PRIx64>' is invalid, 16 MSB "
 "should be %#x (value is %#<PRIx64>)"
 msgstr ""
 
-#: elf32-arc.c:1876
+#: elf32-arc.c:1888
 msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker"
 msgstr ""
 
-#: elf32-arc.c:1900 elf32-rl78.c:1098 elf32-rx.c:1470
+#: elf32-arc.c:1912 elf32-rl78.c:1098 elf32-rx.c:1470
 #, c-format
 msgid ""
 "%pB(%pA): warning: unaligned access to symbol '%s' in the small data area"
 msgstr ""
 
-#: elf32-arc.c:1905 elf32-rl78.c:1103 elf32-rx.c:1475
+#: elf32-arc.c:1917 elf32-rl78.c:1103 elf32-rx.c:1475
 #, c-format
 msgid "%pB(%pA): internal error: out of range error"
 msgstr ""
 
-#: elf32-arc.c:1910 elf32-rl78.c:1108 elf32-rx.c:1480
+#: elf32-arc.c:1922 elf32-rl78.c:1108 elf32-rx.c:1480
 #, c-format
 msgid "%pB(%pA): internal error: unsupported relocation error"
 msgstr ""
 
-#: elf32-arc.c:1915 elf32-rl78.c:1113 elf32-rx.c:1485
+#: elf32-arc.c:1927 elf32-rl78.c:1113 elf32-rx.c:1485
 #, c-format
 msgid "%pB(%pA): internal error: dangerous relocation"
 msgstr ""
 
-#: elf32-arc.c:1920 elf32-rl78.c:1118 elf32-rx.c:1490
+#: elf32-arc.c:1932 elf32-rl78.c:1118 elf32-rx.c:1490
 #, c-format
 msgid "%pB(%pA): internal error: unknown error"
 msgstr ""
 
-#: elf32-arc.c:2013 elf32-arc.c:2081 elf32-arm.c:15323 elf32-metag.c:2257
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7462
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:497
+#: elf32-arc.c:2025 elf32-arc.c:2093 elf32-arm.c:15567 elf32-metag.c:2257
+#: elf32-nds32.c:5642 /work/sources/binutils/current/bfd/elfnn-aarch64.c:7735
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:510
 #, c-format
 msgid ""
 "%pB: relocation %s against `%s' can not be used when making a shared object; "
 "recompile with -fPIC"
 msgstr ""
 
-#: elf32-arc.c:2949
+#: elf32-arc.c:2961
 #, c-format
 msgid "%pB: unknown mandatory ARC object attribute %d"
 msgstr ""
 
-#: elf32-arc.c:2957
+#: elf32-arc.c:2969
 #, c-format
 msgid "warning: %pB: unknown ARC object attribute %d"
 msgstr ""
 
-#: elf32-arm.c:4304 elf32-arm.c:4338 elf32-arm.c:4357 elf32-arm.c:4409
+#: elf32-arm.c:4361 elf32-arm.c:4395 elf32-arm.c:4414 elf32-arm.c:4466
 #, c-format
 msgid ""
 "%pB(%pA): warning: long branch veneers used in section with SHF_ARM_PURECODE "
@@ -1393,141 +1432,148 @@ msgid ""
 "movw instruction"
 msgstr ""
 
-#: elf32-arm.c:4369 elf32-arm.c:4423 elf32-arm.c:9093 elf32-arm.c:9183
+#: elf32-arm.c:4426 elf32-arm.c:4480 elf32-arm.c:9175 elf32-arm.c:9265
 #, c-format
 msgid ""
 "%pB(%s): warning: interworking not enabled; first occurrence: %pB: %s call "
 "to %s"
 msgstr ""
 
-#: elf32-arm.c:4697
+#: elf32-arm.c:4606
+#, c-format
+msgid ""
+"ERROR: CMSE stub (%s section) too far (%#<PRIx64>) from destination "
+"(%#<PRIx64>)"
+msgstr ""
+
+#: elf32-arm.c:4775
 #, c-format
 msgid "no address assigned to the veneers output section %s"
 msgstr ""
 
-#: elf32-arm.c:4772 elf32-arm.c:6909 elf32-csky.c:3287 elf32-hppa.c:579
-#: elf32-m68hc1x.c:165 elf32-metag.c:1186 elf32-nios2.c:2208 elf64-ppc.c:3501
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:3098
+#: elf32-arm.c:4850 elf32-arm.c:6991 elf32-csky.c:3286 elf32-hppa.c:588
+#: elf32-m68hc1x.c:165 elf32-metag.c:1186 elf32-nios2.c:2208 elf64-ppc.c:3746
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:3236
 #, c-format
 msgid "%pB: cannot create stub entry %s"
 msgstr ""
 
-#: elf32-arm.c:5957
+#: elf32-arm.c:6033
 #, c-format
 msgid "%pB: special symbol `%s' only allowed for ARMv8-M architecture or later"
 msgstr ""
 
-#: elf32-arm.c:5966
+#: elf32-arm.c:6042
 #, c-format
 msgid ""
 "%pB: invalid special symbol `%s'; it must be a global or weak function symbol"
 msgstr ""
 
-#: elf32-arm.c:6005
+#: elf32-arm.c:6081
 #, c-format
 msgid ""
 "%pB: invalid standard symbol `%s'; it must be a global or weak function "
 "symbol"
 msgstr ""
 
-#: elf32-arm.c:6011
+#: elf32-arm.c:6087
 #, c-format
 msgid "%pB: absent standard symbol `%s'"
 msgstr ""
 
-#: elf32-arm.c:6023
+#: elf32-arm.c:6099
 #, c-format
 msgid "%pB: `%s' and its special symbol are in different sections"
 msgstr ""
 
-#: elf32-arm.c:6035
+#: elf32-arm.c:6111
 #, c-format
 msgid "%pB: entry function `%s' not output"
 msgstr ""
 
-#: elf32-arm.c:6042
+#: elf32-arm.c:6118
 #, c-format
 msgid "%pB: entry function `%s' is empty"
 msgstr ""
 
-#: elf32-arm.c:6171
+#: elf32-arm.c:6247
 #, c-format
 msgid "%pB: --in-implib only supported for Secure Gateway import libraries"
 msgstr ""
 
-#: elf32-arm.c:6217
+#: elf32-arm.c:6296
 #, c-format
 msgid ""
 "%pB: invalid import library entry: `%s'; symbol should be absolute, global "
 "and refer to Thumb functions"
 msgstr ""
 
-#: elf32-arm.c:6239
+#: elf32-arm.c:6318
 #, c-format
 msgid "entry function `%s' disappeared from secure code"
 msgstr ""
 
-#: elf32-arm.c:6263
+#: elf32-arm.c:6342
 #, c-format
 msgid "`%s' refers to a non entry function"
 msgstr ""
 
-#: elf32-arm.c:6278
+#: elf32-arm.c:6357
 #, c-format
 msgid "%pB: visibility of symbol `%s' has changed"
 msgstr ""
 
-#: elf32-arm.c:6287
+#: elf32-arm.c:6366
 #, c-format
 msgid "%pB: incorrect size for symbol `%s'"
 msgstr ""
 
-#: elf32-arm.c:6306
+#: elf32-arm.c:6385
 #, c-format
 msgid "offset of veneer for entry function `%s' not a multiple of its size"
 msgstr ""
 
-#: elf32-arm.c:6326
+#: elf32-arm.c:6405
 msgid ""
 "new entry function(s) introduced but no output import library specified:"
 msgstr ""
 
-#: elf32-arm.c:6334
+#: elf32-arm.c:6413
 #, c-format
 msgid "start address of `%s' is different from previous link"
 msgstr ""
 
-#: elf32-arm.c:7042 elf32-arm.c:7078
+#: elf32-arm.c:7124 elf32-arm.c:7160
 #, c-format
 msgid "unable to find %s glue '%s' for '%s'"
 msgstr ""
 
-#: elf32-arm.c:7793
+#: elf32-arm.c:7875
 #, c-format
 msgid "%pB: BE8 images only valid in big-endian mode"
 msgstr ""
 
 #. Give a warning, but do as the user requests anyway.
-#: elf32-arm.c:8024
+#: elf32-arm.c:8106
 #, c-format
 msgid ""
 "%pB: warning: selected VFP11 erratum workaround is not necessary for target "
 "architecture"
 msgstr ""
 
-#: elf32-arm.c:8051
+#: elf32-arm.c:8133
 #, c-format
 msgid ""
 "%pB: warning: selected STM32L4XX erratum workaround is not necessary for "
 "target architecture"
 msgstr ""
 
-#: elf32-arm.c:8588 elf32-arm.c:8608 elf32-arm.c:8674 elf32-arm.c:8693
+#: elf32-arm.c:8670 elf32-arm.c:8690 elf32-arm.c:8756 elf32-arm.c:8775
 #, c-format
 msgid "%pB: unable to find %s veneer `%s'"
 msgstr ""
 
-#: elf32-arm.c:8900
+#: elf32-arm.c:8982
 #, c-format
 msgid ""
 "%pB(%pA+%#x): error: multiple load detected in non-last IT block "
@@ -1535,202 +1581,202 @@ msgid ""
 "it to generate only one instruction per IT block"
 msgstr ""
 
-#: elf32-arm.c:9000
+#: elf32-arm.c:9082
 #, c-format
 msgid "invalid TARGET2 relocation type '%s'"
 msgstr ""
 
 #. FIXME: We ought to be able to generate thumb-1 PLT
 #. instructions...
-#: elf32-arm.c:9802
+#: elf32-arm.c:9884
 #, c-format
 msgid "%pB: warning: thumb-1 mode PLT generation not currently supported"
 msgstr ""
 
-#: elf32-arm.c:10106 elf32-arm.c:10148
+#: elf32-arm.c:10188 elf32-arm.c:10230
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): unexpected %s instruction '%#lx' in TLS trampoline"
 msgstr ""
 
-#: elf32-arm.c:10492
+#: elf32-arm.c:10574
 msgid "shared object"
 msgstr ""
 
-#: elf32-arm.c:10495
+#: elf32-arm.c:10577
 msgid "PIE executable"
 msgstr ""
 
-#: elf32-arm.c:10498
+#: elf32-arm.c:10580
 #, c-format
 msgid ""
 "%pB: relocation %s against external or undefined symbol `%s' can not be used "
 "when making a %s; recompile with -fPIC"
 msgstr ""
 
-#: elf32-arm.c:10635 elf32-arm.c:11062
+#: elf32-arm.c:10717 elf32-arm.c:11144
 #, c-format
 msgid "%pB: warning: %s BLX instruction targets %s function '%s'"
 msgstr ""
 
-#: elf32-arm.c:11975 elf32-arm.c:12001
+#: elf32-arm.c:12057 elf32-arm.c:12083
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): unexpected %s instruction '%#lx' referenced by "
 "TLS_GOTDESC"
 msgstr ""
 
-#: elf32-arm.c:12047 elf32-csky.c:4853 elf32-m68k.c:3703 elf32-metag.c:1919
-#: elf32-nios2.c:4366
+#: elf32-arm.c:12129 elf32-csky.c:4852 elf32-m68k.c:3716 elf32-metag.c:1919
+#: elf32-nios2.c:4378
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): %s relocation not permitted in shared object"
 msgstr ""
 
-#: elf32-arm.c:12261
+#: elf32-arm.c:12343
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): only ADD or SUB instructions are allowed for ALU group "
 "relocations"
 msgstr ""
 
-#: elf32-arm.c:12302 elf32-arm.c:12394 elf32-arm.c:12482 elf32-arm.c:12572
+#: elf32-arm.c:12384 elf32-arm.c:12476 elf32-arm.c:12564 elf32-arm.c:12654
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): overflow whilst splitting %#<PRIx64> for group "
 "relocation %s"
 msgstr ""
 
-#: elf32-arm.c:13078 elf32-sh.c:3689
+#: elf32-arm.c:13286 elf32-sh.c:3691
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): %s relocation against SEC_MERGE section"
 msgstr ""
 
-#: elf32-arm.c:13191 elf32-m68k.c:3936 elf32-xtensa.c:2703
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6534
+#: elf32-arm.c:13399 elf32-m68k.c:3949 elf32-xtensa.c:2707
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6808
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): %s used with TLS symbol %s"
 msgstr ""
 
-#: elf32-arm.c:13193 elf32-m68k.c:3938 elf32-xtensa.c:2705
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6536
+#: elf32-arm.c:13401 elf32-m68k.c:3951 elf32-xtensa.c:2709
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6810
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): %s used with non-TLS symbol %s"
 msgstr ""
 
-#: elf32-arm.c:13276 elf32-tic6x.c:2708
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6871
+#: elf32-arm.c:13484 elf32-tic6x.c:2708
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7145
 msgid "out of range"
 msgstr ""
 
-#: elf32-arm.c:13280 elf32-nios2.c:4500 elf32-pru.c:933 elf32-tic6x.c:2712
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6875
+#: elf32-arm.c:13488 elf32-nios2.c:4512 elf32-pru.c:936 elf32-tic6x.c:2712
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7149
 msgid "unsupported relocation"
 msgstr ""
 
-#: elf32-arm.c:13288 elf32-nios2.c:4510 elf32-pru.c:943 elf32-tic6x.c:2720
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6883
+#: elf32-arm.c:13496 elf32-nios2.c:4522 elf32-pru.c:946 elf32-tic6x.c:2720
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7157
 msgid "unknown error"
 msgstr ""
 
-#: elf32-arm.c:13764
+#: elf32-arm.c:13974
 #, c-format
 msgid ""
 "warning: not setting interworking flag of %pB since it has already been "
 "specified as non-interworking"
 msgstr ""
 
-#: elf32-arm.c:13768
+#: elf32-arm.c:13978
 #, c-format
 msgid "warning: clearing the interworking flag of %pB due to outside request"
 msgstr ""
 
-#: elf32-arm.c:13813
+#: elf32-arm.c:14023
 #, c-format
 msgid ""
 "warning: clearing the interworking flag of %pB because non-interworking code "
 "in %pB has been linked with it"
 msgstr ""
 
-#: elf32-arm.c:13900
+#: elf32-arm.c:14110
 #, c-format
 msgid "%pB: unknown mandatory EABI object attribute %d"
 msgstr ""
 
-#: elf32-arm.c:13908
+#: elf32-arm.c:14118
 #, c-format
 msgid "warning: %pB: unknown EABI object attribute %d"
 msgstr ""
 
-#: elf32-arm.c:14175
+#: elf32-arm.c:14418
 #, c-format
 msgid "error: %pB: unknown CPU architecture"
 msgstr ""
 
-#: elf32-arm.c:14213 elf32-nios2.c:2946
+#: elf32-arm.c:14456 elf32-nios2.c:2946
 #, c-format
 msgid "error: %pB: conflicting CPU architectures %d/%d"
 msgstr ""
 
-#: elf32-arm.c:14310
+#: elf32-arm.c:14553
 #, c-format
 msgid ""
 "Error: %pB has both the current and legacy Tag_MPextension_use attributes"
 msgstr ""
 
-#: elf32-arm.c:14339
+#: elf32-arm.c:14582
 #, c-format
 msgid "error: %pB uses VFP register arguments, %pB does not"
 msgstr ""
 
-#: elf32-arm.c:14497
+#: elf32-arm.c:14741
 #, c-format
 msgid "error: %pB: unable to merge virtualization attributes with %pB"
 msgstr ""
 
-#: elf32-arm.c:14523
+#: elf32-arm.c:14767
 #, c-format
 msgid "error: %pB: conflicting architecture profiles %c/%c"
 msgstr ""
 
-#: elf32-arm.c:14662
+#: elf32-arm.c:14906
 #, c-format
 msgid "warning: %pB: conflicting platform configuration"
 msgstr ""
 
-#: elf32-arm.c:14671
+#: elf32-arm.c:14915
 #, c-format
 msgid "error: %pB: conflicting use of R9"
 msgstr ""
 
-#: elf32-arm.c:14683
+#: elf32-arm.c:14927
 #, c-format
 msgid "error: %pB: SB relative addressing conflicts with use of R9"
 msgstr ""
 
-#: elf32-arm.c:14696
+#: elf32-arm.c:14940
 #, c-format
 msgid ""
 "warning: %pB uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; "
 "use of wchar_t values across objects may fail"
 msgstr ""
 
-#: elf32-arm.c:14727
+#: elf32-arm.c:14971
 #, c-format
 msgid ""
 "warning: %pB uses %s enums yet the output is to use %s enums; use of enum "
 "values across objects may fail"
 msgstr ""
 
-#: elf32-arm.c:14739
+#: elf32-arm.c:14983
 #, c-format
 msgid "error: %pB uses iWMMXt register arguments, %pB does not"
 msgstr ""
 
-#: elf32-arm.c:14756
+#: elf32-arm.c:15000
 #, c-format
 msgid "error: fp16 format mismatch between %pB and %pB"
 msgstr ""
 
-#: elf32-arm.c:14792
+#: elf32-arm.c:15036
 #, c-format
 msgid "%pB has both the current and legacy Tag_MPextension_use attributes"
 msgstr ""
@@ -1740,355 +1786,355 @@ msgstr ""
 #. Ignore init flag - it may not be set, despite the flags field containing valid data.
 #. Ignore init flag - it may not be set, despite the flags field
 #. containing valid data.
-#: elf32-arm.c:14879 elf32-bfin.c:4740 elf32-cris.c:3908 elf32-m68hc1x.c:1410
-#: elf32-m68k.c:1201 elf32-score.c:4000 elf32-score7.c:3805 elf32-vax.c:537
-#: elf32-xgate.c:494 elfxx-mips.c:16037
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7037
+#: elf32-arm.c:15123 elf32-bfin.c:4735 elf32-cris.c:3906 elf32-m68hc1x.c:1416
+#: elf32-m68k.c:1205 elf32-score.c:3999 elf32-score7.c:3804 elf32-vax.c:537
+#: elf32-xgate.c:494 elfxx-mips.c:16204
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7311
 #, c-format
 msgid "private flags = %lx:"
 msgstr ""
 
-#: elf32-arm.c:14888
+#: elf32-arm.c:15132
 #, c-format
 msgid " [interworking enabled]"
 msgstr ""
 
-#: elf32-arm.c:14896
+#: elf32-arm.c:15140
 #, c-format
 msgid " [VFP float format]"
 msgstr ""
 
-#: elf32-arm.c:14898
+#: elf32-arm.c:15142
 #, c-format
 msgid " [Maverick float format]"
 msgstr ""
 
-#: elf32-arm.c:14900
+#: elf32-arm.c:15144
 #, c-format
 msgid " [FPA float format]"
 msgstr ""
 
-#: elf32-arm.c:14903
+#: elf32-arm.c:15147
 #, c-format
 msgid " [floats passed in float registers]"
 msgstr ""
 
-#: elf32-arm.c:14906 elf32-arm.c:14992
+#: elf32-arm.c:15150 elf32-arm.c:15236
 #, c-format
 msgid " [position independent]"
 msgstr ""
 
-#: elf32-arm.c:14909
+#: elf32-arm.c:15153
 #, c-format
 msgid " [new ABI]"
 msgstr ""
 
-#: elf32-arm.c:14912
+#: elf32-arm.c:15156
 #, c-format
 msgid " [old ABI]"
 msgstr ""
 
-#: elf32-arm.c:14915
+#: elf32-arm.c:15159
 #, c-format
 msgid " [software FP]"
 msgstr ""
 
-#: elf32-arm.c:14924
+#: elf32-arm.c:15168
 #, c-format
 msgid " [Version1 EABI]"
 msgstr ""
 
-#: elf32-arm.c:14927 elf32-arm.c:14938
+#: elf32-arm.c:15171 elf32-arm.c:15182
 #, c-format
 msgid " [sorted symbol table]"
 msgstr ""
 
-#: elf32-arm.c:14929 elf32-arm.c:14940
+#: elf32-arm.c:15173 elf32-arm.c:15184
 #, c-format
 msgid " [unsorted symbol table]"
 msgstr ""
 
-#: elf32-arm.c:14935
+#: elf32-arm.c:15179
 #, c-format
 msgid " [Version2 EABI]"
 msgstr ""
 
-#: elf32-arm.c:14943
+#: elf32-arm.c:15187
 #, c-format
 msgid " [dynamic symbols use segment index]"
 msgstr ""
 
-#: elf32-arm.c:14946
+#: elf32-arm.c:15190
 #, c-format
 msgid " [mapping symbols precede others]"
 msgstr ""
 
-#: elf32-arm.c:14953
+#: elf32-arm.c:15197
 #, c-format
 msgid " [Version3 EABI]"
 msgstr ""
 
-#: elf32-arm.c:14957
+#: elf32-arm.c:15201
 #, c-format
 msgid " [Version4 EABI]"
 msgstr ""
 
-#: elf32-arm.c:14961
+#: elf32-arm.c:15205
 #, c-format
 msgid " [Version5 EABI]"
 msgstr ""
 
-#: elf32-arm.c:14964
+#: elf32-arm.c:15208
 #, c-format
 msgid " [soft-float ABI]"
 msgstr ""
 
-#: elf32-arm.c:14967
+#: elf32-arm.c:15211
 #, c-format
 msgid " [hard-float ABI]"
 msgstr ""
 
-#: elf32-arm.c:14973
+#: elf32-arm.c:15217
 #, c-format
 msgid " [BE8]"
 msgstr ""
 
-#: elf32-arm.c:14976
+#: elf32-arm.c:15220
 #, c-format
 msgid " [LE8]"
 msgstr ""
 
-#: elf32-arm.c:14982
+#: elf32-arm.c:15226
 #, c-format
 msgid " <EABI version unrecognised>"
 msgstr ""
 
-#: elf32-arm.c:14989
+#: elf32-arm.c:15233
 #, c-format
 msgid " [relocatable executable]"
 msgstr ""
 
-#: elf32-arm.c:14995
+#: elf32-arm.c:15239
 #, c-format
 msgid " [FDPIC ABI supplement]"
 msgstr ""
 
-#: elf32-arm.c:15000 /work/sources/binutils/current/bfd/elfnn-aarch64.c:7040
+#: elf32-arm.c:15244 /work/sources/binutils/current/bfd/elfnn-aarch64.c:7314
 #, c-format
 msgid "<Unrecognised flag bits set>"
 msgstr ""
 
-#: elf32-arm.c:15117 elf32-i386.c:1529 elf32-s390.c:960 elf32-tic6x.c:2783
-#: elf32-tilepro.c:1479 elf32-xtensa.c:1029 elf64-s390.c:882
-#: elf64-x86-64.c:1865 elfxx-sparc.c:1422 elfxx-tilegx.c:1700
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7329
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:539
+#: elf32-arm.c:15361 elf32-i386.c:1529 elf32-s390.c:960 elf32-tic6x.c:2783
+#: elf32-tilepro.c:1478 elf32-xtensa.c:1034 elf64-s390.c:882
+#: elf64-x86-64.c:1874 elfxx-sparc.c:1421 elfxx-tilegx.c:1699
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7602
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:552
 #, c-format
 msgid "%pB: bad symbol index: %d"
 msgstr ""
 
-#: elf32-arm.c:15508
+#: elf32-arm.c:15750
 #, c-format
 msgid ""
 "FDPIC does not yet support %s relocation to become dynamic for executable"
 msgstr ""
 
-#: elf32-arm.c:16558 elf32-csky.c:1931 elf32-hppa.c:2090 elf32-lm32.c:1998
-#: elf32-m32r.c:2110 elf32-metag.c:2797 elf32-nds32.c:4330 elf32-or1k.c:2858
-#: elf32-ppc.c:5469 elf32-s390.c:1854 elf32-sh.c:2975 elf32-tic6x.c:3252
-#: elf32-tilepro.c:2245 elf64-ppc.c:9023 elf64-s390.c:1791 elfxx-sparc.c:2435
-#: elfxx-tilegx.c:2491 elfxx-x86.c:571
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:8677
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:1142
+#: elf32-arm.c:16745 elf32-csky.c:1932 elf32-hppa.c:2096 elf32-lm32.c:1999
+#: elf32-m32r.c:2110 elf32-metag.c:2795 elf32-nds32.c:4334 elf32-or1k.c:2858
+#: elf32-ppc.c:5442 elf32-s390.c:1853 elf32-sh.c:2977 elf32-tic6x.c:3252
+#: elf32-tilepro.c:2244 elf64-ppc.c:9703 elf64-s390.c:1789 elfxx-sparc.c:2432
+#: elfxx-tilegx.c:2490 elfxx-x86.c:571
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:8865
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:1155
 #, c-format
 msgid "%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"
 msgstr ""
 
-#: elf32-arm.c:16854
+#: elf32-arm.c:17041
 #, c-format
 msgid "errors encountered processing file %pB"
 msgstr ""
 
-#: elf32-arm.c:17301 elflink.c:12556 elflink.c:12603
+#: elf32-arm.c:17488 elflink.c:12687 elflink.c:12734
 #, c-format
 msgid "could not find section %s"
 msgstr ""
 
-#: elf32-arm.c:18512
+#: elf32-arm.c:18705
 #, c-format
 msgid "%pB: error: Cortex-A8 erratum stub is allocated in unsafe location"
 msgstr ""
 
 #. There's not much we can do apart from complain if this
 #. happens.
-#: elf32-arm.c:18539
+#: elf32-arm.c:18732
 #, c-format
 msgid "%pB: error: Cortex-A8 erratum stub out of range (input file too large)"
 msgstr ""
 
-#: elf32-arm.c:19366 elf32-arm.c:19388
+#: elf32-arm.c:19559 elf32-arm.c:19581
 #, c-format
 msgid "%pB: error: VFP11 veneer out of range"
 msgstr ""
 
-#: elf32-arm.c:19439
+#: elf32-arm.c:19632
 #, c-format
 msgid ""
 "%pB(%#<PRIx64>): error: cannot create STM32L4XX veneer; jump out of range by "
 "%<PRId64> bytes; cannot encode branch instruction"
 msgstr ""
 
-#: elf32-arm.c:19478
+#: elf32-arm.c:19671
 #, c-format
 msgid "%pB: error: cannot create STM32L4XX veneer"
 msgstr ""
 
-#: elf32-arm.c:20567
+#: elf32-arm.c:20750
 #, c-format
 msgid "error: %pB is already in final BE8 format"
 msgstr ""
 
-#: elf32-arm.c:20643
+#: elf32-arm.c:20826
 #, c-format
 msgid ""
 "error: source object %pB has EABI version %d, but target %pB has EABI "
 "version %d"
 msgstr ""
 
-#: elf32-arm.c:20658
+#: elf32-arm.c:20841
 #, c-format
 msgid "error: %pB is compiled for APCS-%d, whereas target %pB uses APCS-%d"
 msgstr ""
 
-#: elf32-arm.c:20668
+#: elf32-arm.c:20851
 #, c-format
 msgid ""
 "error: %pB passes floats in float registers, whereas %pB passes them in "
 "integer registers"
 msgstr ""
 
-#: elf32-arm.c:20672
+#: elf32-arm.c:20855
 #, c-format
 msgid ""
 "error: %pB passes floats in integer registers, whereas %pB passes them in "
 "float registers"
 msgstr ""
 
-#: elf32-arm.c:20682 elf32-arm.c:20686 elf32-arm.c:20696
+#: elf32-arm.c:20865 elf32-arm.c:20869 elf32-arm.c:20879
 #, c-format
 msgid "error: %pB uses %s instructions, whereas %pB does not"
 msgstr ""
 
-#: elf32-arm.c:20700
+#: elf32-arm.c:20883
 #, c-format
 msgid "error: %pB does not use %s instructions, whereas %pB does"
 msgstr ""
 
-#: elf32-arm.c:20719
+#: elf32-arm.c:20902
 #, c-format
 msgid "error: %pB uses software FP, whereas %pB uses hardware FP"
 msgstr ""
 
-#: elf32-arm.c:20723
+#: elf32-arm.c:20906
 #, c-format
 msgid "error: %pB uses hardware FP, whereas %pB uses software FP"
 msgstr ""
 
-#: elf32-arm.c:20737
+#: elf32-arm.c:20920
 #, c-format
 msgid "warning: %pB supports interworking, whereas %pB does not"
 msgstr ""
 
-#: elf32-arm.c:20743
+#: elf32-arm.c:20926
 #, c-format
 msgid "warning: %pB does not support interworking, whereas %pB does"
 msgstr ""
 
-#: elf32-avr.c:1518 elf32-bfin.c:3135 elf32-cris.c:2041 elf32-epiphany.c:577
-#: elf32-fr30.c:602 elf32-frv.c:4057 elf32-ft32.c:502 elf32-ip2k.c:1493
-#: elf32-iq2000.c:701 elf32-m32c.c:632 elf32-mep.c:534 elf32-metag.c:1998
-#: elf32-moxie.c:296 elf32-msp430.c:1366 elf32-mt.c:406 elf32-or1k.c:1767
-#: elf32-tilepro.c:3514 elf32-v850.c:2299 elf32-visium.c:689
-#: elf32-xstormy16.c:939 elf64-mmix.c:1549 elfxx-tilegx.c:3878
+#: elf32-avr.c:1518 elf32-bfin.c:3130 elf32-cris.c:2041 elf32-epiphany.c:577
+#: elf32-fr30.c:602 elf32-frv.c:4053 elf32-ft32.c:502 elf32-ip2k.c:1493
+#: elf32-iq2000.c:699 elf32-m32c.c:632 elf32-mep.c:534 elf32-metag.c:1998
+#: elf32-moxie.c:296 elf32-msp430.c:1369 elf32-mt.c:406 elf32-or1k.c:1767
+#: elf32-tilepro.c:3513 elf32-v850.c:2298 elf32-visium.c:688
+#: elf32-xstormy16.c:937 elf64-bpf.c:496 elf64-mmix.c:1549 elfxx-tilegx.c:3877
 msgid "internal error: dangerous relocation"
 msgstr ""
 
-#: elf32-avr.c:3327 /work/sources/binutils/current/bfd/elfnn-aarch64.c:3126
+#: elf32-avr.c:3338 /work/sources/binutils/current/bfd/elfnn-aarch64.c:3267
 #, c-format
 msgid "cannot create stub entry %s"
 msgstr ""
 
-#: elf32-bfin.c:106 elf32-bfin.c:362
+#: elf32-bfin.c:107 elf32-bfin.c:363
 msgid "relocation should be even number"
 msgstr ""
 
-#: elf32-bfin.c:1585
+#: elf32-bfin.c:1584
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): unresolvable relocation against symbol `%s'"
 msgstr ""
 
-#: elf32-bfin.c:1617 elf32-i386.c:3449 elf32-m68k.c:3976 elf32-s390.c:3269
-#: elf64-s390.c:3219 elf64-x86-64.c:3896
+#: elf32-bfin.c:1616 elf32-i386.c:3443 elf32-m68k.c:3989 elf32-s390.c:3268
+#: elf64-s390.c:3217 elf64-x86-64.c:4011
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): reloc against `%s': error %d"
 msgstr ""
 
-#: elf32-bfin.c:2638
+#: elf32-bfin.c:2637
 #, c-format
 msgid ""
 "%pB: relocation at `%pA+%#<PRIx64>' references symbol `%s' with nonzero "
 "addend"
 msgstr ""
 
-#: elf32-bfin.c:2655
+#: elf32-bfin.c:2654
 msgid "relocation references symbol not defined in the module"
 msgstr ""
 
-#: elf32-bfin.c:2752
+#: elf32-bfin.c:2751
 msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
 msgstr ""
 
-#: elf32-bfin.c:2793 elf32-bfin.c:2916
+#: elf32-bfin.c:2791 elf32-bfin.c:2912
 msgid "cannot emit fixups in read-only section"
 msgstr ""
 
-#: elf32-bfin.c:2824 elf32-bfin.c:2954 elf32-lm32.c:1049 elf32-sh.c:4511
+#: elf32-bfin.c:2821 elf32-bfin.c:2949 elf32-lm32.c:1049 elf32-sh.c:4513
 msgid "cannot emit dynamic relocations in read-only section"
 msgstr ""
 
-#: elf32-bfin.c:2874
+#: elf32-bfin.c:2871
 msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
 msgstr ""
 
-#: elf32-bfin.c:3039
+#: elf32-bfin.c:3034
 msgid "relocations between different segments are not supported"
 msgstr ""
 
-#: elf32-bfin.c:3040
+#: elf32-bfin.c:3035
 msgid "warning: relocation references a different segment"
 msgstr ""
 
-#: elf32-bfin.c:4787 elf32-frv.c:6603
+#: elf32-bfin.c:4782 elf32-frv.c:6597
 #, c-format
 msgid "%pB: cannot link non-fdpic object file into fdpic executable"
 msgstr ""
 
-#: elf32-bfin.c:4791 elf32-frv.c:6607
+#: elf32-bfin.c:4786 elf32-frv.c:6601
 #, c-format
 msgid "%pB: cannot link fdpic object file into non-fdpic executable"
 msgstr ""
 
-#: elf32-bfin.c:4941
+#: elf32-bfin.c:4936
 #, c-format
 msgid "*** check this relocation %s"
 msgstr ""
 
-#: elf32-bfin.c:5057
+#: elf32-bfin.c:5052
 msgid ""
 "the bfin target does not currently support the generation of copy relocations"
 msgstr ""
 
-#: elf32-bfin.c:5351 elf32-cr16.c:2803 elf32-m68k.c:4390
+#: elf32-bfin.c:5346 elf32-cr16.c:2801 elf32-m68k.c:4403
 msgid "unsupported relocation type"
 msgstr ""
 
@@ -2189,76 +2235,76 @@ msgid ""
 "recompile with -fPIC"
 msgstr ""
 
-#: elf32-cris.c:3747
+#: elf32-cris.c:3745
 #, c-format
 msgid ""
 "%pB, section `%pA', to symbol `%s': relocation %s should not be used in a "
 "shared object; recompile with -fPIC"
 msgstr ""
 
-#: elf32-cris.c:3860
+#: elf32-cris.c:3857
 msgid "unexpected machine number"
 msgstr ""
 
-#: elf32-cris.c:3911
+#: elf32-cris.c:3909
 #, c-format
 msgid " [symbols have a _ prefix]"
 msgstr ""
 
-#: elf32-cris.c:3914
+#: elf32-cris.c:3912
 #, c-format
 msgid " [v10 and v32]"
 msgstr ""
 
-#: elf32-cris.c:3917
+#: elf32-cris.c:3915
 #, c-format
 msgid " [v32]"
 msgstr ""
 
-#: elf32-cris.c:3961
+#: elf32-cris.c:3959
 #, c-format
 msgid ""
 "%pB: uses _-prefixed symbols, but writing file with non-prefixed symbols"
 msgstr ""
 
-#: elf32-cris.c:3962
+#: elf32-cris.c:3960
 #, c-format
 msgid ""
 "%pB: uses non-prefixed symbols, but writing file with _-prefixed symbols"
 msgstr ""
 
-#: elf32-cris.c:3981
+#: elf32-cris.c:3979
 #, c-format
 msgid "%pB contains CRIS v32 code, incompatible with previous objects"
 msgstr ""
 
-#: elf32-cris.c:3983
+#: elf32-cris.c:3981
 #, c-format
 msgid "%pB contains non-CRIS-v32 code, incompatible with previous objects"
 msgstr ""
 
-#: elf32-csky.c:2066
+#: elf32-csky.c:2067
 msgid "GOT table size out of range"
 msgstr ""
 
-#: elf32-csky.c:2917
+#: elf32-csky.c:2916
 #, c-format
 msgid "warning: unrecognized arch eflag '%#lx'"
 msgstr ""
 
-#: elf32-csky.c:2977
+#: elf32-csky.c:2976
 #, c-format
 msgid "%pB: machine flag conflict with target"
 msgstr ""
 
-#: elf32-csky.c:2990
+#: elf32-csky.c:2989
 #, c-format
 msgid ""
 "warning: file %pB's arch flag ck%s conflicts with target ck%s, using ck%s"
 msgstr ""
 
 #. The r_type is error, not support it.
-#: elf32-csky.c:4225 elf32-i386.c:351
+#: elf32-csky.c:4224 elf32-i386.c:351
 #, c-format
 msgid "%pB: unsupported relocation type: %#x"
 msgstr ""
@@ -2339,40 +2385,40 @@ msgstr ""
 msgid "R_FRV_TLSMOFFLO not applied to a setlo or setlos instruction\n"
 msgstr ""
 
-#: elf32-frv.c:3538 elf32-frv.c:3660
+#: elf32-frv.c:3538 elf32-frv.c:3658
 msgid "%H: %s references dynamic symbol with nonzero addend\n"
 msgstr ""
 
-#: elf32-frv.c:3580 elf32-frv.c:3703
+#: elf32-frv.c:3579 elf32-frv.c:3700
 msgid "%H: cannot emit fixups in read-only section\n"
 msgstr ""
 
-#: elf32-frv.c:3611 elf32-frv.c:3746
+#: elf32-frv.c:3609 elf32-frv.c:3742
 msgid "%H: cannot emit dynamic relocations in read-only section\n"
 msgstr ""
 
-#: elf32-frv.c:3918
+#: elf32-frv.c:3914
 #, c-format
 msgid "%H: reloc against `%s' references a different segment\n"
 msgstr ""
 
-#: elf32-frv.c:4069
+#: elf32-frv.c:4065
 #, c-format
 msgid "%H: reloc against `%s': %s\n"
 msgstr ""
 
-#: elf32-frv.c:6514
+#: elf32-frv.c:6508
 #, c-format
 msgid ""
 "%pB: compiled with %s and linked with modules that use non-pic relocations"
 msgstr ""
 
-#: elf32-frv.c:6568 elf32-iq2000.c:832 elf32-m32c.c:876
+#: elf32-frv.c:6562 elf32-iq2000.c:830 elf32-m32c.c:876
 #, c-format
 msgid "%pB: compiled with %s and linked with modules compiled with %s"
 msgstr ""
 
-#: elf32-frv.c:6581
+#: elf32-frv.c:6575
 #, c-format
 msgid ""
 "%pB: uses different unknown e_flags (%#x) fields than previous modules (%#x)"
@@ -2383,47 +2429,47 @@ msgstr ""
 msgid "%pB: relocations in generic ELF (EM: %d)"
 msgstr ""
 
-#: elf32-hppa.c:834 elf32-hppa.c:3511
+#: elf32-hppa.c:842 elf32-hppa.c:3518
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): cannot reach %s, recompile with -ffunction-sections"
 msgstr ""
 
-#: elf32-hppa.c:1248
+#: elf32-hppa.c:1256
 #, c-format
 msgid ""
 "%pB: relocation %s can not be used when making a shared object; recompile "
 "with -fPIC"
 msgstr ""
 
-#: elf32-hppa.c:2688
+#: elf32-hppa.c:2695
 #, c-format
 msgid "%pB: duplicate export stub %s"
 msgstr ""
 
-#: elf32-hppa.c:3344
+#: elf32-hppa.c:3351
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): %s fixup for insn %#x is not supported in a non-shared "
 "link"
 msgstr ""
 
-#: elf32-hppa.c:4140
+#: elf32-hppa.c:4147
 #, c-format
 msgid "%s has both normal and TLS relocs"
 msgstr ""
 
-#: elf32-hppa.c:4158
+#: elf32-hppa.c:4165
 #, c-format
 msgid "%pB:%s has both normal and TLS relocs"
 msgstr ""
 
-#: elf32-hppa.c:4217
+#: elf32-hppa.c:4224
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): cannot handle %s for %s"
 msgstr ""
 
-#: elf32-hppa.c:4521
+#: elf32-hppa.c:4528
 msgid ".got section not immediately after .plt section"
 msgstr ""
 
@@ -2441,60 +2487,60 @@ msgid ""
 "can not be used when making a shared object"
 msgstr ""
 
-#: elf32-i386.c:1726 elf32-s390.c:1188 elf32-sh.c:5662 elf32-tilepro.c:1592
-#: elf32-xtensa.c:1203 elf64-s390.c:1120 elfxx-sparc.c:1591 elfxx-tilegx.c:1805
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:451
+#: elf32-i386.c:1722 elf32-s390.c:1188 elf32-sh.c:5662 elf32-tilepro.c:1591
+#: elf32-xtensa.c:1206 elf64-s390.c:1120 elfxx-sparc.c:1590 elfxx-tilegx.c:1804
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:464
 #, c-format
 msgid "%pB: `%s' accessed both as normal and thread local symbol"
 msgstr ""
 
-#: elf32-i386.c:1798
+#: elf32-i386.c:1794
 #, c-format
 msgid "%pB: unsupported non-PIC call to IFUNC `%s'"
 msgstr ""
 
-#: elf32-i386.c:2379 elf64-x86-64.c:2670
+#: elf32-i386.c:2373 elf64-x86-64.c:2674
 #, c-format
 msgid "%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
 msgstr ""
 
-#: elf32-i386.c:2412 elf32-i386.c:3660 elf32-i386.c:3801 elf64-x86-64.c:2727
-#: elf64-x86-64.c:4069 elf64-x86-64.c:4225
+#: elf32-i386.c:2406 elf32-i386.c:3654 elf32-i386.c:3795 elf64-x86-64.c:2731
+#: elf64-x86-64.c:4184 elf64-x86-64.c:4340
 #, c-format
 msgid "Local IFUNC function `%s' in %pB\n"
 msgstr ""
 
-#: elf32-i386.c:2569
+#: elf32-i386.c:2563
 #, c-format
 msgid ""
 "%pB: direct GOT relocation %s against `%s' without base register can not be "
 "used when making a shared object"
 msgstr ""
 
-#: elf32-i386.c:2604 elf64-x86-64.c:2919
+#: elf32-i386.c:2598 elf64-x86-64.c:2923
 msgid "hidden symbol"
 msgstr ""
 
-#: elf32-i386.c:2607 elf64-x86-64.c:2922
+#: elf32-i386.c:2601 elf64-x86-64.c:2926
 msgid "internal symbol"
 msgstr ""
 
-#: elf32-i386.c:2610 elf64-x86-64.c:2925
+#: elf32-i386.c:2604 elf64-x86-64.c:2929
 msgid "protected symbol"
 msgstr ""
 
-#: elf32-i386.c:2613 elf64-x86-64.c:2928
+#: elf32-i386.c:2607 elf64-x86-64.c:2932
 msgid "symbol"
 msgstr ""
 
-#: elf32-i386.c:2619
+#: elf32-i386.c:2613
 #, c-format
 msgid ""
 "%pB: relocation R_386_GOTOFF against undefined %s `%s' can not be used when "
 "making a shared object"
 msgstr ""
 
-#: elf32-i386.c:2632
+#: elf32-i386.c:2626
 #, c-format
 msgid ""
 "%pB: relocation R_386_GOTOFF against protected %s `%s' can not be used when "
@@ -2548,7 +2594,7 @@ msgstr ""
 msgid "%pB: instruction set mismatch with previous modules"
 msgstr ""
 
-#: elf32-m32r.c:3508 elf32-nds32.c:6992
+#: elf32-m32r.c:3508 elf32-nds32.c:6995
 #, c-format
 msgid "private flags = %lx"
 msgstr ""
@@ -2568,120 +2614,120 @@ msgstr ""
 msgid ": m32r2 instructions"
 msgstr ""
 
-#: elf32-m68hc1x.c:1116
+#: elf32-m68hc1x.c:1136
 #, c-format
 msgid ""
 "reference to the far symbol `%s' using a wrong relocation may result in "
 "incorrect execution"
 msgstr ""
 
-#: elf32-m68hc1x.c:1150
+#: elf32-m68hc1x.c:1167
 #, c-format
 msgid ""
 "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you "
 "must manually offset the address, and possibly manage the page, in your code."
 msgstr ""
 
-#: elf32-m68hc1x.c:1168
+#: elf32-m68hc1x.c:1183
 #, c-format
 msgid ""
 "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked "
 "address [%lx:%04lx] (%lx)"
 msgstr ""
 
-#: elf32-m68hc1x.c:1184
+#: elf32-m68hc1x.c:1198
 #, c-format
 msgid ""
 "reference to a banked address [%lx:%04lx] in the normal address space at "
 "%04lx"
 msgstr ""
 
-#: elf32-m68hc1x.c:1225
+#: elf32-m68hc1x.c:1234
 #, c-format
 msgid ""
 "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you "
 "must manually offset the address in your code"
 msgstr ""
 
-#: elf32-m68hc1x.c:1352
+#: elf32-m68hc1x.c:1358
 #, c-format
 msgid ""
 "%pB: linking files compiled for 16-bit integers (-mshort) and others for 32-"
 "bit integers"
 msgstr ""
 
-#: elf32-m68hc1x.c:1359
+#: elf32-m68hc1x.c:1365
 #, c-format
 msgid ""
 "%pB: linking files compiled for 32-bit double (-fshort-double) and others "
 "for 64-bit double"
 msgstr ""
 
-#: elf32-m68hc1x.c:1368
+#: elf32-m68hc1x.c:1374
 #, c-format
 msgid "%pB: linking files compiled for HCS12 with others compiled for HC12"
 msgstr ""
 
-#: elf32-m68hc1x.c:1413 elf32-xgate.c:497
+#: elf32-m68hc1x.c:1419 elf32-xgate.c:497
 #, c-format
 msgid "[abi=32-bit int, "
 msgstr ""
 
-#: elf32-m68hc1x.c:1415 elf32-xgate.c:499
+#: elf32-m68hc1x.c:1421 elf32-xgate.c:499
 #, c-format
 msgid "[abi=16-bit int, "
 msgstr ""
 
-#: elf32-m68hc1x.c:1418 elf32-xgate.c:502
+#: elf32-m68hc1x.c:1424 elf32-xgate.c:502
 #, c-format
 msgid "64-bit double, "
 msgstr ""
 
-#: elf32-m68hc1x.c:1420 elf32-xgate.c:504
+#: elf32-m68hc1x.c:1426 elf32-xgate.c:504
 #, c-format
 msgid "32-bit double, "
 msgstr ""
 
-#: elf32-m68hc1x.c:1423
+#: elf32-m68hc1x.c:1429
 #, c-format
 msgid "cpu=HC11]"
 msgstr ""
 
-#: elf32-m68hc1x.c:1425
+#: elf32-m68hc1x.c:1431
 #, c-format
 msgid "cpu=HCS12]"
 msgstr ""
 
-#: elf32-m68hc1x.c:1427
+#: elf32-m68hc1x.c:1433
 #, c-format
 msgid "cpu=HC12]"
 msgstr ""
 
-#: elf32-m68hc1x.c:1430
+#: elf32-m68hc1x.c:1436
 #, c-format
 msgid " [memory=bank-model]"
 msgstr ""
 
-#: elf32-m68hc1x.c:1432
+#: elf32-m68hc1x.c:1438
 #, c-format
 msgid " [memory=flat]"
 msgstr ""
 
-#: elf32-m68hc1x.c:1435
+#: elf32-m68hc1x.c:1441
 #, c-format
 msgid " [XGATE RAM offsetting]"
 msgstr ""
 
-#: elf32-m68k.c:1216 elf32-m68k.c:1217 vms-alpha.c:7484 vms-alpha.c:7500
+#: elf32-m68k.c:1220 elf32-m68k.c:1221 vms-alpha.c:7527 vms-alpha.c:7543
 msgid "unknown"
 msgstr ""
 
-#: elf32-m68k.c:1660
+#: elf32-m68k.c:1671
 #, c-format
 msgid "%pB: GOT overflow: number of relocations with 8-bit offset > %d"
 msgstr ""
 
-#: elf32-m68k.c:1667
+#: elf32-m68k.c:1678
 #, c-format
 msgid "%pB: GOT overflow: number of relocations with 8- or 16-bit offset > %d"
 msgstr ""
@@ -2724,8 +2770,8 @@ msgid ""
 "link"
 msgstr ""
 
-#: elf32-microblaze.c:1544 elf32-tilepro.c:3155 elfxx-sparc.c:3538
-#: elfxx-tilegx.c:3543
+#: elf32-microblaze.c:1544 elf32-tilepro.c:3154 elfxx-sparc.c:3535
+#: elfxx-tilegx.c:3542
 #, c-format
 msgid "%pB: probably compiled without -fPIC?"
 msgstr ""
@@ -2739,146 +2785,146 @@ msgstr ""
 msgid "32bits gp relative relocation occurs for an external symbol"
 msgstr ""
 
-#: elf32-msp430.c:837 elf32-msp430.c:1151
+#: elf32-msp430.c:840 elf32-msp430.c:1154
 msgid "try enabling relaxation to avoid relocation truncations"
 msgstr ""
 
-#: elf32-msp430.c:1358
+#: elf32-msp430.c:1361
 msgid "internal error: branch/jump to an odd address detected"
 msgstr ""
 
-#: elf32-msp430.c:2357
+#: elf32-msp430.c:2360
 #, c-format
 msgid "warning: %pB: unknown MSPABI object attribute %d"
 msgstr ""
 
-#: elf32-msp430.c:2456
+#: elf32-msp430.c:2461
 #, c-format
 msgid "error: %pB uses %s instructions but %pB uses %s"
 msgstr ""
 
-#: elf32-msp430.c:2468
+#: elf32-msp430.c:2473
 #, c-format
 msgid "error: %pB uses the %s code model whereas %pB uses the %s code model"
 msgstr ""
 
-#: elf32-msp430.c:2480
+#: elf32-msp430.c:2486
 #, c-format
 msgid "error: %pB uses the large code model but %pB uses MSP430 instructions"
 msgstr ""
 
-#: elf32-msp430.c:2491
+#: elf32-msp430.c:2497
 #, c-format
 msgid "error: %pB uses the %s data model whereas %pB uses the %s data model"
 msgstr ""
 
-#: elf32-msp430.c:2503
+#: elf32-msp430.c:2510
 #, c-format
 msgid "error: %pB uses the small code model but %pB uses the %s data model"
 msgstr ""
 
-#: elf32-msp430.c:2515
+#: elf32-msp430.c:2522
 #, c-format
 msgid "error: %pB uses the %s data model but %pB only uses MSP430 instructions"
 msgstr ""
 
-#: elf32-nds32.c:3624
+#: elf32-msp430.c:2547
 #, c-format
-msgid "error: can't find symbol: %s"
+msgid ""
+"error: %pB can use the upper region for data, but %pB assumes data is "
+"exclusively in lower memory"
 msgstr ""
 
-#: elf32-nds32.c:5639
+#: elf32-nds32.c:3628
 #, c-format
-msgid ""
-"%pB: relocation %s against `%s' can not be used whenmaking a shared object; "
-"recompile with -fPIC"
+msgid "error: can't find symbol: %s"
 msgstr ""
 
-#: elf32-nds32.c:5669
+#: elf32-nds32.c:5672
 #, c-format
 msgid "%pB: warning: %s unsupported in shared mode"
 msgstr ""
 
-#: elf32-nds32.c:5795
+#: elf32-nds32.c:5798
 #, c-format
 msgid "%pB: warning: unaligned access to GOT entry"
 msgstr ""
 
-#: elf32-nds32.c:5836
+#: elf32-nds32.c:5839
 #, c-format
 msgid "%pB: warning: relocate SDA_BASE failed"
 msgstr ""
 
-#: elf32-nds32.c:5858
+#: elf32-nds32.c:5861
 #, c-format
 msgid "%pB(%pA): warning: unaligned small data access of type %d"
 msgstr ""
 
-#: elf32-nds32.c:6784
+#: elf32-nds32.c:6787
 #, c-format
 msgid ""
 "%pB: ISR vector size mismatch with previous modules, previous %u-byte, "
 "current %u-byte"
 msgstr ""
 
-#: elf32-nds32.c:6828
+#: elf32-nds32.c:6831
 #, c-format
 msgid "%pB: warning: endian mismatch with previous modules"
 msgstr ""
 
-#: elf32-nds32.c:6842
+#: elf32-nds32.c:6845
 #, c-format
 msgid ""
 "%pB: warning: older version of object file encountered, please recompile "
 "with current tool chain"
 msgstr ""
 
-#: elf32-nds32.c:6930
+#: elf32-nds32.c:6933
 #, c-format
 msgid "%pB: error: ABI mismatch with previous modules"
 msgstr ""
 
-#: elf32-nds32.c:6940
+#: elf32-nds32.c:6943
 #, c-format
 msgid "%pB: error: instruction set mismatch with previous modules"
 msgstr ""
 
-#: elf32-nds32.c:6967
+#: elf32-nds32.c:6970
 #, c-format
 msgid "%pB: warning: incompatible elf-versions %s and %s"
 msgstr ""
 
-#: elf32-nds32.c:6998
+#: elf32-nds32.c:7001
 #, c-format
 msgid ": n1 instructions"
 msgstr ""
 
-#: elf32-nds32.c:7001
+#: elf32-nds32.c:7004
 #, c-format
 msgid ": n1h instructions"
 msgstr ""
 
-#: elf32-nds32.c:9462
+#: elf32-nds32.c:9465
 #, c-format
 msgid "%pB: error: search_nds32_elf_blank reports wrong node"
 msgstr ""
 
-#: elf32-nds32.c:9722
+#: elf32-nds32.c:9725
 #, c-format
 msgid "%pB: warning: %s points to unrecognized reloc at %#<PRIx64>"
 msgstr ""
 
-#: elf32-nds32.c:12975
+#: elf32-nds32.c:12978
 #, c-format
 msgid "%pB: nested OMIT_FP in %pA"
 msgstr ""
 
-#: elf32-nds32.c:12994
+#: elf32-nds32.c:12997
 #, c-format
 msgid "%pB: unmatched OMIT_FP in %pA"
 msgstr ""
 
-#: elf32-nds32.c:13275 reloc.c:8410
+#: elf32-nds32.c:13279 reloc.c:8442
 #, c-format
 msgid "%X%P: %pB(%pA): relocation \"%pR\" goes out of range\n"
 msgstr ""
@@ -2891,25 +2937,26 @@ msgstr ""
 #: elf32-nios2.c:3822
 #, c-format
 msgid ""
-"global pointer relative relocation at address 0x%08x when _gp not defined\n"
+"global pointer relative relocation at address %#<PRIx64> when _gp not "
+"defined\n"
 msgstr ""
 
-#: elf32-nios2.c:3842
+#: elf32-nios2.c:3852
 #, c-format
 msgid ""
-"unable to reach %s (at 0x%08x) from the global pointer (at 0x%08x) because "
-"the offset (%d) is out of the allowed range, -32678 to 32767\n"
+"unable to reach %s (at %#<PRIx64>) from the global pointer (at %#<PRIx64>) "
+"because the offset (%<PRId64>) is out of the allowed range, -32678 to 32767\n"
 msgstr ""
 
-#: elf32-nios2.c:4495 elf32-pru.c:928
+#: elf32-nios2.c:4507 elf32-pru.c:931
 msgid "relocation out of range"
 msgstr ""
 
-#: elf32-nios2.c:4505 elf32-pru.c:938 elf32-tic6x.c:2716
+#: elf32-nios2.c:4517 elf32-pru.c:941 elf32-tic6x.c:2716
 msgid "dangerous relocation"
 msgstr ""
 
-#: elf32-nios2.c:5378
+#: elf32-nios2.c:5392
 #, c-format
 msgid "dynamic variable `%s' is zero size"
 msgstr ""
@@ -2939,7 +2986,7 @@ msgstr ""
 msgid "%pB: gotoff relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf32-or1k.c:1479 elf64-alpha.c:4455 elf64-alpha.c:4599
+#: elf32-or1k.c:1479 elf64-alpha.c:4456 elf64-alpha.c:4600
 #, c-format
 msgid "%pB: pc-relative relocation against dynamic symbol %s"
 msgstr ""
@@ -2959,7 +3006,7 @@ msgstr ""
 msgid "%pB: will not resolve runtime TLS relocation"
 msgstr ""
 
-#: elf32-or1k.c:2074
+#: elf32-or1k.c:2071
 #, c-format
 msgid "%pB: bad relocation section name `%s'"
 msgstr ""
@@ -2969,102 +3016,102 @@ msgstr ""
 msgid "%pB: %s flag mismatch with previous modules"
 msgstr ""
 
-#: elf32-ppc.c:986
+#: elf32-ppc.c:989
 #, c-format
 msgid "generic linker can't handle %s"
 msgstr ""
 
-#: elf32-ppc.c:1617
+#: elf32-ppc.c:1622
 #, c-format
 msgid "corrupt %s section in %pB"
 msgstr ""
 
-#: elf32-ppc.c:1637
+#: elf32-ppc.c:1642
 #, c-format
 msgid "unable to read in %s section from %pB"
 msgstr ""
 
-#: elf32-ppc.c:1679
+#: elf32-ppc.c:1684
 #, c-format
 msgid "warning: unable to set size of %s section in %pB"
 msgstr ""
 
-#: elf32-ppc.c:1729
+#: elf32-ppc.c:1734
 msgid "failed to allocate space for new APUinfo section"
 msgstr ""
 
-#: elf32-ppc.c:1748
+#: elf32-ppc.c:1753
 msgid "failed to compute new APUinfo section"
 msgstr ""
 
-#: elf32-ppc.c:1751
+#: elf32-ppc.c:1756
 msgid "failed to install new APUinfo section"
 msgstr ""
 
-#: elf32-ppc.c:2853
+#: elf32-ppc.c:2864
 #, c-format
 msgid "%pB: relocation %s cannot be used when making a shared object"
 msgstr ""
 
-#: elf32-ppc.c:3587 elf32-ppc.c:3595
+#: elf32-ppc.c:3581 elf32-ppc.c:3589
 #, c-format
 msgid "%pB uses hard float, %pB uses soft float"
 msgstr ""
 
-#: elf32-ppc.c:3603 elf32-ppc.c:3611
+#: elf32-ppc.c:3597 elf32-ppc.c:3605
 #, c-format
 msgid ""
 "%pB uses double-precision hard float, %pB uses single-precision hard float"
 msgstr ""
 
-#: elf32-ppc.c:3630 elf32-ppc.c:3638
+#: elf32-ppc.c:3624 elf32-ppc.c:3632
 #, c-format
 msgid "%pB uses 64-bit long double, %pB uses 128-bit long double"
 msgstr ""
 
-#: elf32-ppc.c:3646 elf32-ppc.c:3654
+#: elf32-ppc.c:3640 elf32-ppc.c:3648
 #, c-format
 msgid "%pB uses IBM long double, %pB uses IEEE long double"
 msgstr ""
 
-#: elf32-ppc.c:3721 elf32-ppc.c:3730
+#: elf32-ppc.c:3715 elf32-ppc.c:3724
 #, c-format
 msgid "%pB uses AltiVec vector ABI, %pB uses SPE vector ABI"
 msgstr ""
 
-#: elf32-ppc.c:3759 elf32-ppc.c:3768
+#: elf32-ppc.c:3753 elf32-ppc.c:3762
 #, c-format
 msgid "%pB uses r3/r4 for small structure returns, %pB uses memory"
 msgstr ""
 
-#: elf32-ppc.c:3829
+#: elf32-ppc.c:3823
 #, c-format
 msgid ""
 "%pB: compiled with -mrelocatable and linked with modules compiled normally"
 msgstr ""
 
-#: elf32-ppc.c:3837
+#: elf32-ppc.c:3831
 #, c-format
 msgid ""
 "%pB: compiled normally and linked with modules compiled with -mrelocatable"
 msgstr ""
 
-#: elf32-ppc.c:3906
+#: elf32-ppc.c:3900
 #, c-format
 msgid "%pB(%pA+0x%lx): expected 16A style relocation on 0x%08x insn"
 msgstr ""
 
-#: elf32-ppc.c:3925
+#: elf32-ppc.c:3919
 #, c-format
 msgid "%pB(%pA+0x%lx): expected 16D style relocation on 0x%08x insn"
 msgstr ""
 
-#: elf32-ppc.c:4028
+#: elf32-ppc.c:4022
 #, c-format
 msgid "bss-plt forced due to %pB"
 msgstr ""
 
-#: elf32-ppc.c:4030
+#: elf32-ppc.c:4024
 msgid "bss-plt forced by profiling"
 msgstr ""
 
@@ -3072,40 +3119,40 @@ msgstr ""
 #. could just mark this symbol to exclude it
 #. from tls optimization but it's safer to skip
 #. the entire optimization.
-#: elf32-ppc.c:4606 elf64-ppc.c:7724
+#: elf32-ppc.c:4599 elf64-ppc.c:8089
 #, c-format
 msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
 msgstr ""
 
-#: elf32-ppc.c:5577 elf32-sh.c:3078 elf32-tilepro.c:2339 elfxx-sparc.c:2534
-#: elfxx-tilegx.c:2579
+#: elf32-ppc.c:5550 elf32-sh.c:3080 elf32-tilepro.c:2338 elfxx-sparc.c:2531
+#: elfxx-tilegx.c:2578
 #, c-format
 msgid "%pB: dynamic relocation in read-only section `%pA'\n"
 msgstr ""
 
-#: elf32-ppc.c:7457
+#: elf32-ppc.c:7430
 msgid "%P: %H: error: %s with unexpected instruction %x\n"
 msgstr ""
 
-#: elf32-ppc.c:7494
+#: elf32-ppc.c:7467
 msgid "%H: fixup branch overflow\n"
 msgstr ""
 
-#: elf32-ppc.c:7534 elf32-ppc.c:7570
+#: elf32-ppc.c:7507 elf32-ppc.c:7543
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): error: %s with unexpected instruction %#x"
 msgstr ""
 
-#: elf32-ppc.c:7634
+#: elf32-ppc.c:7607
 #, c-format
 msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
 msgstr ""
 
-#: elf32-ppc.c:7673 elf64-ppc.c:15220
+#: elf32-ppc.c:7646 elf64-ppc.c:16446
 msgid "%H: warning: %s unexpected insn %#x.\n"
 msgstr ""
 
-#: elf32-ppc.c:7985
+#: elf32-ppc.c:7955
 #, c-format
 msgid "%H: non-zero addend on %s reloc against `%s'\n"
 msgstr ""
@@ -3118,59 +3165,59 @@ msgstr ""
 #. local won't have the +32k reloc addend trick marking
 #. -fPIC code, so the linker won't know whether r30 is
 #. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
-#: elf32-ppc.c:8017
+#: elf32-ppc.c:7987
 #, c-format
 msgid "%X%H: @local call to ifunc %s\n"
 msgstr ""
 
-#: elf32-ppc.c:8187
+#: elf32-ppc.c:8165
 #, c-format
 msgid "%H: relocation %s for indirect function %s unsupported\n"
 msgstr ""
 
-#: elf32-ppc.c:8515 elf32-ppc.c:8546 elf32-ppc.c:8637 elf32-ppc.c:8725
+#: elf32-ppc.c:8499 elf32-ppc.c:8530 elf32-ppc.c:8621 elf32-ppc.c:8717
 #, c-format
 msgid ""
 "%pB: the target (%s) of a %s relocation is in the wrong output section (%s)"
 msgstr ""
 
-#: elf32-ppc.c:8855 elf32-ppc.c:8873
-msgid "%P: %H: %s relocation unsupported for bss-plt\n"
+#: elf32-ppc.c:8847 elf32-ppc.c:8865
+msgid "%X%P: %H: %s relocation unsupported for bss-plt\n"
 msgstr ""
 
-#: elf32-ppc.c:8954
+#: elf32-ppc.c:8946
 #, c-format
 msgid "%H: error: %s against `%s' not a multiple of %u\n"
 msgstr ""
 
-#: elf32-ppc.c:8983
+#: elf32-ppc.c:8975
 #, c-format
 msgid "%H: unresolvable %s relocation against symbol `%s'\n"
 msgstr ""
 
-#: elf32-ppc.c:9064
+#: elf32-ppc.c:9056
 #, c-format
 msgid "%H: %s reloc against `%s': error %d\n"
 msgstr ""
 
-#: elf32-ppc.c:9959 elf64-ppc.c:15715
+#: elf32-ppc.c:9947 elf64-ppc.c:16999
 msgid ""
 "%X%P: text relocations and GNU indirect functions will result in a segfault "
 "at runtime\n"
 msgstr ""
 
-#: elf32-ppc.c:9963 elf64-ppc.c:15719
+#: elf32-ppc.c:9951 elf64-ppc.c:17003
 msgid ""
 "%P: warning: text relocations and GNU indirect functions may result in a "
 "segfault at runtime\n"
 msgstr ""
 
-#: elf32-ppc.c:10008
+#: elf32-ppc.c:9996
 #, c-format
 msgid "%s not defined in linker created %pA"
 msgstr ""
 
-#: elf32-pru.c:579 elf32-pru.c:1472
+#: elf32-pru.c:582 elf32-pru.c:1475
 #, c-format
 msgid "error: %pB: old incompatible object file detected"
 msgstr ""
@@ -3259,22 +3306,22 @@ msgstr ""
 msgid "  the output file's flags: %s"
 msgstr ""
 
-#: elf32-rx.c:3792
+#: elf32-rx.c:3790
 #, c-format
 msgid "%pB:%pA: table %s missing corresponding %s"
 msgstr ""
 
-#: elf32-rx.c:3800
+#: elf32-rx.c:3798
 #, c-format
 msgid "%pB:%pA: %s and %s must be in the same input section"
 msgstr ""
 
-#: elf32-s390.c:2140 elf64-s390.c:2095
+#: elf32-s390.c:2139 elf64-s390.c:2093
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): invalid instruction for TLS relocation %s"
 msgstr ""
 
-#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3754
+#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3819
 msgid "not enough GOT space for local GOT entries"
 msgstr ""
 
@@ -3292,64 +3339,64 @@ msgstr ""
 msgid "%pB: CALL15 reloc at %#<PRIx64> not against global symbol"
 msgstr ""
 
-#: elf32-score.c:4003 elf32-score7.c:3808
+#: elf32-score.c:4002 elf32-score7.c:3807
 #, c-format
 msgid " [pic]"
 msgstr ""
 
-#: elf32-score.c:4007 elf32-score7.c:3812
+#: elf32-score.c:4006 elf32-score7.c:3811
 #, c-format
 msgid " [fix dep]"
 msgstr ""
 
-#: elf32-score.c:4050 elf32-score7.c:3855
+#: elf32-score.c:4049 elf32-score7.c:3854
 #, c-format
 msgid "%pB: warning: linking PIC files with non-PIC files"
 msgstr ""
 
-#: elf32-sh.c:533
+#: elf32-sh.c:535
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: R_SH_USES points to unrecognized insn 0x%x"
 msgstr ""
 
-#: elf32-sh.c:3633
+#: elf32-sh.c:3635
 msgid "unexpected STO_SH5_ISA32 on local symbol is not handled"
 msgstr ""
 
-#: elf32-sh.c:3880
+#: elf32-sh.c:3882
 #, c-format
 msgid ""
 "%pB: %#<PRIx64>: fatal: unaligned branch target for relax-support relocation"
 msgstr ""
 
-#: elf32-sh.c:3910 elf32-sh.c:3926
+#: elf32-sh.c:3912 elf32-sh.c:3928
 #, c-format
 msgid "%pB: %#<PRIx64>: fatal: unaligned %s relocation %#<PRIx64>"
 msgstr ""
 
-#: elf32-sh.c:3942
+#: elf32-sh.c:3944
 #, c-format
 msgid ""
 "%pB: %#<PRIx64>: fatal: R_SH_PSHA relocation %<PRId64> not in range -32..32"
 msgstr ""
 
-#: elf32-sh.c:3958
+#: elf32-sh.c:3960
 #, c-format
 msgid ""
 "%pB: %#<PRIx64>: fatal: R_SH_PSHL relocation %<PRId64> not in range -32..32"
 msgstr ""
 
-#: elf32-sh.c:4088 elf32-sh.c:4483
+#: elf32-sh.c:4090 elf32-sh.c:4485
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): cannot emit fixup to `%s' in read-only section"
 msgstr ""
 
-#: elf32-sh.c:4586
+#: elf32-sh.c:4588
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): %s relocation against external symbol \"%s\""
 msgstr ""
 
-#: elf32-sh.c:4705
+#: elf32-sh.c:4707
 #, c-format
 msgid ""
 "%pB(%pA): offset in relocation for GD->LE translation is too small: "
@@ -3357,81 +3404,81 @@ msgid ""
 msgstr ""
 
 #. The backslash is to prevent bogus trigraph detection.
-#: elf32-sh.c:4723
+#: elf32-sh.c:4725
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0xd4??)"
 msgstr ""
 
-#: elf32-sh.c:4731
+#: elf32-sh.c:4733
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0xc7??)"
 msgstr ""
 
-#: elf32-sh.c:4738
+#: elf32-sh.c:4740
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0xd1??)"
 msgstr ""
 
-#: elf32-sh.c:4745
+#: elf32-sh.c:4747
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0x310c)"
 msgstr ""
 
-#: elf32-sh.c:4752
+#: elf32-sh.c:4754
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0x410b)"
 msgstr ""
 
-#: elf32-sh.c:4759
+#: elf32-sh.c:4761
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0x34cc)"
 msgstr ""
 
-#: elf32-sh.c:4794
+#: elf32-sh.c:4796
 #, c-format
 msgid ""
 "%pB(%pA): offset in relocation for IE->LE translation is too small: "
 "%#<PRIx64>"
 msgstr ""
 
-#: elf32-sh.c:4812
+#: elf32-sh.c:4814
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0xd0??: mov.l)"
 msgstr ""
 
-#: elf32-sh.c:4821
+#: elf32-sh.c:4823
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0x0?12: stc)"
 msgstr ""
 
-#: elf32-sh.c:4828
+#: elf32-sh.c:4830
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0x0?ce: mov.l)"
 msgstr ""
 
-#: elf32-sh.c:4943
+#: elf32-sh.c:4945
 #, c-format
 msgid ""
 "%pB(%pA): offset in relocation for GD->IE translation is too small: "
 "%#<PRIx64>"
 msgstr ""
 
-#: elf32-sh.c:5011
+#: elf32-sh.c:5013
 #, c-format
 msgid ""
 "%pB(%pA): offset in relocation for LD->LE translation is too small: "
 "%#<PRIx64>"
 msgstr ""
 
-#: elf32-sh.c:5139
+#: elf32-sh.c:5141
 #, c-format
 msgid "%X%C: relocation to \"%s\" references a different segment\n"
 msgstr ""
 
-#: elf32-sh.c:5146
+#: elf32-sh.c:5148
 #, c-format
 msgid "%C: warning: relocation to \"%s\" references a different segment\n"
 msgstr ""
@@ -3451,7 +3498,7 @@ msgstr ""
 msgid "%pB: Function descriptor relocation with non-zero addend"
 msgstr ""
 
-#: elf32-sh.c:5895 elf64-alpha.c:4691
+#: elf32-sh.c:5895 elf64-alpha.c:4692
 #, c-format
 msgid "%pB: TLS local exec code cannot be linked into shared objects"
 msgstr ""
@@ -3490,142 +3537,142 @@ msgstr ""
 msgid "%pB: linking little endian files with big endian files"
 msgstr ""
 
-#: elf32-spu.c:732
+#: elf32-spu.c:735
 msgid "%X%P: overlay section %pA does not start on a cache line\n"
 msgstr ""
 
-#: elf32-spu.c:740
+#: elf32-spu.c:743
 msgid "%X%P: overlay section %pA is larger than a cache line\n"
 msgstr ""
 
-#: elf32-spu.c:760
+#: elf32-spu.c:763
 msgid "%X%P: overlay section %pA is not in cache area\n"
 msgstr ""
 
-#: elf32-spu.c:801
+#: elf32-spu.c:804
 #, c-format
 msgid "%X%P: overlay sections %pA and %pA do not start at the same address\n"
 msgstr ""
 
-#: elf32-spu.c:1027
+#: elf32-spu.c:1030
 #, c-format
 msgid "warning: call to non-function symbol %s defined in %pB"
 msgstr ""
 
-#: elf32-spu.c:1377
+#: elf32-spu.c:1380
 #, c-format
 msgid "%pA:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
 msgstr ""
 
-#: elf32-spu.c:1909
+#: elf32-spu.c:1912
 #, c-format
 msgid "%pB is not allowed to define %s"
 msgstr ""
 
-#: elf32-spu.c:1917
+#: elf32-spu.c:1920
 #, c-format
 msgid "you are not allowed to define %s in a script"
 msgstr ""
 
-#: elf32-spu.c:1951
+#: elf32-spu.c:1954
 #, c-format
 msgid "%s in overlay section"
 msgstr ""
 
-#: elf32-spu.c:1980
+#: elf32-spu.c:1983
 msgid "overlay stub relocation overflow"
 msgstr ""
 
-#: elf32-spu.c:1989 elf64-ppc.c:13230
+#: elf32-spu.c:1992 elf64-ppc.c:14100
 msgid "stubs don't match calculated size"
 msgstr ""
 
-#: elf32-spu.c:2572
+#: elf32-spu.c:2575
 #, c-format
 msgid "warning: %s overlaps %s\n"
 msgstr ""
 
-#: elf32-spu.c:2588
+#: elf32-spu.c:2591
 #, c-format
 msgid "warning: %s exceeds section size\n"
 msgstr ""
 
-#: elf32-spu.c:2620
+#: elf32-spu.c:2623
 #, c-format
 msgid "%pA:0x%v not found in function table\n"
 msgstr ""
 
-#: elf32-spu.c:2761
+#: elf32-spu.c:2764
 #, c-format
 msgid "%pB(%pA+0x%v): call to non-code section %pB(%pA), analysis incomplete\n"
 msgstr ""
 
-#: elf32-spu.c:3330
+#: elf32-spu.c:3333
 #, c-format
 msgid "stack analysis will ignore the call from %s to %s\n"
 msgstr ""
 
-#: elf32-spu.c:4027
+#: elf32-spu.c:4030
 msgid "  calls:\n"
 msgstr ""
 
-#: elf32-spu.c:4341
+#: elf32-spu.c:4344
 #, c-format
 msgid "%s duplicated in %s\n"
 msgstr ""
 
-#: elf32-spu.c:4345
+#: elf32-spu.c:4348
 #, c-format
 msgid "%s duplicated\n"
 msgstr ""
 
-#: elf32-spu.c:4352
+#: elf32-spu.c:4355
 msgid "sorry, no support for duplicate object files in auto-overlay script\n"
 msgstr ""
 
-#: elf32-spu.c:4394
+#: elf32-spu.c:4397
 #, c-format
 msgid ""
 "non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local "
 "store\n"
 msgstr ""
 
-#: elf32-spu.c:4550
+#: elf32-spu.c:4553
 #, c-format
 msgid "%pB:%pA%s exceeds overlay size\n"
 msgstr ""
 
-#: elf32-spu.c:4691
+#: elf32-spu.c:4694
 msgid "%F%P: auto overlay error: %E\n"
 msgstr ""
 
-#: elf32-spu.c:4712
+#: elf32-spu.c:4715
 msgid "Stack size for call graph root nodes.\n"
 msgstr ""
 
-#: elf32-spu.c:4713
+#: elf32-spu.c:4716
 msgid ""
 "\n"
 "Stack size for functions.  Annotations: '*' max stack, 't' tail call\n"
 msgstr ""
 
-#: elf32-spu.c:4723
+#: elf32-spu.c:4726
 msgid "Maximum stack required is 0x%v\n"
 msgstr ""
 
-#: elf32-spu.c:4742
+#: elf32-spu.c:4745
 msgid "%X%P: stack/lrlive analysis error: %E\n"
 msgstr ""
 
-#: elf32-spu.c:4745
+#: elf32-spu.c:4748
 msgid "%F%P: can not build overlay stubs: %E\n"
 msgstr ""
 
-#: elf32-spu.c:4814
+#: elf32-spu.c:4817
 msgid "fatal error while creating .fixup"
 msgstr ""
 
-#: elf32-spu.c:5049
+#: elf32-spu.c:5052
 #, c-format
 msgid "%pB(%s+%#<PRIx64>): unresolvable %s relocation against symbol `%s'"
 msgstr ""
@@ -3683,226 +3730,226 @@ msgstr ""
 msgid "warning: %pB and %pB differ in whether code is compiled for DSBT"
 msgstr ""
 
-#: elf32-tilepro.c:3761 elfxx-tilegx.c:4145 elfxx-x86.c:1432
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:9530
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2579
+#: elf32-tilepro.c:3760 elfxx-tilegx.c:4144 elfxx-x86.c:1432
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:9762
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2638
 #, c-format
 msgid "discarded output section: `%pA'"
 msgstr ""
 
-#: elf32-v850.c:153
+#: elf32-v850.c:152
 #, c-format
 msgid "variable `%s' cannot occupy in multiple small data regions"
 msgstr ""
 
-#: elf32-v850.c:156
+#: elf32-v850.c:155
 #, c-format
 msgid ""
 "variable `%s' can only be in one of the small, zero, and tiny data regions"
 msgstr ""
 
-#: elf32-v850.c:159
+#: elf32-v850.c:158
 #, c-format
 msgid ""
 "variable `%s' cannot be in both small and zero data regions simultaneously"
 msgstr ""
 
-#: elf32-v850.c:162
+#: elf32-v850.c:161
 #, c-format
 msgid ""
 "variable `%s' cannot be in both small and tiny data regions simultaneously"
 msgstr ""
 
-#: elf32-v850.c:165
+#: elf32-v850.c:164
 #, c-format
 msgid ""
 "variable `%s' cannot be in both zero and tiny data regions simultaneously"
 msgstr ""
 
-#: elf32-v850.c:463
+#: elf32-v850.c:462
 msgid "failed to find previous HI16 reloc"
 msgstr ""
 
-#: elf32-v850.c:2303
+#: elf32-v850.c:2302
 msgid "could not locate special linker symbol __gp"
 msgstr ""
 
-#: elf32-v850.c:2307
+#: elf32-v850.c:2306
 msgid "could not locate special linker symbol __ep"
 msgstr ""
 
-#: elf32-v850.c:2311
+#: elf32-v850.c:2310
 msgid "could not locate special linker symbol __ctbp"
 msgstr ""
 
-#: elf32-v850.c:2532
+#: elf32-v850.c:2531
 #, c-format
 msgid "error: %pB needs 8-byte alignment but %pB is set for 4-byte alignment"
 msgstr ""
 
-#: elf32-v850.c:2548
+#: elf32-v850.c:2547
 #, c-format
 msgid "error: %pB uses 64-bit doubles but %pB uses 32-bit doubles"
 msgstr ""
 
-#: elf32-v850.c:2563
+#: elf32-v850.c:2562
 #, c-format
 msgid "error: %pB uses FPU-3.0 but %pB only supports FPU-2.0"
 msgstr ""
 
-#: elf32-v850.c:2595
+#: elf32-v850.c:2594
 #, c-format
 msgid " alignment of 8-byte entities: "
 msgstr ""
 
-#: elf32-v850.c:2598
+#: elf32-v850.c:2597
 #, c-format
 msgid "4-byte"
 msgstr ""
 
-#: elf32-v850.c:2599
+#: elf32-v850.c:2598
 #, c-format
 msgid "8-byte"
 msgstr ""
 
-#: elf32-v850.c:2600 elf32-v850.c:2612
+#: elf32-v850.c:2599 elf32-v850.c:2611
 #, c-format
 msgid "not set"
 msgstr ""
 
-#: elf32-v850.c:2601 elf32-v850.c:2613 elf32-v850.c:2625 elf32-v850.c:2636
-#: elf32-v850.c:2647 elf32-v850.c:2658
+#: elf32-v850.c:2600 elf32-v850.c:2612 elf32-v850.c:2624 elf32-v850.c:2635
+#: elf32-v850.c:2646 elf32-v850.c:2657
 #, c-format
 msgid "unknown: %x"
 msgstr ""
 
-#: elf32-v850.c:2607
+#: elf32-v850.c:2606
 #, c-format
 msgid " size of doubles: "
 msgstr ""
 
-#: elf32-v850.c:2610
+#: elf32-v850.c:2609
 #, c-format
 msgid "4-bytes"
 msgstr ""
 
-#: elf32-v850.c:2611
+#: elf32-v850.c:2610
 #, c-format
 msgid "8-bytes"
 msgstr ""
 
-#: elf32-v850.c:2619
+#: elf32-v850.c:2618
 #, c-format
 msgid " FPU support required: "
 msgstr ""
 
-#: elf32-v850.c:2622
+#: elf32-v850.c:2621
 #, c-format
 msgid "FPU-2.0"
 msgstr ""
 
-#: elf32-v850.c:2623
+#: elf32-v850.c:2622
 #, c-format
 msgid "FPU-3.0"
 msgstr ""
 
-#: elf32-v850.c:2624
+#: elf32-v850.c:2623
 #, c-format
 msgid "none"
 msgstr ""
 
-#: elf32-v850.c:2631
+#: elf32-v850.c:2630
 #, c-format
 msgid "SIMD use: "
 msgstr ""
 
-#: elf32-v850.c:2634 elf32-v850.c:2645 elf32-v850.c:2656
+#: elf32-v850.c:2633 elf32-v850.c:2644 elf32-v850.c:2655
 #, c-format
 msgid "yes"
 msgstr ""
 
-#: elf32-v850.c:2635 elf32-v850.c:2646 elf32-v850.c:2657
+#: elf32-v850.c:2634 elf32-v850.c:2645 elf32-v850.c:2656
 #, c-format
 msgid "no"
 msgstr ""
 
-#: elf32-v850.c:2642
+#: elf32-v850.c:2641
 #, c-format
 msgid "CACHE use: "
 msgstr ""
 
-#: elf32-v850.c:2653
+#: elf32-v850.c:2652
 #, c-format
 msgid "MMU use: "
 msgstr ""
 
-#: elf32-v850.c:2820 elf32-v850.c:2876
+#: elf32-v850.c:2819 elf32-v850.c:2875
 #, c-format
 msgid "%pB: architecture mismatch with previous modules"
 msgstr ""
 
 #. xgettext:c-format.
-#: elf32-v850.c:2894
+#: elf32-v850.c:2893
 #, c-format
 msgid "private flags = %lx: "
 msgstr ""
 
-#: elf32-v850.c:2899
+#: elf32-v850.c:2898
 #, c-format
 msgid "unknown v850 architecture"
 msgstr ""
 
-#: elf32-v850.c:2901
+#: elf32-v850.c:2900
 #, c-format
 msgid "v850 E3 architecture"
 msgstr ""
 
-#: elf32-v850.c:2903 elf32-v850.c:2910
+#: elf32-v850.c:2902 elf32-v850.c:2909
 #, c-format
 msgid "v850 architecture"
 msgstr ""
 
-#: elf32-v850.c:2911
+#: elf32-v850.c:2910
 #, c-format
 msgid "v850e architecture"
 msgstr ""
 
-#: elf32-v850.c:2912
+#: elf32-v850.c:2911
 #, c-format
 msgid "v850e1 architecture"
 msgstr ""
 
-#: elf32-v850.c:2913
+#: elf32-v850.c:2912
 #, c-format
 msgid "v850e2 architecture"
 msgstr ""
 
-#: elf32-v850.c:2914
+#: elf32-v850.c:2913
 #, c-format
 msgid "v850e2v3 architecture"
 msgstr ""
 
-#: elf32-v850.c:2915
+#: elf32-v850.c:2914
 #, c-format
 msgid "v850e3v5 architecture"
 msgstr ""
 
-#: elf32-v850.c:3609 elf32-v850.c:3848
+#: elf32-v850.c:3607 elf32-v850.c:3846
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized insns"
 msgstr ""
 
-#: elf32-v850.c:3619 elf32-v850.c:3858
+#: elf32-v850.c:3617 elf32-v850.c:3856
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized insn %#x"
 msgstr ""
 
-#: elf32-v850.c:3665 elf32-v850.c:3893
+#: elf32-v850.c:3663 elf32-v850.c:3891
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized reloc"
 msgstr ""
 
-#: elf32-v850.c:3705
+#: elf32-v850.c:3703
 #, c-format
 msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized reloc %#<PRIx64>"
 msgstr ""
@@ -3929,22 +3976,22 @@ msgid ""
 "addend of %<PRId64>"
 msgstr ""
 
-#: elf32-vax.c:1446
+#: elf32-vax.c:1443
 #, c-format
 msgid "%pB: warning: PLT addend of %<PRId64> to `%s' from %pA section ignored"
 msgstr ""
 
-#: elf32-vax.c:1572
+#: elf32-vax.c:1569
 #, c-format
 msgid "%pB: warning: %s relocation against symbol `%s' from %pA section"
 msgstr ""
 
-#: elf32-vax.c:1579
+#: elf32-vax.c:1576
 #, c-format
 msgid "%pB: warning: %s relocation to %#<PRIx64> from %pA section"
 msgstr ""
 
-#: elf32-visium.c:821
+#: elf32-visium.c:824
 #, c-format
 msgid ""
 "%pB: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
@@ -3960,134 +4007,139 @@ msgstr ""
 msgid "error reading cpu type from elf private data"
 msgstr ""
 
-#: elf32-xstormy16.c:457 elf64-ia64-vms.c:2085 elf32-ia64.c:2353
-#: elf64-ia64.c:2353
+#: elf32-xstormy16.c:457 elf64-ia64-vms.c:2083 elf32-ia64.c:2349
+#: elf64-ia64.c:2349
 msgid "non-zero addend in @fptr reloc"
 msgstr ""
 
-#: elf32-xtensa.c:937
+#: elf32-xtensa.c:942
 #, c-format
 msgid "%pB(%pA): invalid property table"
 msgstr ""
 
-#: elf32-xtensa.c:2675
+#: elf32-xtensa.c:2679
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): relocation offset out of range (size=%#<PRIx64>)"
 msgstr ""
 
-#: elf32-xtensa.c:2758 elf32-xtensa.c:2881
+#: elf32-xtensa.c:2762 elf32-xtensa.c:2885
 msgid "dynamic relocation in read-only section"
 msgstr ""
 
-#: elf32-xtensa.c:2858
+#: elf32-xtensa.c:2862
 msgid "TLS relocation invalid without dynamic sections"
 msgstr ""
 
-#: elf32-xtensa.c:3070
+#: elf32-xtensa.c:3074
 msgid "internal inconsistency in size of .got.loc section"
 msgstr ""
 
-#: elf32-xtensa.c:3377
+#: elf32-xtensa.c:3381
 #, c-format
 msgid "%pB: incompatible machine type; output is 0x%x; input is 0x%x"
 msgstr ""
 
-#: elf32-xtensa.c:4608 elf32-xtensa.c:4616
+#: elf32-xtensa.c:4675 elf32-xtensa.c:4683
 msgid "attempt to convert L32R/CALLX to CALL failed"
 msgstr ""
 
-#: elf32-xtensa.c:6444 elf32-xtensa.c:6523 elf32-xtensa.c:7899
+#: elf32-xtensa.c:6511 elf32-xtensa.c:6590 elf32-xtensa.c:8021
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): could not decode instruction; possible configuration "
 "mismatch"
 msgstr ""
 
-#: elf32-xtensa.c:7638
+#: elf32-xtensa.c:7760
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): could not decode instruction for XTENSA_ASM_SIMPLIFY "
 "relocation; possible configuration mismatch"
 msgstr ""
 
-#: elf32-xtensa.c:9493
+#: elf32-xtensa.c:9615
 msgid "invalid relocation address"
 msgstr ""
 
-#: elf32-xtensa.c:9543
+#: elf32-xtensa.c:9665
 msgid "overflow after relaxation"
 msgstr ""
 
-#: elf32-xtensa.c:10689
+#: elf32-xtensa.c:10812
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): unexpected fix for %s relocation"
 msgstr ""
 
-#: elf64-alpha.c:472
+#: elf64-alpha.c:473
 msgid "GPDISP relocation did not find ldah and lda instructions"
 msgstr ""
 
-#: elf64-alpha.c:2463
+#: elf64-alpha.c:2464
 #, c-format
 msgid "%pB: .got subsegment exceeds 64K (size %d)"
 msgstr ""
 
-#: elf64-alpha.c:3018 elf64-alpha.c:3214
+#: elf64-alpha.c:3019 elf64-alpha.c:3215
 #, c-format
 msgid "%pB: %pA+%#<PRIx64>: warning: %s relocation against unexpected insn"
 msgstr ""
 
-#: elf64-alpha.c:4415 elf64-alpha.c:4428
+#: elf64-alpha.c:4416 elf64-alpha.c:4429
 #, c-format
 msgid "%pB: gp-relative relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf64-alpha.c:4484
+#: elf64-alpha.c:4485
 #, c-format
 msgid "%pB: change in gp: BRSGP %s"
 msgstr ""
 
-#: elf64-alpha.c:4509 mach-o.c:615
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:499
+#: elf64-alpha.c:4510 mach-o.c:616
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:512
 msgid "<unknown>"
 msgstr ""
 
-#: elf64-alpha.c:4515
+#: elf64-alpha.c:4516
 #, c-format
 msgid "%pB: !samegp reloc against symbol without .prologue: %s"
 msgstr ""
 
-#: elf64-alpha.c:4573
+#: elf64-alpha.c:4574
 #, c-format
 msgid "%pB: unhandled dynamic relocation against %s"
 msgstr ""
 
-#: elf64-alpha.c:4608
+#: elf64-alpha.c:4609
 #, c-format
 msgid "%pB: pc-relative relocation against undefined weak symbol %s"
 msgstr ""
 
-#: elf64-alpha.c:4674
+#: elf64-alpha.c:4675
 #, c-format
 msgid "%pB: dtp-relative relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf64-alpha.c:4699
+#: elf64-alpha.c:4700
 #, c-format
 msgid "%pB: tp-relative relocation against dynamic symbol %s"
 msgstr ""
 
+#. Only if it's not an unresolved symbol.
+#: elf64-bpf.c:492
+msgid "internal error: relocation not supported"
+msgstr ""
+
 #: elf64-gen.c:71
 #, c-format
 msgid "%pB: Relocations in generic ELF (EM: %d)"
 msgstr ""
 
-#: elf64-hppa.c:2081
+#: elf64-hppa.c:2079
 #, c-format
 msgid "stub entry for %s cannot load .plt, dp offset = %<PRId64>"
 msgstr ""
 
-#: elf64-hppa.c:3286
+#: elf64-hppa.c:3283
 #, c-format
 msgid "%pB(%pA+%#<PRIx64>): cannot reach %s"
 msgstr ""
@@ -4099,106 +4151,106 @@ msgid ""
 "indirect branch"
 msgstr ""
 
-#: elf64-ia64-vms.c:2040 elf32-ia64.c:2301 elf64-ia64.c:2301
+#: elf64-ia64-vms.c:2038 elf32-ia64.c:2297 elf64-ia64.c:2297
 msgid "@pltoff reloc against local symbol"
 msgstr ""
 
-#: elf64-ia64-vms.c:3292 elf32-ia64.c:3712 elf64-ia64.c:3712
+#: elf64-ia64-vms.c:3290 elf32-ia64.c:3708 elf64-ia64.c:3708
 #, c-format
 msgid "%pB: short data segment overflowed (%#<PRIx64> >= 0x400000)"
 msgstr ""
 
-#: elf64-ia64-vms.c:3302 elf32-ia64.c:3722 elf64-ia64.c:3722
+#: elf64-ia64-vms.c:3300 elf32-ia64.c:3718 elf64-ia64.c:3718
 #, c-format
 msgid "%pB: __gp does not cover short data segment"
 msgstr ""
 
-#: elf64-ia64-vms.c:3572 elf32-ia64.c:3996 elf64-ia64.c:3996
+#: elf64-ia64-vms.c:3570 elf32-ia64.c:3992 elf64-ia64.c:3992
 #, c-format
 msgid "%pB: non-pic code with imm relocation against dynamic symbol `%s'"
 msgstr ""
 
-#: elf64-ia64-vms.c:3636 elf32-ia64.c:4064 elf64-ia64.c:4064
+#: elf64-ia64-vms.c:3634 elf32-ia64.c:4060 elf64-ia64.c:4060
 #, c-format
 msgid "%pB: @gprel relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf64-ia64-vms.c:3695 elf32-ia64.c:4127 elf64-ia64.c:4127
+#: elf64-ia64-vms.c:3693 elf32-ia64.c:4123 elf64-ia64.c:4123
 #, c-format
 msgid "%pB: linking non-pic code in a position independent executable"
 msgstr ""
 
-#: elf64-ia64-vms.c:3797 elf32-ia64.c:4265 elf64-ia64.c:4265
+#: elf64-ia64-vms.c:3795 elf32-ia64.c:4261 elf64-ia64.c:4261
 #, c-format
 msgid "%pB: @internal branch to dynamic symbol %s"
 msgstr ""
 
-#: elf64-ia64-vms.c:3800 elf32-ia64.c:4268 elf64-ia64.c:4268
+#: elf64-ia64-vms.c:3798 elf32-ia64.c:4264 elf64-ia64.c:4264
 #, c-format
 msgid "%pB: speculation fixup to dynamic symbol %s"
 msgstr ""
 
-#: elf64-ia64-vms.c:3803 elf32-ia64.c:4271 elf64-ia64.c:4271
+#: elf64-ia64-vms.c:3801 elf32-ia64.c:4267 elf64-ia64.c:4267
 #, c-format
 msgid "%pB: @pcrel relocation against dynamic symbol %s"
 msgstr ""
 
-#: elf64-ia64-vms.c:3927 elf32-ia64.c:4468 elf64-ia64.c:4468
+#: elf64-ia64-vms.c:3925 elf32-ia64.c:4464 elf64-ia64.c:4464
 msgid "unsupported reloc"
 msgstr ""
 
-#: elf64-ia64-vms.c:3964 elf32-ia64.c:4506 elf64-ia64.c:4506
+#: elf64-ia64-vms.c:3962 elf32-ia64.c:4502 elf64-ia64.c:4502
 #, c-format
 msgid ""
 "%pB: missing TLS section for relocation %s against `%s' at %#<PRIx64> in "
 "section `%pA'."
 msgstr ""
 
-#: elf64-ia64-vms.c:3981 elf32-ia64.c:4523 elf64-ia64.c:4523
+#: elf64-ia64-vms.c:3979 elf32-ia64.c:4519 elf64-ia64.c:4519
 #, c-format
 msgid ""
 "%pB: Can't relax br (%s) to `%s' at %#<PRIx64> in section `%pA' with size "
 "%#<PRIx64> (> 0x1000000)."
 msgstr ""
 
-#: elf64-ia64-vms.c:4273 elf32-ia64.c:4781 elf64-ia64.c:4781
+#: elf64-ia64-vms.c:4271 elf32-ia64.c:4777 elf64-ia64.c:4777
 #, c-format
 msgid "%pB: linking trap-on-NULL-dereference with non-trapping files"
 msgstr ""
 
-#: elf64-ia64-vms.c:4282 elf32-ia64.c:4790 elf64-ia64.c:4790
+#: elf64-ia64-vms.c:4280 elf32-ia64.c:4786 elf64-ia64.c:4786
 #, c-format
 msgid "%pB: linking big-endian files with little-endian files"
 msgstr ""
 
-#: elf64-ia64-vms.c:4291 elf32-ia64.c:4799 elf64-ia64.c:4799
+#: elf64-ia64-vms.c:4289 elf32-ia64.c:4795 elf64-ia64.c:4795
 #, c-format
 msgid "%pB: linking 64-bit files with 32-bit files"
 msgstr ""
 
-#: elf64-ia64-vms.c:4300 elf32-ia64.c:4808 elf64-ia64.c:4808
+#: elf64-ia64-vms.c:4298 elf32-ia64.c:4804 elf64-ia64.c:4804
 #, c-format
 msgid "%pB: linking constant-gp files with non-constant-gp files"
 msgstr ""
 
-#: elf64-ia64-vms.c:4310 elf32-ia64.c:4818 elf64-ia64.c:4818
+#: elf64-ia64-vms.c:4308 elf32-ia64.c:4814 elf64-ia64.c:4814
 #, c-format
 msgid "%pB: linking auto-pic files with non-auto-pic files"
 msgstr ""
 
-#: elf64-ia64-vms.c:5153 elflink.c:4894
+#: elf64-ia64-vms.c:5155 elflink.c:4964
 #, c-format
 msgid ""
 "warning: alignment %u of common symbol `%s' in %pB is greater than the "
 "alignment (%u) of its section %pA"
 msgstr ""
 
-#: elf64-ia64-vms.c:5160 elflink.c:4901
+#: elf64-ia64-vms.c:5162 elflink.c:4971
 #, c-format
 msgid "warning: alignment %u of symbol `%s' in %pB is smaller than %u in %pB"
 msgstr ""
 
-#: elf64-ia64-vms.c:5176 elflink.c:4918
+#: elf64-ia64-vms.c:5178 elflink.c:4988
 #, c-format
 msgid ""
 "warning: size of symbol `%s' changed from %<PRIu64> in %pB to %<PRIu64> in "
@@ -4257,163 +4309,163 @@ msgstr ""
 msgid "%pB: directive LOCAL valid only with a register or absolute value"
 msgstr ""
 
-#: elf64-mmix.c:1744
+#: elf64-mmix.c:1742
 #, c-format
 msgid ""
 "%pB: LOCAL directive: register $%<PRId64> is not a local register; first "
 "global register is $%<PRId64>"
 msgstr ""
 
-#: elf64-mmix.c:2173
+#: elf64-mmix.c:2167
 #, c-format
 msgid ""
 "%pB: error: multiple definition of `%s'; start of %s is set in a earlier "
 "linked file"
 msgstr ""
 
-#: elf64-mmix.c:2228
+#: elf64-mmix.c:2222
 msgid "register section has contents\n"
 msgstr ""
 
-#: elf64-mmix.c:2418
+#: elf64-mmix.c:2412
 #, c-format
 msgid ""
 "internal inconsistency: remaining %lu != max %lu; please report this bug"
 msgstr ""
 
-#: elf64-ppc.c:3827
+#: elf64-ppc.c:4072
 #, c-format
 msgid "symbol '%s' has invalid st_other for ABI version 1"
 msgstr ""
 
-#: elf64-ppc.c:4002
+#: elf64-ppc.c:4247
 #, c-format
 msgid "%pB .opd not allowed in ABI version %d"
 msgstr ""
 
-#: elf64-ppc.c:4523
+#: elf64-ppc.c:4835
 #, c-format
 msgid "%H: %s reloc unsupported in shared libraries and PIEs\n"
 msgstr ""
 
-#: elf64-ppc.c:4919
+#: elf64-ppc.c:5247
 #, c-format
 msgid "%pB uses unknown e_flags 0x%lx"
 msgstr ""
 
-#: elf64-ppc.c:4927
+#: elf64-ppc.c:5255
 #, c-format
 msgid "%pB: ABI version %ld is not compatible with ABI version %ld output"
 msgstr ""
 
-#: elf64-ppc.c:4954
+#: elf64-ppc.c:5282
 #, c-format
 msgid " [abiv%ld]"
 msgstr ""
 
-#: elf64-ppc.c:6145
+#: elf64-ppc.c:6473
 msgid ""
 "%P: copy reloc against `%pT' requires lazy plt linking; avoid setting "
 "LD_BIND_NOW=1 or upgrade gcc\n"
 msgstr ""
 
-#: elf64-ppc.c:6417
+#: elf64-ppc.c:6745
 #, c-format
 msgid "%pB: undefined symbol on R_PPC64_TOCSAVE relocation"
 msgstr ""
 
-#: elf64-ppc.c:6644
+#: elf64-ppc.c:6993
 #, c-format
 msgid "dynreloc miscount for %pB, section %pA"
 msgstr ""
 
-#: elf64-ppc.c:6733
+#: elf64-ppc.c:7082
 #, c-format
 msgid "%pB: .opd is not a regular array of opd entries"
 msgstr ""
 
-#: elf64-ppc.c:6743
+#: elf64-ppc.c:7092
 #, c-format
 msgid "%pB: unexpected reloc type %u in .opd section"
 msgstr ""
 
-#: elf64-ppc.c:6765
+#: elf64-ppc.c:7114
 #, c-format
 msgid "%pB: undefined sym `%s' in .opd section"
 msgstr ""
 
-#: elf64-ppc.c:7249
+#: elf64-ppc.c:7603
 msgid ""
 "warning: --plt-localentry is especially dangerous without ld.so support to "
 "detect ABI violations"
 msgstr ""
 
-#: elf64-ppc.c:7499
+#: elf64-ppc.c:7856
 msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
 msgstr ""
 
-#: elf64-ppc.c:7876 elf64-ppc.c:8513
+#: elf64-ppc.c:8241 elf64-ppc.c:8949
 #, c-format
 msgid "%s defined on removed toc entry"
 msgstr ""
 
-#: elf64-ppc.c:8241
+#: elf64-ppc.c:8906
 #, c-format
-msgid "%H: toc optimization is not supported for %s instruction\n"
+msgid "%H: %s references optimized away TOC entry\n"
 msgstr ""
 
-#: elf64-ppc.c:8470
+#: elf64-ppc.c:9130
 #, c-format
-msgid "%H: %s references optimized away TOC entry\n"
+msgid "%H: got/toc optimization is not supported for %s instruction\n"
 msgstr ""
 
-#: elf64-ppc.c:9301
+#: elf64-ppc.c:9981
 #, c-format
 msgid "warning: discarding dynamic section %s"
 msgstr ""
 
-#: elf64-ppc.c:10215
+#: elf64-ppc.c:11045
 msgid "%P: cannot find opd entry toc for `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:10303
+#: elf64-ppc.c:11134
 #, c-format
 msgid "long branch stub `%s' offset overflow"
 msgstr ""
 
-#: elf64-ppc.c:10330
+#: elf64-ppc.c:11161
 #, c-format
 msgid "can't find branch stub `%s'"
 msgstr ""
 
-#: elf64-ppc.c:10394 elf64-ppc.c:10642 elf64-ppc.c:12791
+#: elf64-ppc.c:11225 elf64-ppc.c:11492 elf64-ppc.c:13661
 #, c-format
 msgid "%P: linkage table error against `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:10820
+#: elf64-ppc.c:11670
 #, c-format
 msgid "can't build branch stub `%s'"
 msgstr ""
 
-#: elf64-ppc.c:11779
+#: elf64-ppc.c:12649
 #, c-format
 msgid "%pB section %pA exceeds stub group size"
 msgstr ""
 
-#: elf64-ppc.c:13189 elf64-ppc.c:13208
+#: elf64-ppc.c:14059 elf64-ppc.c:14078
 #, c-format
 msgid "%s offset too large for .eh_frame sdata4 encoding"
 msgstr ""
 
-#: elf64-ppc.c:13244
+#: elf64-ppc.c:14114
 #, c-format
 msgid "linker stubs in %u group\n"
 msgid_plural "linker stubs in %u groups\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: elf64-ppc.c:13248
+#: elf64-ppc.c:14118
 #, c-format
 msgid ""
 "  branch         %lu\n"
@@ -4431,85 +4483,91 @@ msgid ""
 "  global entry   %lu"
 msgstr ""
 
-#: elf64-ppc.c:13583
+#: elf64-ppc.c:14513
 #, c-format
 msgid "%H: %s used with TLS symbol `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:13585
+#: elf64-ppc.c:14515
 #, c-format
 msgid "%H: %s used with non-TLS symbol `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:14245
+#: elf64-ppc.c:15269
 #, c-format
 msgid "%H: call to `%pT' lacks nop, can't restore toc; (plt call stub)\n"
 msgstr ""
 
-#: elf64-ppc.c:14251
+#: elf64-ppc.c:15275
 #, c-format
 msgid ""
 "%H: call to `%pT' lacks nop, can't restore toc; (toc save/adjust stub)\n"
 msgstr ""
 
-#: elf64-ppc.c:14985
+#: elf64-ppc.c:16160
 #, c-format
 msgid "%H: %s for indirect function `%pT' unsupported\n"
 msgstr ""
 
-#: elf64-ppc.c:15097
+#: elf64-ppc.c:16247
+#, c-format
+msgid ""
+"%X%P: %pB: %s against %pT is not supported by glibc as a dynamic relocation\n"
+msgstr ""
+
+#: elf64-ppc.c:16302
 #, c-format
 msgid "%P: %pB: %s is not supported for `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:15326
+#: elf64-ppc.c:16561
 #, c-format
 msgid "%H: error: %s not a multiple of %u\n"
 msgstr ""
 
-#: elf64-ppc.c:15349
+#: elf64-ppc.c:16584
 #, c-format
 msgid "%H: unresolvable %s against `%pT'\n"
 msgstr ""
 
-#: elf64-ppc.c:15446
+#: elf64-ppc.c:16729
 #, c-format
 msgid "%H: %s against `%pT': error %d\n"
 msgstr ""
 
-#: elf64-s390.c:2576
+#: elf64-s390.c:2574
 #, c-format
 msgid ""
 "%pB: `%s' non-PLT reloc for symbol defined in shared library and accessed "
 "from executable (rebuild file with -fPIC ?)"
 msgstr ""
 
-#: elf64-sparc.c:109 elfcode.h:1471
+#: elf64-sparc.c:125 elfcode.h:1467
 #, c-format
 msgid "%pB(%pA): relocation %d has invalid symbol index %ld"
 msgstr ""
 
-#: elf64-sparc.c:467
+#: elf64-sparc.c:483
 #, c-format
 msgid "%pB: only registers %%g[2367] can be declared using STT_REGISTER"
 msgstr ""
 
-#: elf64-sparc.c:488
+#: elf64-sparc.c:504
 #, c-format
 msgid "register %%g%d used incompatibly: %s in %pB, previously %s in %pB"
 msgstr ""
 
-#: elf64-sparc.c:512
+#: elf64-sparc.c:528
 #, c-format
 msgid "symbol `%s' has differing types: REGISTER in %pB, previously %s in %pB"
 msgstr ""
 
-#: elf64-sparc.c:559
+#: elf64-sparc.c:575
 #, c-format
 msgid "Symbol `%s' has differing types: %s in %pB, previously REGISTER in %pB"
 msgstr ""
 
-#: elf64-sparc.c:691
+#: elf64-sparc.c:707
 #, c-format
 msgid "%pB: linking UltraSPARC specific with HAL specific code"
 msgstr ""
@@ -4530,84 +4588,92 @@ msgstr ""
 msgid "symbol "
 msgstr ""
 
-#: elf64-x86-64.c:1425 elf64-x86-64.c:1435
-msgid "; recompile with -fPIC"
-msgstr ""
-
 #: elf64-x86-64.c:1430
 msgid "undefined "
 msgstr ""
 
-#: elf64-x86-64.c:1439
+#: elf64-x86-64.c:1440
 msgid "a shared object"
 msgstr ""
 
-#: elf64-x86-64.c:1441
+#: elf64-x86-64.c:1442
+msgid "; recompile with -fPIC"
+msgstr ""
+
+#: elf64-x86-64.c:1447
 msgid "a PIE object"
 msgstr ""
 
-#: elf64-x86-64.c:1443
+#: elf64-x86-64.c:1449
 msgid "a PDE object"
 msgstr ""
 
-#: elf64-x86-64.c:1446
+#: elf64-x86-64.c:1451
+msgid "; recompile with -fPIE"
+msgstr ""
+
+#: elf64-x86-64.c:1455
 #, c-format
 msgid "%pB: relocation %s against %s%s`%s' can not be used when making %s%s"
 msgstr ""
 
-#: elf64-x86-64.c:1931
+#: elf64-x86-64.c:1940
 #, c-format
 msgid "%pB: relocation %s against symbol `%s' isn't supported in x32 mode"
 msgstr ""
 
-#: elf64-x86-64.c:2073
+#: elf64-x86-64.c:2078
 #, c-format
 msgid "%pB: '%s' accessed both as normal and thread local symbol"
 msgstr ""
 
-#: elf64-x86-64.c:2696 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5302
+#: elf64-x86-64.c:2700 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5534
 #, c-format
 msgid ""
 "%pB: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: "
 "%<PRId64>"
 msgstr ""
 
-#: elf64-x86-64.c:2934
+#: elf64-x86-64.c:2938
 #, c-format
 msgid ""
 "%pB: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used "
 "when making a shared object"
 msgstr ""
 
-#: elf64-x86-64.c:2948
+#: elf64-x86-64.c:2952
 #, c-format
 msgid ""
 "%pB: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used "
 "when making a shared object"
 msgstr ""
 
-#: elf64-x86-64.c:3208
+#: elf64-x86-64.c:3229
 #, c-format
 msgid ""
 "%pB: addend %s%#x in relocation %s against symbol `%s' at %#<PRIx64> in "
 "section `%pA' is out of range"
 msgstr ""
 
-#: elf64-x86-64.c:3885
+#: elf64-x86-64.c:3363 elflink.c:13133
+msgid "%F%P: corrupt input: %pB\n"
+msgstr ""
+
+#: elf64-x86-64.c:4000
 msgid "%F%P: failed to convert GOTPCREL relocation; relink with --no-relax\n"
 msgstr ""
 
-#: elf64-x86-64.c:4043
+#: elf64-x86-64.c:4158
 #, c-format
 msgid "%F%pB: PC-relative offset overflow in PLT entry for `%s'\n"
 msgstr ""
 
-#: elf64-x86-64.c:4106
+#: elf64-x86-64.c:4221
 #, c-format
 msgid "%F%pB: branch displacement overflow in PLT entry for `%s'\n"
 msgstr ""
 
-#: elf64-x86-64.c:4159
+#: elf64-x86-64.c:4274
 #, c-format
 msgid "%F%pB: PC-relative offset overflow in GOT PLT entry for `%s'\n"
 msgstr ""
@@ -4616,633 +4682,677 @@ msgstr ""
 msgid "warning: %pB has a corrupt section with a size (%"
 msgstr ""
 
-#: elfcode.h:768
+#: elfcode.h:764
 #, c-format
 msgid "warning: %pB has a corrupt string table index - ignoring"
 msgstr ""
 
-#: elfcode.h:1212
+#: elfcode.h:1208
 #, c-format
 msgid "%pB: version count (%<PRId64>) does not match symbol count (%ld)"
 msgstr ""
 
-#: elfcore.h:300
+#: elfcore.h:308
 #, c-format
 msgid ""
 "warning: %pB is truncated: expected core file size >= %<PRIu64>, found: "
 "%<PRIu64>"
 msgstr ""
 
-#: elflink.c:1367
+#: elflink.c:1362
 #, c-format
 msgid ""
 "%s: TLS definition in %pB section %pA mismatches non-TLS definition in %pB "
 "section %pA"
 msgstr ""
 
-#: elflink.c:1373
+#: elflink.c:1368
 #, c-format
 msgid "%s: TLS reference in %pB mismatches non-TLS reference in %pB"
 msgstr ""
 
-#: elflink.c:1379
+#: elflink.c:1374
 #, c-format
 msgid ""
 "%s: TLS definition in %pB section %pA mismatches non-TLS reference in %pB"
 msgstr ""
 
-#: elflink.c:1385
+#: elflink.c:1380
 #, c-format
 msgid ""
 "%s: TLS reference in %pB mismatches non-TLS definition in %pB section %pA"
 msgstr ""
 
-#: elflink.c:2075
+#: elflink.c:2071
 #, c-format
 msgid "%pB: unexpected redefinition of indirect versioned symbol `%s'"
 msgstr ""
 
-#: elflink.c:2452
+#: elflink.c:2448
 #, c-format
 msgid "%pB: version node not found for symbol %s"
 msgstr ""
 
-#: elflink.c:2541
+#: elflink.c:2539
 #, c-format
 msgid ""
 "%pB: bad reloc symbol index (%#<PRIx64> >= %#lx) for offset %#<PRIx64> in "
 "section `%pA'"
 msgstr ""
 
-#: elflink.c:2553
+#: elflink.c:2551
 #, c-format
 msgid ""
 "%pB: non-zero symbol index (%#<PRIx64>) for offset %#<PRIx64> in section `"
 "%pA' when the object file has no symbol table"
 msgstr ""
 
-#: elflink.c:2744
+#: elflink.c:2742
 #, c-format
 msgid "%pB: relocation size mismatch in %pB section %pA"
 msgstr ""
 
-#: elflink.c:3066
+#: elflink.c:3071
 #, c-format
 msgid "warning: type and size of dynamic symbol `%s' are not defined"
 msgstr ""
 
-#: elflink.c:3128
+#: elflink.c:3131
 msgid "%P: copy reloc against protected `%pT' is dangerous\n"
 msgstr ""
 
-#: elflink.c:3932
+#: elflink.c:3969
 #, c-format
 msgid "alternate ELF machine code found (%d) in %pB, expecting %d"
 msgstr ""
 
-#: elflink.c:4598
+#: elflink.c:4426
+#, c-format
+msgid "%pB: invalid version offset %lx (max %lx)"
+msgstr ""
+
+#: elflink.c:4494
+#, c-format
+msgid "%pB: %s local symbol at index %lu (>= sh_info of %lu)"
+msgstr ""
+
+#: elflink.c:4642
+#, c-format
+msgid "%pB: not enough version information"
+msgstr ""
+
+#: elflink.c:4680
 #, c-format
 msgid "%pB: %s: invalid version %u (max %d)"
 msgstr ""
 
-#: elflink.c:4635
+#: elflink.c:4717
 #, c-format
 msgid "%pB: %s: invalid needed version %d"
 msgstr ""
 
-#: elflink.c:5054
+#: elflink.c:5124
 #, c-format
 msgid "%pB: undefined reference to symbol '%s'"
 msgstr ""
 
-#: elflink.c:6130
+#: elflink.c:6217
 #, c-format
 msgid "%pB: stack size specified and %s set"
 msgstr ""
 
-#: elflink.c:6134
+#: elflink.c:6221
 #, c-format
 msgid "%pB: %s not absolute"
 msgstr ""
 
-#: elflink.c:6331
+#: elflink.c:6418
 #, c-format
 msgid "%s: undefined version: %s"
 msgstr ""
 
-#: elflink.c:6902
+#: elflink.c:6989
 #, c-format
 msgid "%pB: .preinit_array section is not allowed in DSO"
 msgstr ""
 
-#: elflink.c:8359
+#: elflink.c:8475
 #, c-format
 msgid "undefined %s reference in complex symbol: %s"
 msgstr ""
 
-#: elflink.c:8514
+#: elflink.c:8630
 #, c-format
 msgid "unknown operator '%c' in complex symbol"
 msgstr ""
 
 #. PR 21524: Let the user know if a symbol was removed by garbage collection.
-#: elflink.c:8852
+#: elflink.c:8968
 #, c-format
 msgid ""
 "%pB:%pA: error: relocation references symbol %s which was removed by garbage "
 "collection"
 msgstr ""
 
-#: elflink.c:8855
+#: elflink.c:8971
 #, c-format
 msgid "%pB:%pA: error: try relinking with --gc-keep-exported enabled"
 msgstr ""
 
-#: elflink.c:9091 elflink.c:9109 elflink.c:9148 elflink.c:9166
+#: elflink.c:9216 elflink.c:9234 elflink.c:9273 elflink.c:9291
 #, c-format
 msgid "%pB: unable to sort relocs - they are in more than one size"
 msgstr ""
 
 #. The section size is not divisible by either -
 #. something is wrong.
-#: elflink.c:9125 elflink.c:9182
+#: elflink.c:9250 elflink.c:9307
 #, c-format
 msgid "%pB: unable to sort relocs - they are of an unknown size"
 msgstr ""
 
-#: elflink.c:9234
+#: elflink.c:9359
 msgid "not enough memory to sort relocations"
 msgstr ""
 
-#: elflink.c:9502
+#: elflink.c:9640
 #, c-format
 msgid "%pB: too many sections: %d (>= %d)"
 msgstr ""
 
-#: elflink.c:9782
+#: elflink.c:9920
 #, c-format
 msgid "%pB: internal symbol `%s' in %pB is referenced by DSO"
 msgstr ""
 
-#: elflink.c:9785
+#: elflink.c:9923
 #, c-format
 msgid "%pB: hidden symbol `%s' in %pB is referenced by DSO"
 msgstr ""
 
-#: elflink.c:9788
+#: elflink.c:9926
 #, c-format
 msgid "%pB: local symbol `%s' in %pB is referenced by DSO"
 msgstr ""
 
-#: elflink.c:9874
+#: elflink.c:10012
 #, c-format
 msgid "%pB: could not find output section %pA for input section %pA"
 msgstr ""
 
-#: elflink.c:10028
+#: elflink.c:10166
 #, c-format
 msgid "%pB: protected symbol `%s' isn't defined"
 msgstr ""
 
-#: elflink.c:10031
+#: elflink.c:10169
 #, c-format
 msgid "%pB: internal symbol `%s' isn't defined"
 msgstr ""
 
-#: elflink.c:10034
+#: elflink.c:10172
 #, c-format
 msgid "%pB: hidden symbol `%s' isn't defined"
 msgstr ""
 
-#: elflink.c:10066
+#: elflink.c:10204
 #, c-format
 msgid "%pB: no symbol version section for versioned symbol `%s'"
 msgstr ""
 
-#: elflink.c:10679
+#: elflink.c:10816
 #, c-format
 msgid "error: %pB: size of section %pA is not multiple of address size"
 msgstr ""
 
-#: elflink.c:10724
+#: elflink.c:10861
 #, c-format
 msgid ""
 "error: %pB contains a reloc (%#<PRIx64>) for section %pA that references a "
 "non-existent global symbol"
 msgstr ""
 
-#: elflink.c:11484
+#: elflink.c:11604
 #, c-format
 msgid ""
 "%pA has both ordered [`%pA' in %pB] and unordered [`%pA' in %pB] sections"
 msgstr ""
 
-#: elflink.c:11490
+#: elflink.c:11610
 #, c-format
 msgid "%pA has both ordered and unordered sections"
 msgstr ""
 
-#: elflink.c:11592
+#: elflink.c:11714
 #, c-format
 msgid "%pB: no symbol found for import library"
 msgstr ""
 
-#: elflink.c:12225
+#: elflink.c:12356
 #, c-format
 msgid "%pB: file class %s incompatible with %s"
 msgstr ""
 
-#: elflink.c:12442
+#: elflink.c:12573
 #, c-format
 msgid "%pB: failed to generate import library"
 msgstr ""
 
-#: elflink.c:12561
+#: elflink.c:12692
 #, c-format
 msgid "warning: %s section has zero size"
 msgstr ""
 
-#: elflink.c:12609
+#: elflink.c:12740
 #, c-format
 msgid "warning: section '%s' is being made into a note"
 msgstr ""
 
-#: elflink.c:12701
+#: elflink.c:12832
 msgid "%P%X: read-only segment has dynamic relocations\n"
 msgstr ""
 
-#: elflink.c:12704
+#: elflink.c:12835
 msgid "%P: warning: creating a DT_TEXTREL in a shared object\n"
 msgstr ""
 
-#: elflink.c:12829
+#: elflink.c:12960
 msgid "%P%X: can not read symbols: %E\n"
 msgstr ""
 
-#: elflink.c:13002
-msgid "%F%P: corrupt input: %pB\n"
+#: elflink.c:13799
+#, c-format
+msgid "%pB: %pA+%#<PRIx64>: no symbol found for INHERIT"
 msgstr ""
 
-#: elflink.c:13668
+#: elflink.c:13840
 #, c-format
-msgid "%pB: %pA+%#<PRIx64>: no symbol found for INHERIT"
+msgid "%pB: section '%pA': corrupt VTENTRY entry"
 msgstr ""
 
-#: elflink.c:13844
+#: elflink.c:13983
 #, c-format
 msgid "unrecognized INPUT_SECTION_FLAG %s\n"
 msgstr ""
 
-#: elfxx-mips.c:1450
+#: elfxx-aarch64.c:477
+#, c-format
+msgid ""
+"%pB: warning: Weak TLS is implementation defined and may not work as expected"
+msgstr ""
+
+#: elfxx-aarch64.c:738 /work/sources/binutils/current/bfd/elfnn-aarch64.c:9960
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:9967
+#, c-format
+msgid ""
+"%pB: warning: BTI turned on by -z force-bti when all inputs do not have BTI "
+"in NOTE section."
+msgstr ""
+
+#: elfxx-aarch64.c:758 elfxx-x86.c:2625
+msgid "%F%P: failed to create GNU property section\n"
+msgstr ""
+
+#: elfxx-aarch64.c:762 elfxx-x86.c:2630
+#, c-format
+msgid "%F%pA: failed to align section\n"
+msgstr ""
+
+#: elfxx-aarch64.c:812
+#, c-format
+msgid "error: %pB: <corrupt AArch64 used size: 0x%x>"
+msgstr ""
+
+#: elfxx-mips.c:1515
 msgid "static procedure (no name)"
 msgstr ""
 
-#: elfxx-mips.c:5718
+#: elfxx-mips.c:5800
 msgid "MIPS16 and microMIPS functions cannot call each other"
 msgstr ""
 
-#: elfxx-mips.c:6485
+#: elfxx-mips.c:6565
 msgid "%X%H: unsupported JALX to the same ISA mode\n"
 msgstr ""
 
-#: elfxx-mips.c:6518
+#: elfxx-mips.c:6598
 msgid ""
 "%X%H: unsupported jump between ISA modes; consider recompiling with "
 "interlinking enabled\n"
 msgstr ""
 
-#: elfxx-mips.c:6563
+#: elfxx-mips.c:6643
 msgid ""
 "%X%H: cannot convert branch between ISA modes to JALX: relocation out of "
 "range\n"
 msgstr ""
 
-#: elfxx-mips.c:6575
+#: elfxx-mips.c:6655
 msgid "%X%H: unsupported branch between ISA modes\n"
 msgstr ""
 
-#: elfxx-mips.c:7223
+#: elfxx-mips.c:7303
 #, c-format
 msgid ""
 "%pB: incorrect `.reginfo' section size; expected %<PRIu64>, got %<PRIu64>"
 msgstr ""
 
-#: elfxx-mips.c:7267 elfxx-mips.c:7502
+#: elfxx-mips.c:7347 elfxx-mips.c:7584
 #, c-format
 msgid "%pB: warning: bad `%s' option size %u smaller than its header"
 msgstr ""
 
-#: elfxx-mips.c:8300 elfxx-mips.c:8426
+#: elfxx-mips.c:8391 elfxx-mips.c:8517
 #, c-format
 msgid ""
 "%pB: warning: cannot determine the target function for stub section `%s'"
 msgstr ""
 
-#: elfxx-mips.c:8558
+#: elfxx-mips.c:8649
 #, c-format
 msgid "%pB: malformed reloc detected for section %s"
 msgstr ""
 
-#: elfxx-mips.c:8658
+#: elfxx-mips.c:8749
 #, c-format
 msgid "%pB: GOT reloc at %#<PRIx64> not expected in executables"
 msgstr ""
 
-#: elfxx-mips.c:8796
+#: elfxx-mips.c:8887
 #, c-format
 msgid "%pB: CALL16 reloc at %#<PRIx64> not against global symbol"
 msgstr ""
 
-#: elfxx-mips.c:9086
+#: elfxx-mips.c:9190
 #, c-format
 msgid ""
 "%X%H: relocation %s against `%s' cannot be used when making a shared object; "
 "recompile with -fPIC\n"
 msgstr ""
 
-#: elfxx-mips.c:9422
+#: elfxx-mips.c:9526
 #, c-format
 msgid "non-dynamic relocations refer to dynamic symbol %s"
 msgstr ""
 
-#: elfxx-mips.c:10350
+#: elfxx-mips.c:10456
 #, c-format
 msgid ""
 "%pB: can't find matching LO16 reloc against `%s' for %s at %#<PRIx64> in "
 "section `%pA'"
 msgstr ""
 
-#: elfxx-mips.c:10490
+#: elfxx-mips.c:10596
 msgid ""
 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
 msgstr ""
 
-#: elfxx-mips.c:10509
+#: elfxx-mips.c:10615
 msgid "cannot convert a jump to JALX for a non-word-aligned address"
 msgstr ""
 
-#: elfxx-mips.c:10512
+#: elfxx-mips.c:10618
 msgid "jump to a non-word-aligned address"
 msgstr ""
 
-#: elfxx-mips.c:10513
+#: elfxx-mips.c:10619
 msgid "jump to a non-instruction-aligned address"
 msgstr ""
 
-#: elfxx-mips.c:10516
+#: elfxx-mips.c:10622
 msgid "cannot convert a branch to JALX for a non-word-aligned address"
 msgstr ""
 
-#: elfxx-mips.c:10518
+#: elfxx-mips.c:10624
 msgid "branch to a non-instruction-aligned address"
 msgstr ""
 
-#: elfxx-mips.c:10520
+#: elfxx-mips.c:10626
 msgid "PC-relative load from unaligned address"
 msgstr ""
 
-#: elfxx-mips.c:10798
+#: elfxx-mips.c:10926
 #, c-format
 msgid ""
 "%pB: `%pA' entry VMA of %#<PRIx64> outside the 32-bit range supported; "
 "consider using `-Ttext-segment=...'"
 msgstr ""
 
-#: elfxx-mips.c:10911 elfxx-mips.c:11484
+#: elfxx-mips.c:11041 elfxx-mips.c:11628
 #, c-format
 msgid "%pB: `%pA' offset of %<PRId64> from `%pA' beyond the range of ADDIUPC"
 msgstr ""
 
-#: elfxx-mips.c:11456
+#: elfxx-mips.c:11600
 #, c-format
 msgid ""
 "%pB: `%pA' start VMA of %#<PRIx64> outside the 32-bit range supported; "
 "consider using `-Ttext-segment=...'"
 msgstr ""
 
-#: elfxx-mips.c:14397
+#: elfxx-mips.c:14562
 #, c-format
 msgid "%pB: unknown architecture %s"
 msgstr ""
 
-#: elfxx-mips.c:14931
+#: elfxx-mips.c:15096
 #, c-format
 msgid "%pB: illegal section name `%pA'"
 msgstr ""
 
-#: elfxx-mips.c:15208
+#: elfxx-mips.c:15373
 #, c-format
 msgid "%pB: warning: linking abicalls files with non-abicalls files"
 msgstr ""
 
-#: elfxx-mips.c:15225
+#: elfxx-mips.c:15390
 #, c-format
 msgid "%pB: linking 32-bit code with 64-bit code"
 msgstr ""
 
-#: elfxx-mips.c:15257 elfxx-mips.c:15323 elfxx-mips.c:15338
+#: elfxx-mips.c:15422 elfxx-mips.c:15488 elfxx-mips.c:15503
 #, c-format
 msgid "%pB: linking %s module with previous %s modules"
 msgstr ""
 
-#: elfxx-mips.c:15281
+#: elfxx-mips.c:15446
 #, c-format
 msgid "%pB: ABI mismatch: linking %s module with previous %s modules"
 msgstr ""
 
-#: elfxx-mips.c:15306
+#: elfxx-mips.c:15471
 #, c-format
 msgid "%pB: ASE mismatch: linking %s module with previous %s modules"
 msgstr ""
 
-#: elfxx-mips.c:15440
+#: elfxx-mips.c:15605
 #, c-format
 msgid ""
 "warning: %pB uses unknown floating point ABI %d (set by %pB), %pB uses "
 "unknown floating point ABI %d"
 msgstr ""
 
-#: elfxx-mips.c:15446
+#: elfxx-mips.c:15611
 #, c-format
 msgid ""
 "warning: %pB uses unknown floating point ABI %d (set by %pB), %pB uses %s"
 msgstr ""
 
-#: elfxx-mips.c:15452
+#: elfxx-mips.c:15617
 #, c-format
 msgid ""
 "warning: %pB uses %s (set by %pB), %pB uses unknown floating point ABI %d"
 msgstr ""
 
-#: elfxx-mips.c:15466
+#: elfxx-mips.c:15631
 #, c-format
 msgid "warning: %pB uses %s (set by %pB), %pB uses %s"
 msgstr ""
 
-#: elfxx-mips.c:15485
+#: elfxx-mips.c:15650
 #, c-format
 msgid "warning: %pB uses %s (set by %pB), %pB uses unknown MSA ABI %d"
 msgstr ""
 
-#: elfxx-mips.c:15497
+#: elfxx-mips.c:15662
 #, c-format
 msgid "warning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses %s"
 msgstr ""
 
-#: elfxx-mips.c:15506
+#: elfxx-mips.c:15671
 #, c-format
 msgid ""
 "warning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses unknown MSA ABI "
 "%d"
 msgstr ""
 
-#: elfxx-mips.c:15568
+#: elfxx-mips.c:15733
 #, c-format
 msgid "%pB: endianness incompatible with that of the selected emulation"
 msgstr ""
 
-#: elfxx-mips.c:15582
+#: elfxx-mips.c:15747
 #, c-format
 msgid "%pB: ABI is incompatible with that of the selected emulation"
 msgstr ""
 
-#: elfxx-mips.c:15634
+#: elfxx-mips.c:15799
 #, c-format
 msgid "%pB: warning: inconsistent ISA between e_flags and .MIPS.abiflags"
 msgstr ""
 
-#: elfxx-mips.c:15639
+#: elfxx-mips.c:15804
 #, c-format
 msgid ""
 "%pB: warning: inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
 msgstr ""
 
-#: elfxx-mips.c:15643
+#: elfxx-mips.c:15808
 #, c-format
 msgid "%pB: warning: inconsistent ASEs between e_flags and .MIPS.abiflags"
 msgstr ""
 
-#: elfxx-mips.c:15650
+#: elfxx-mips.c:15815
 #, c-format
 msgid ""
 "%pB: warning: inconsistent ISA extensions between e_flags and .MIPS.abiflags"
 msgstr ""
 
-#: elfxx-mips.c:15654
+#: elfxx-mips.c:15819
 #, c-format
 msgid ""
 "%pB: warning: unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
 msgstr ""
 
-#: elfxx-mips.c:15843
+#: elfxx-mips.c:16010
 msgid "-mips32r2 -mfp64 (12 callee-saved)"
 msgstr ""
 
-#: elfxx-mips.c:15905 elfxx-mips.c:15916
+#: elfxx-mips.c:16072 elfxx-mips.c:16083
 msgid "None"
 msgstr ""
 
-#: elfxx-mips.c:15907 elfxx-mips.c:15976
+#: elfxx-mips.c:16074 elfxx-mips.c:16143
 msgid "Unknown"
 msgstr ""
 
-#: elfxx-mips.c:15987
+#: elfxx-mips.c:16154
 #, c-format
 msgid "Hard or soft float\n"
 msgstr ""
 
-#: elfxx-mips.c:15990
+#: elfxx-mips.c:16157
 #, c-format
 msgid "Hard float (double precision)\n"
 msgstr ""
 
-#: elfxx-mips.c:15993
+#: elfxx-mips.c:16160
 #, c-format
 msgid "Hard float (single precision)\n"
 msgstr ""
 
-#: elfxx-mips.c:15996
+#: elfxx-mips.c:16163
 #, c-format
 msgid "Soft float\n"
 msgstr ""
 
-#: elfxx-mips.c:15999
+#: elfxx-mips.c:16166
 #, c-format
 msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
 msgstr ""
 
-#: elfxx-mips.c:16002
+#: elfxx-mips.c:16169
 #, c-format
 msgid "Hard float (32-bit CPU, Any FPU)\n"
 msgstr ""
 
-#: elfxx-mips.c:16005
+#: elfxx-mips.c:16172
 #, c-format
 msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
 msgstr ""
 
-#: elfxx-mips.c:16008
+#: elfxx-mips.c:16175
 #, c-format
 msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
 msgstr ""
 
-#: elfxx-mips.c:16040
+#: elfxx-mips.c:16207
 #, c-format
 msgid " [abi=O32]"
 msgstr ""
 
-#: elfxx-mips.c:16042
+#: elfxx-mips.c:16209
 #, c-format
 msgid " [abi=O64]"
 msgstr ""
 
-#: elfxx-mips.c:16044
+#: elfxx-mips.c:16211
 #, c-format
 msgid " [abi=EABI32]"
 msgstr ""
 
-#: elfxx-mips.c:16046
+#: elfxx-mips.c:16213
 #, c-format
 msgid " [abi=EABI64]"
 msgstr ""
 
-#: elfxx-mips.c:16048
+#: elfxx-mips.c:16215
 #, c-format
 msgid " [abi unknown]"
 msgstr ""
 
-#: elfxx-mips.c:16050
+#: elfxx-mips.c:16217
 #, c-format
 msgid " [abi=N32]"
 msgstr ""
 
-#: elfxx-mips.c:16052
+#: elfxx-mips.c:16219
 #, c-format
 msgid " [abi=64]"
 msgstr ""
 
-#: elfxx-mips.c:16054
+#: elfxx-mips.c:16221
 #, c-format
 msgid " [no abi set]"
 msgstr ""
 
-#: elfxx-mips.c:16079
+#: elfxx-mips.c:16246
 #, c-format
 msgid " [unknown ISA]"
 msgstr ""
 
-#: elfxx-mips.c:16099
+#: elfxx-mips.c:16266
 #, c-format
 msgid " [not 32bitmode]"
 msgstr ""
 
-#: elfxx-sparc.c:3113 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5286
+#: elfxx-sparc.c:3110 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5518
 #, c-format
 msgid ""
 "%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
 msgstr ""
 
-#: elfxx-tilegx.c:4254
+#: elfxx-tilegx.c:4253
 #, c-format
 msgid "%pB: cannot link together %s and %s objects"
 msgstr ""
@@ -5256,58 +5366,69 @@ msgstr ""
 msgid "%P: %pB: warning: relocation in read-only section `%pA'\n"
 msgstr ""
 
-#: elfxx-x86.c:1383
+#: elfxx-x86.c:1382
 msgid ""
-"%P%X: read-only segment has dynamic IFUNC relocations; recompile with -fPIC\n"
+"%P%X: read-only segment has dynamic IFUNC relocations; recompile with %s\n"
 msgstr ""
 
-#: elfxx-x86.c:2384
+#: elfxx-x86.c:2385
 #, c-format
 msgid "error: %pB: <corrupt x86 property (0x%x) size: 0x%x>"
 msgstr ""
 
-#: elfxx-x86.c:2609
-msgid "%F%P: failed to create GNU property section\n"
+#: elfxx-x86.c:2651
+msgid "%P: %pB: warning: missing %s\n"
 msgstr ""
 
-#: elfxx-x86.c:2614
-#, c-format
-msgid "%F%pA: failed to align section\n"
+#: elfxx-x86.c:2653
+msgid "%X%P: %pB: error: missing %s\n"
 msgstr ""
 
-#: elfxx-x86.c:2760
+#: elfxx-x86.c:2676
+msgid "IBT and SHSTK properties"
+msgstr ""
+
+#: elfxx-x86.c:2678
+msgid "IBT property"
+msgstr ""
+
+#: elfxx-x86.c:2680
+msgid "SHSTK property"
+msgstr ""
+
+#: elfxx-x86.c:2824
 msgid "%F%P: failed to create VxWorks dynamic sections\n"
 msgstr ""
 
-#: elfxx-x86.c:2769
+#: elfxx-x86.c:2833
 msgid "%F%P: failed to create GOT sections\n"
 msgstr ""
 
-#: elfxx-x86.c:2787
+#: elfxx-x86.c:2851
 msgid "%F%P: failed to create ifunc sections\n"
 msgstr ""
 
-#: elfxx-x86.c:2828
+#: elfxx-x86.c:2891
 msgid "%F%P: failed to create GOT PLT section\n"
 msgstr ""
 
-#: elfxx-x86.c:2849
+#: elfxx-x86.c:2911
 msgid "%F%P: failed to create IBT-enabled PLT section\n"
 msgstr ""
 
-#: elfxx-x86.c:2864
+#: elfxx-x86.c:2925
 msgid "%F%P: failed to create BND PLT section\n"
 msgstr ""
 
-#: elfxx-x86.c:2885
+#: elfxx-x86.c:2945
 msgid "%F%P: failed to create PLT .eh_frame section\n"
 msgstr ""
 
-#: elfxx-x86.c:2898
+#: elfxx-x86.c:2958
 msgid "%F%P: failed to create GOT PLT .eh_frame section\n"
 msgstr ""
 
-#: elfxx-x86.c:2912
+#: elfxx-x86.c:2972
 msgid "%F%P: failed to create the second PLT .eh_frame section\n"
 msgstr ""
 
@@ -5381,7 +5502,7 @@ msgstr ""
 msgid "Deprecated %s called\n"
 msgstr ""
 
-#: linker.c:1697
+#: linker.c:1696
 #, c-format
 msgid "%pB: indirect symbol `%s' to `%s' is a loop"
 msgstr ""
@@ -5391,187 +5512,226 @@ msgstr ""
 msgid "attempt to do relocatable link with %s input and %s output"
 msgstr ""
 
-#: linker.c:2853
+#: linker.c:2854
 #, c-format
 msgid "%pB: ignoring duplicate section `%pA'\n"
 msgstr ""
 
-#: linker.c:2863 linker.c:2873
+#: linker.c:2864 linker.c:2874
 #, c-format
 msgid "%pB: duplicate section `%pA' has different size\n"
 msgstr ""
 
-#: linker.c:2882 linker.c:2888
+#: linker.c:2883 linker.c:2889
 #, c-format
 msgid "%pB: could not read contents of section `%pA'\n"
 msgstr ""
 
-#: linker.c:2893
+#: linker.c:2894
 #, c-format
 msgid "%pB: duplicate section `%pA' has different contents\n"
 msgstr ""
 
-#: linker.c:3407
+#: linker.c:3408
 #, c-format
 msgid "%pB: compiled for a big endian system and target is little endian"
 msgstr ""
 
-#: linker.c:3410
+#: linker.c:3411
 #, c-format
 msgid "%pB: compiled for a little endian system and target is big endian"
 msgstr ""
 
-#: mach-o.c:632
+#: mach-o-arm.c:172
+msgid "malformed mach-o ARM reloc pair: reloc is first reloc"
+msgstr ""
+
+#: mach-o-arm.c:188
+#, c-format
+msgid "malformed mach-o ARM reloc pair: invalid length: %d"
+msgstr ""
+
+#: mach-o-arm.c:203
+#, c-format
+msgid "malformed mach-o ARM sectdiff reloc: invalid length: %d"
+msgstr ""
+
+#: mach-o-arm.c:218
+#, c-format
+msgid "malformed mach-o ARM local sectdiff reloc: invalid length: %d"
+msgstr ""
+
+#: mach-o-arm.c:233
+#, c-format
+msgid "malformed mach-o ARM half sectdiff reloc: invalid length: %d"
+msgstr ""
+
+#: mach-o-arm.c:265
+#, c-format
+msgid "malformed mach-o ARM vanilla reloc: invalid length: %d (pcrel: %d)"
+msgstr ""
+
+#: mach-o-arm.c:329
+#, c-format
+msgid "malformed mach-o ARM reloc: unknown reloc type: %d"
+msgstr ""
+
+#: mach-o.c:633
 #, c-format
 msgid "<unknown mask flags>"
 msgstr ""
 
-#: mach-o.c:687
+#: mach-o.c:688
 msgid " (<unknown>)"
 msgstr ""
 
-#: mach-o.c:698
+#: mach-o.c:699
 #, c-format
 msgid " MACH-O header:\n"
 msgstr ""
 
-#: mach-o.c:699
+#: mach-o.c:700
 #, c-format
 msgid "   magic:      %#lx\n"
 msgstr ""
 
-#: mach-o.c:700
+#: mach-o.c:701
 #, c-format
 msgid "   cputype:    %#lx (%s)\n"
 msgstr ""
 
-#: mach-o.c:702
+#: mach-o.c:703
 #, c-format
 msgid "   cpusubtype: %#lx%s\n"
 msgstr ""
 
-#: mach-o.c:704
+#: mach-o.c:705
 #, c-format
 msgid "   filetype:   %#lx\n"
 msgstr ""
 
-#: mach-o.c:705
+#: mach-o.c:706
 #, c-format
 msgid "   ncmds:      %#lx\n"
 msgstr ""
 
-#: mach-o.c:706
+#: mach-o.c:707
 #, c-format
 msgid "   sizeocmds:  %#lx\n"
 msgstr ""
 
-#: mach-o.c:707
+#: mach-o.c:708
 #, c-format
 msgid "   flags:      %#lx\n"
 msgstr ""
 
-#: mach-o.c:708
+#: mach-o.c:709
 #, c-format
 msgid "   version:    %x\n"
 msgstr ""
 
 #. Urg - what has happened ?
-#: mach-o.c:743
+#: mach-o.c:744
 #, c-format
 msgid "incompatible cputypes in mach-o files: %ld vs %ld"
 msgstr ""
 
-#: mach-o.c:912
+#: mach-o.c:913
 msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
 msgstr ""
 
-#: mach-o.c:2108
+#: mach-o.c:1505
+msgid ""
+"malformed mach-o reloc: section index is greater than the number of sections"
+msgstr ""
+
+#: mach-o.c:2123
 msgid ""
 "sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab "
 "commands."
 msgstr ""
 
-#: mach-o.c:2554
+#: mach-o.c:2569
 #, c-format
 msgid "mach-o: there are too many sections (%u) maximum is 255,\n"
 msgstr ""
 
-#: mach-o.c:2661
+#: mach-o.c:2676
 #, c-format
 msgid "unable to allocate data for load command %#x"
 msgstr ""
 
-#: mach-o.c:2766
+#: mach-o.c:2781
 #, c-format
 msgid "unable to write unknown load command %#x"
 msgstr ""
 
-#: mach-o.c:2950
+#: mach-o.c:2965
 #, c-format
 msgid "section address (%#<PRIx64>) below start of segment (%#<PRIx64>)"
 msgstr ""
 
-#: mach-o.c:3092
+#: mach-o.c:3107
 #, c-format
 msgid "unable to layout unknown load command %#x"
 msgstr ""
 
-#: mach-o.c:3628
+#: mach-o.c:3642
 #, c-format
 msgid ""
 "bfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 instead"
 msgstr ""
 
-#: mach-o.c:3671
+#: mach-o.c:3685
 #, c-format
 msgid ""
 "bfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 instead"
 msgstr ""
 
-#: mach-o.c:3722
+#: mach-o.c:3736
 #, c-format
 msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u"
 msgstr ""
 
-#: mach-o.c:3741
+#: mach-o.c:3755
 #, c-format
 msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)"
 msgstr ""
 
-#: mach-o.c:3824
+#: mach-o.c:3838
 #, c-format
 msgid ""
 "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d "
 "(max %lu): setting to undefined"
 msgstr ""
 
-#: mach-o.c:3843
+#: mach-o.c:3857
 #, c-format
 msgid ""
 "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x"
 "%x: setting to undefined"
 msgstr ""
 
-#: mach-o.c:3920
+#: mach-o.c:3934
 msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
 msgstr ""
 
-#: mach-o.c:4931
+#: mach-o.c:4945
 #, c-format
 msgid "%pB: unknown load command %#x"
 msgstr ""
 
-#: mach-o.c:5122
+#: mach-o.c:5136
 #, c-format
 msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
 msgstr ""
 
-#: mach-o.c:5227
+#: mach-o.c:5241
 #, c-format
 msgid "unknown header byte-order value %#x"
 msgstr ""
 
-#: merge.c:878
+#: merge.c:889
 #, c-format
 msgid "%pB: access beyond end of merged section (%<PRId64>)"
 msgstr ""
@@ -5586,138 +5746,138 @@ msgstr ""
 msgid "%pB: no core to allocate a symbol %d bytes long"
 msgstr ""
 
-#: mmo.c:955
+#: mmo.c:952
 #, c-format
 msgid "%pB: attempt to emit contents at non-multiple-of-4 address %#<PRIx64>"
 msgstr ""
 
-#: mmo.c:1252
+#: mmo.c:1248
 #, c-format
 msgid "%pB: invalid mmo file: initialization value for $255 is not `Main'\n"
 msgstr ""
 
-#: mmo.c:1399
+#: mmo.c:1395
 #, c-format
 msgid ""
 "%pB: unsupported wide character sequence 0x%02X 0x%02X after symbol name "
 "starting with `%s'\n"
 msgstr ""
 
-#: mmo.c:1633
+#: mmo.c:1628
 #, c-format
 msgid "%pB: invalid mmo file: unsupported lopcode `%d'\n"
 msgstr ""
 
-#: mmo.c:1644
+#: mmo.c:1639
 #, c-format
 msgid "%pB: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
 msgstr ""
 
-#: mmo.c:1682
+#: mmo.c:1677
 #, c-format
 msgid ""
 "%pB: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
 msgstr ""
 
-#: mmo.c:1733
+#: mmo.c:1728
 #, c-format
 msgid ""
 "%pB: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
 msgstr ""
 
-#: mmo.c:1774
+#: mmo.c:1769
 #, c-format
 msgid "%pB: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
 msgstr ""
 
-#: mmo.c:1785
+#: mmo.c:1780
 #, c-format
 msgid ""
 "%pB: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
 msgstr ""
 
-#: mmo.c:1810
+#: mmo.c:1805
 #, c-format
 msgid ""
 "%pB: invalid mmo file: leading byte of operand word must be 0 or 1, got %d "
 "for lop_fixrx\n"
 msgstr ""
 
-#: mmo.c:1835
+#: mmo.c:1830
 #, c-format
 msgid "%pB: cannot allocate file name for file number %d, %d bytes\n"
 msgstr ""
 
-#: mmo.c:1857
+#: mmo.c:1852
 #, c-format
 msgid ""
 "%pB: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
 msgstr ""
 
-#: mmo.c:1871
+#: mmo.c:1866
 #, c-format
 msgid ""
 "%pB: invalid mmo file: file name for number %d was not specified before use\n"
 msgstr ""
 
-#: mmo.c:1978
+#: mmo.c:1973
 #, c-format
 msgid ""
 "%pB: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
 msgstr ""
 
-#: mmo.c:2015
+#: mmo.c:2010
 #, c-format
 msgid "%pB: invalid mmo file: lop_end not last item in file\n"
 msgstr ""
 
-#: mmo.c:2029
+#: mmo.c:2024
 #, c-format
 msgid ""
 "%pB: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras "
 "to the preceding lop_stab (%ld)\n"
 msgstr ""
 
-#: mmo.c:2740
+#: mmo.c:2732
 #, c-format
 msgid "%pB: invalid symbol table: duplicate symbol `%s'\n"
 msgstr ""
 
-#: mmo.c:2983
+#: mmo.c:2975
 #, c-format
 msgid ""
 "%pB: bad symbol definition: `Main' set to %s rather than the start address "
 "%s\n"
 msgstr ""
 
-#: mmo.c:3082
+#: mmo.c:3074
 #, c-format
 msgid ""
 "%pB: warning: symbol table too large for mmo, larger than 65535 32-bit "
 "words: %d.  Only `Main' will be emitted.\n"
 msgstr ""
 
-#: mmo.c:3128
+#: mmo.c:3120
 #, c-format
 msgid "%pB: internal error, symbol table changed size from %d to %d words\n"
 msgstr ""
 
-#: mmo.c:3181
+#: mmo.c:3173
 #, c-format
 msgid "%pB: internal error, internal register section %pA had contents\n"
 msgstr ""
 
-#: mmo.c:3232
+#: mmo.c:3224
 #, c-format
 msgid "%pB: no initialized registers; section length 0\n"
 msgstr ""
 
-#: mmo.c:3239
+#: mmo.c:3231
 #, c-format
 msgid "%pB: too many initialized registers; section length %<PRId64>"
 msgstr ""
 
-#: mmo.c:3244
+#: mmo.c:3236
 #, c-format
 msgid ""
 "%pB: invalid start address for initialized registers of length %<PRId64>: "
@@ -5729,60 +5889,62 @@ msgstr ""
 msgid "unhandled OSF/1 core file section type %d"
 msgstr ""
 
-#: pef.c:527
+#: pef.c:529
 #, c-format
 msgid "bfd_pef_scan: unknown architecture 0x%lx"
 msgstr ""
 
-#: pei-x86_64.c:177 pei-x86_64.c:191 pei-x86_64.c:220
+#: pei-x86_64.c:177 pei-x86_64.c:191 pei-x86_64.c:220 pei-x86_64.c:243
+#: pei-x86_64.c:253 pei-x86_64.c:278 pei-x86_64.c:290 pei-x86_64.c:304
+#: pei-x86_64.c:322 pei-x86_64.c:334 pei-x86_64.c:346
 #, c-format
 msgid "warning: corrupt unwind data\n"
 msgstr ""
 
 #. PR 17512: file: 2245-7442-0.004.
-#: pei-x86_64.c:315
+#: pei-x86_64.c:367
 #, c-format
 msgid "Unknown: %x"
 msgstr ""
 
-#: pei-x86_64.c:365 pei-x86_64.c:375 pei-x86_64.c:384
+#: pei-x86_64.c:418 pei-x86_64.c:428 pei-x86_64.c:437
 #, c-format
 msgid "warning: xdata section corrupt\n"
 msgstr ""
 
-#: pei-x86_64.c:439
+#: pei-x86_64.c:492
 #, c-format
 msgid "Too many unwind codes (%ld)\n"
 msgstr ""
 
-#: pei-x86_64.c:529
+#: pei-x86_64.c:582
 #, c-format
 msgid "Warning: %s section size (%ld) is not a multiple of %d\n"
 msgstr ""
 
-#: pei-x86_64.c:536
+#: pei-x86_64.c:589
 #, c-format
 msgid "Warning: %s section size is zero\n"
 msgstr ""
 
-#: pei-x86_64.c:551
+#: pei-x86_64.c:604
 #, c-format
 msgid "Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"
 msgstr ""
 
-#: pei-x86_64.c:560
+#: pei-x86_64.c:613
 #, c-format
 msgid ""
 "\n"
 "The Function Table (interpreted %s section contents)\n"
 msgstr ""
 
-#: pei-x86_64.c:563
+#: pei-x86_64.c:616
 #, c-format
 msgid "vma:\t\t\tBeginAddress\t EndAddress\t  UnwindData\n"
 msgstr ""
 
-#: pei-x86_64.c:692
+#: pei-x86_64.c:745
 #, c-format
 msgid ""
 "\n"
@@ -5790,44 +5952,44 @@ msgid ""
 msgstr ""
 
 #. XXX code yet to be written.
-#: peicode.h:775
+#: peicode.h:796
 #, c-format
 msgid "%pB: unhandled import type; %x"
 msgstr ""
 
-#: peicode.h:781
+#: peicode.h:802
 #, c-format
 msgid "%pB: unrecognized import type; %x"
 msgstr ""
 
-#: peicode.h:796
+#: peicode.h:817
 #, c-format
 msgid "%pB: unrecognized import name type; %x"
 msgstr ""
 
-#: peicode.h:1211
+#: peicode.h:1232
 #, c-format
 msgid "%pB: unrecognised machine type (0x%x) in Import Library Format archive"
 msgstr ""
 
-#: peicode.h:1224
+#: peicode.h:1245
 #, c-format
 msgid ""
 "%pB: recognised but unhandled machine type (0x%x) in Import Library Format "
 "archive"
 msgstr ""
 
-#: peicode.h:1242
+#: peicode.h:1263
 #, c-format
 msgid "%pB: size field is zero in Import Library Format header"
 msgstr ""
 
-#: peicode.h:1274
+#: peicode.h:1295
 #, c-format
 msgid "%pB: string not null terminated in ILF object file"
 msgstr ""
 
-#: peicode.h:1330
+#: peicode.h:1351
 #, c-format
 msgid "%pB: error: debug data ends beyond end of debug directory"
 msgstr ""
@@ -5881,32 +6043,32 @@ msgstr ""
 msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
 msgstr ""
 
-#: reloc.c:8232
+#: reloc.c:8263
 msgid "INPUT_SECTION_FLAGS are not supported"
 msgstr ""
 
-#: reloc.c:8333
+#: reloc.c:8364
 #, c-format
 msgid "%X%P: %pB(%pA): error: relocation for offset %V has no value\n"
 msgstr ""
 
-#: reloc.c:8420
+#: reloc.c:8452
 #, c-format
 msgid "%X%P: %pB(%pA): relocation \"%pR\" is not supported\n"
 msgstr ""
 
-#: reloc.c:8429
+#: reloc.c:8461
 #, c-format
 msgid "%X%P: %pB(%pA): relocation \"%pR\" returns an unrecognized value %x\n"
 msgstr ""
 
-#: reloc.c:8491
+#: reloc.c:8523
 #, c-format
 msgid "%pB: unrecognized relocation type %#x in section `%pA'"
 msgstr ""
 
 #. PR 21803: Suggest the most likely cause of this error.
-#: reloc.c:8495
+#: reloc.c:8527
 #, c-format
 msgid "is this version of the linker - %s - out of date ?"
 msgstr ""
@@ -5916,14 +6078,14 @@ msgstr ""
 msgid "%pB: warning core file truncated"
 msgstr ""
 
-#: som.c:5478
+#: som.c:5482
 #, c-format
 msgid ""
 "\n"
 "Exec Auxiliary Header\n"
 msgstr ""
 
-#: som.c:5787
+#: som.c:5791
 msgid "som_sizeof_headers unimplemented"
 msgstr ""
 
@@ -5947,7 +6109,7 @@ msgstr ""
 msgid "%pB(%pA+%#lx): stabs entry has invalid string index"
 msgstr ""
 
-#: syms.c:1091
+#: syms.c:1098
 msgid "unsupported .stab relocation"
 msgstr ""
 
@@ -5955,65 +6117,70 @@ msgstr ""
 msgid "corrupt EIHD record - size is too small"
 msgstr ""
 
-#: vms-alpha.c:660
+#: vms-alpha.c:664
 #, c-format
 msgid "unable to read EIHS record at offset %#x"
 msgstr ""
 
-#: vms-alpha.c:1173
+#: vms-alpha.c:1156
+msgid "record is too small for symbol name length"
+msgstr ""
+
+#: vms-alpha.c:1189
 #, c-format
 msgid "corrupt EGSD record: its size (%#x) is too small"
 msgstr ""
 
-#: vms-alpha.c:1197
+#: vms-alpha.c:1213
 #, c-format
-msgid "corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
+msgid ""
+"corrupt EGSD record type %d: size (%#x) is larger than remaining space (%#x)"
 msgstr ""
 
-#: vms-alpha.c:1205
+#: vms-alpha.c:1232
 #, c-format
-msgid "corrupt EGSD record: size (%#x) is too small"
+msgid "corrupt EGSD record type %d: size (%#x) is too small"
 msgstr ""
 
-#: vms-alpha.c:1334 vms-alpha.c:1350 vms-alpha.c:1390
+#: vms-alpha.c:1362
 #, c-format
 msgid "corrupt EGSD record: its psindx field is too big (%#lx)"
 msgstr ""
 
-#: vms-alpha.c:1419
+#: vms-alpha.c:1438
 #, c-format
 msgid "unknown EGSD subtype %d"
 msgstr ""
 
-#: vms-alpha.c:1452
+#: vms-alpha.c:1471
 #, c-format
 msgid "stack overflow (%d) in _bfd_vms_push"
 msgstr ""
 
-#: vms-alpha.c:1465
+#: vms-alpha.c:1484
 msgid "stack underflow in _bfd_vms_pop"
 msgstr ""
 
 #. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1707
+#: vms-alpha.c:1726
 #, c-format
 msgid "unknown ETIR command %d"
 msgstr ""
 
-#: vms-alpha.c:1738
+#: vms-alpha.c:1757
 msgid "corrupt vms value"
 msgstr ""
 
-#: vms-alpha.c:1866
+#: vms-alpha.c:1888
 msgid "corrupt ETIR record encountered"
 msgstr ""
 
-#: vms-alpha.c:1923
+#: vms-alpha.c:1946
 #, c-format
 msgid "bad section index in %s"
 msgstr ""
 
-#: vms-alpha.c:1936
+#: vms-alpha.c:1959
 #, c-format
 msgid "unsupported STA cmd %s"
 msgstr ""
@@ -6023,2067 +6190,2083 @@ msgstr ""
 #. Rotate.
 #. Redefine symbol to current location.
 #. Define a literal.
-#: vms-alpha.c:2116 vms-alpha.c:2147 vms-alpha.c:2238 vms-alpha.c:2396
+#: vms-alpha.c:2139 vms-alpha.c:2170 vms-alpha.c:2261 vms-alpha.c:2419
 #, c-format
 msgid "%s: not supported"
 msgstr ""
 
-#: vms-alpha.c:2122
+#: vms-alpha.c:2145
 #, c-format
 msgid "%s: not implemented"
 msgstr ""
 
-#: vms-alpha.c:2380
+#: vms-alpha.c:2403
 #, c-format
 msgid "invalid use of %s with contexts"
 msgstr ""
 
-#: vms-alpha.c:2414
+#: vms-alpha.c:2437
 #, c-format
 msgid "reserved cmd %d"
 msgstr ""
 
-#: vms-alpha.c:2498
+#: vms-alpha.c:2521
 msgid "corrupt EEOM record - size is too small"
 msgstr ""
 
-#: vms-alpha.c:2507
+#: vms-alpha.c:2530
 msgid "object module not error-free !"
 msgstr ""
 
-#: vms-alpha.c:3831
+#: vms-alpha.c:3872
 #, c-format
 msgid "SEC_RELOC with no relocs in section %pA"
 msgstr ""
 
-#: vms-alpha.c:3883 vms-alpha.c:4097
+#: vms-alpha.c:3924 vms-alpha.c:4139
 #, c-format
 msgid "size error in section %pA"
 msgstr ""
 
-#: vms-alpha.c:4043
+#: vms-alpha.c:4084
 msgid "spurious ALPHA_R_BSR reloc"
 msgstr ""
 
-#: vms-alpha.c:4084
+#: vms-alpha.c:4125
 #, c-format
 msgid "unhandled relocation %s"
 msgstr ""
 
-#: vms-alpha.c:4377
+#: vms-alpha.c:4420
 #, c-format
 msgid "unknown source command %d"
 msgstr ""
 
-#: vms-alpha.c:4438 vms-alpha.c:4444 vms-alpha.c:4450 vms-alpha.c:4456
-#: vms-alpha.c:4462 vms-alpha.c:4489 vms-alpha.c:4495 vms-alpha.c:4501
-#: vms-alpha.c:4507
+#: vms-alpha.c:4481 vms-alpha.c:4487 vms-alpha.c:4493 vms-alpha.c:4499
+#: vms-alpha.c:4505 vms-alpha.c:4532 vms-alpha.c:4538 vms-alpha.c:4544
+#: vms-alpha.c:4550
 #, c-format
 msgid "%s not implemented"
 msgstr ""
 
-#: vms-alpha.c:4550
+#: vms-alpha.c:4593
 #, c-format
 msgid "unknown line command %d"
 msgstr ""
 
-#: vms-alpha.c:5010 vms-alpha.c:5028 vms-alpha.c:5043 vms-alpha.c:5059
-#: vms-alpha.c:5072 vms-alpha.c:5084 vms-alpha.c:5097
+#: vms-alpha.c:5053 vms-alpha.c:5071 vms-alpha.c:5086 vms-alpha.c:5102
+#: vms-alpha.c:5115 vms-alpha.c:5127 vms-alpha.c:5140
 #, c-format
 msgid "unknown reloc %s + %s"
 msgstr ""
 
-#: vms-alpha.c:5152
+#: vms-alpha.c:5195
 #, c-format
 msgid "unknown reloc %s"
 msgstr ""
 
-#: vms-alpha.c:5166
+#: vms-alpha.c:5209
 msgid "invalid section index in ETIR"
 msgstr ""
 
-#: vms-alpha.c:5175
+#: vms-alpha.c:5218
 msgid "relocation for non-REL psect"
 msgstr ""
 
-#: vms-alpha.c:5222
+#: vms-alpha.c:5265
 #, c-format
 msgid "unknown symbol in command %s"
 msgstr ""
 
-#: vms-alpha.c:5636
+#: vms-alpha.c:5679
 #, c-format
 msgid "reloc (%d) is *UNKNOWN*"
 msgstr ""
 
-#: vms-alpha.c:5752
+#: vms-alpha.c:5795
 #, c-format
 msgid "  EMH %u (len=%u): "
 msgstr ""
 
-#: vms-alpha.c:5757
+#: vms-alpha.c:5800
 #, c-format
 msgid "   Error: The length is less than the length of an EMH record\n"
 msgstr ""
 
-#: vms-alpha.c:5774
+#: vms-alpha.c:5817
 #, c-format
 msgid ""
 "   Error: The record length is less than the size of an EMH_MHD record\n"
 msgstr ""
 
-#: vms-alpha.c:5777
+#: vms-alpha.c:5820
 #, c-format
 msgid "Module header\n"
 msgstr ""
 
-#: vms-alpha.c:5778
+#: vms-alpha.c:5821
 #, c-format
 msgid "   structure level: %u\n"
 msgstr ""
 
-#: vms-alpha.c:5779
+#: vms-alpha.c:5822
 #, c-format
 msgid "   max record size: %u\n"
 msgstr ""
 
-#: vms-alpha.c:5785
+#: vms-alpha.c:5828
 #, c-format
 msgid "   Error: The module name is missing\n"
 msgstr ""
 
-#: vms-alpha.c:5791
+#: vms-alpha.c:5834
 #, c-format
 msgid "   Error: The module name is too long\n"
 msgstr ""
 
-#: vms-alpha.c:5794
+#: vms-alpha.c:5837
 #, c-format
 msgid "   module name    : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5798
+#: vms-alpha.c:5841
 #, c-format
 msgid "   Error: The module version is missing\n"
 msgstr ""
 
-#: vms-alpha.c:5804
+#: vms-alpha.c:5847
 #, c-format
 msgid "   Error: The module version is too long\n"
 msgstr ""
 
-#: vms-alpha.c:5807
+#: vms-alpha.c:5850
 #, c-format
 msgid "   module version : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5810
+#: vms-alpha.c:5853
 #, c-format
 msgid "   Error: The compile date is truncated\n"
 msgstr ""
 
-#: vms-alpha.c:5812
+#: vms-alpha.c:5855
 #, c-format
 msgid "   compile date   : %.17s\n"
 msgstr ""
 
-#: vms-alpha.c:5817
+#: vms-alpha.c:5860
 #, c-format
 msgid "Language Processor Name\n"
 msgstr ""
 
-#: vms-alpha.c:5818
+#: vms-alpha.c:5861
 #, c-format
 msgid "   language name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5822
+#: vms-alpha.c:5865
 #, c-format
 msgid "Source Files Header\n"
 msgstr ""
 
-#: vms-alpha.c:5823
+#: vms-alpha.c:5866
 #, c-format
 msgid "   file: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5827
+#: vms-alpha.c:5870
 #, c-format
 msgid "Title Text Header\n"
 msgstr ""
 
-#: vms-alpha.c:5828
+#: vms-alpha.c:5871
 #, c-format
 msgid "   title: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5832
+#: vms-alpha.c:5875
 #, c-format
 msgid "Copyright Header\n"
 msgstr ""
 
-#: vms-alpha.c:5833
+#: vms-alpha.c:5876
 #, c-format
 msgid "   copyright: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5837
+#: vms-alpha.c:5880
 #, c-format
 msgid "unhandled emh subtype %u\n"
 msgstr ""
 
-#: vms-alpha.c:5847
+#: vms-alpha.c:5890
 #, c-format
 msgid "  EEOM (len=%u):\n"
 msgstr ""
 
-#: vms-alpha.c:5852
+#: vms-alpha.c:5895
 #, c-format
 msgid "   Error: The length is less than the length of an EEOM record\n"
 msgstr ""
 
-#: vms-alpha.c:5856
+#: vms-alpha.c:5899
 #, c-format
 msgid "   number of cond linkage pairs: %u\n"
 msgstr ""
 
-#: vms-alpha.c:5858
+#: vms-alpha.c:5901
 #, c-format
 msgid "   completion code: %u\n"
 msgstr ""
 
-#: vms-alpha.c:5862
+#: vms-alpha.c:5905
 #, c-format
 msgid "   transfer addr flags: 0x%02x\n"
 msgstr ""
 
-#: vms-alpha.c:5863
+#: vms-alpha.c:5906
 #, c-format
 msgid "   transfer addr psect: %u\n"
 msgstr ""
 
-#: vms-alpha.c:5865
+#: vms-alpha.c:5908
 #, c-format
 msgid "   transfer address   : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:5874
+#: vms-alpha.c:5917
 msgid " WEAK"
 msgstr ""
 
-#: vms-alpha.c:5876
+#: vms-alpha.c:5919
 msgid " DEF"
 msgstr ""
 
-#: vms-alpha.c:5878
+#: vms-alpha.c:5921
 msgid " UNI"
 msgstr ""
 
-#: vms-alpha.c:5880 vms-alpha.c:5901
+#: vms-alpha.c:5923 vms-alpha.c:5944
 msgid " REL"
 msgstr ""
 
-#: vms-alpha.c:5882
+#: vms-alpha.c:5925
 msgid " COMM"
 msgstr ""
 
-#: vms-alpha.c:5884
+#: vms-alpha.c:5927
 msgid " VECEP"
 msgstr ""
 
-#: vms-alpha.c:5886
+#: vms-alpha.c:5929
 msgid " NORM"
 msgstr ""
 
-#: vms-alpha.c:5888
+#: vms-alpha.c:5931
 msgid " QVAL"
 msgstr ""
 
-#: vms-alpha.c:5895
+#: vms-alpha.c:5938
 msgid " PIC"
 msgstr ""
 
-#: vms-alpha.c:5897
+#: vms-alpha.c:5940
 msgid " LIB"
 msgstr ""
 
-#: vms-alpha.c:5899
+#: vms-alpha.c:5942
 msgid " OVR"
 msgstr ""
 
-#: vms-alpha.c:5903
+#: vms-alpha.c:5946
 msgid " GBL"
 msgstr ""
 
-#: vms-alpha.c:5905
+#: vms-alpha.c:5948
 msgid " SHR"
 msgstr ""
 
-#: vms-alpha.c:5907
+#: vms-alpha.c:5950
 msgid " EXE"
 msgstr ""
 
-#: vms-alpha.c:5909
+#: vms-alpha.c:5952
 msgid " RD"
 msgstr ""
 
-#: vms-alpha.c:5911
+#: vms-alpha.c:5954
 msgid " WRT"
 msgstr ""
 
-#: vms-alpha.c:5913
+#: vms-alpha.c:5956
 msgid " VEC"
 msgstr ""
 
-#: vms-alpha.c:5915
+#: vms-alpha.c:5958
 msgid " NOMOD"
 msgstr ""
 
-#: vms-alpha.c:5917
+#: vms-alpha.c:5960
 msgid " COM"
 msgstr ""
 
-#: vms-alpha.c:5919
+#: vms-alpha.c:5962
 msgid " 64B"
 msgstr ""
 
-#: vms-alpha.c:5928
+#: vms-alpha.c:5971
 #, c-format
 msgid "  EGSD (len=%u):\n"
 msgstr ""
 
-#: vms-alpha.c:5941
+#: vms-alpha.c:5984
 #, c-format
 msgid "  EGSD entry %2u (type: %u, len: %u): "
 msgstr ""
 
-#: vms-alpha.c:5947 vms-alpha.c:6198
+#: vms-alpha.c:5990 vms-alpha.c:6241
 #, c-format
 msgid "   Error: length larger than remaining space in record\n"
 msgstr ""
 
-#: vms-alpha.c:5959
+#: vms-alpha.c:6002
 #, c-format
 msgid "PSC - Program section definition\n"
 msgstr ""
 
-#: vms-alpha.c:5960 vms-alpha.c:5977
+#: vms-alpha.c:6003 vms-alpha.c:6020
 #, c-format
 msgid "   alignment  : 2**%u\n"
 msgstr ""
 
-#: vms-alpha.c:5961 vms-alpha.c:5978
+#: vms-alpha.c:6004 vms-alpha.c:6021
 #, c-format
 msgid "   flags      : 0x%04x"
 msgstr ""
 
-#: vms-alpha.c:5965
+#: vms-alpha.c:6008
 #, c-format
 msgid "   alloc (len): %u (0x%08x)\n"
 msgstr ""
 
-#: vms-alpha.c:5966 vms-alpha.c:6023 vms-alpha.c:6072
+#: vms-alpha.c:6009 vms-alpha.c:6066 vms-alpha.c:6115
 #, c-format
 msgid "   name       : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:5976
+#: vms-alpha.c:6019
 #, c-format
 msgid "SPSC - Shared Image Program section def\n"
 msgstr ""
 
-#: vms-alpha.c:5982
+#: vms-alpha.c:6025
 #, c-format
 msgid "   alloc (len)   : %u (0x%08x)\n"
 msgstr ""
 
-#: vms-alpha.c:5983
+#: vms-alpha.c:6026
 #, c-format
 msgid "   image offset  : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:5985
+#: vms-alpha.c:6028
 #, c-format
 msgid "   symvec offset : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:5987
+#: vms-alpha.c:6030
 #, c-format
 msgid "   name          : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6000
+#: vms-alpha.c:6043
 #, c-format
 msgid "SYM - Global symbol definition\n"
 msgstr ""
 
-#: vms-alpha.c:6001 vms-alpha.c:6061 vms-alpha.c:6082 vms-alpha.c:6101
+#: vms-alpha.c:6044 vms-alpha.c:6104 vms-alpha.c:6125 vms-alpha.c:6144
 #, c-format
 msgid "   flags: 0x%04x"
 msgstr ""
 
-#: vms-alpha.c:6004
+#: vms-alpha.c:6047
 #, c-format
 msgid "   psect offset: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6008
+#: vms-alpha.c:6051
 #, c-format
 msgid "   code address: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6010
+#: vms-alpha.c:6053
 #, c-format
 msgid "   psect index for entry point : %u\n"
 msgstr ""
 
-#: vms-alpha.c:6013 vms-alpha.c:6089 vms-alpha.c:6108
+#: vms-alpha.c:6056 vms-alpha.c:6132 vms-alpha.c:6151
 #, c-format
 msgid "   psect index : %u\n"
 msgstr ""
 
-#: vms-alpha.c:6015 vms-alpha.c:6091 vms-alpha.c:6110
+#: vms-alpha.c:6058 vms-alpha.c:6134 vms-alpha.c:6153
 #, c-format
 msgid "   name        : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6022
+#: vms-alpha.c:6065
 #, c-format
 msgid "SYM - Global symbol reference\n"
 msgstr ""
 
-#: vms-alpha.c:6034
+#: vms-alpha.c:6077
 #, c-format
 msgid "IDC - Ident Consistency check\n"
 msgstr ""
 
-#: vms-alpha.c:6035
+#: vms-alpha.c:6078
 #, c-format
 msgid "   flags         : 0x%08x"
 msgstr ""
 
-#: vms-alpha.c:6039
+#: vms-alpha.c:6082
 #, c-format
 msgid "   id match      : %x\n"
 msgstr ""
 
-#: vms-alpha.c:6041
+#: vms-alpha.c:6084
 #, c-format
 msgid "   error severity: %x\n"
 msgstr ""
 
-#: vms-alpha.c:6044
+#: vms-alpha.c:6087
 #, c-format
 msgid "   entity name   : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6046
+#: vms-alpha.c:6089
 #, c-format
 msgid "   object name   : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6049
+#: vms-alpha.c:6092
 #, c-format
 msgid "   binary ident  : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6052
+#: vms-alpha.c:6095
 #, c-format
 msgid "   ascii ident   : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6060
+#: vms-alpha.c:6103
 #, c-format
 msgid "SYMG - Universal symbol definition\n"
 msgstr ""
 
-#: vms-alpha.c:6064
+#: vms-alpha.c:6107
 #, c-format
 msgid "   symbol vector offset: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6066
+#: vms-alpha.c:6109
 #, c-format
 msgid "   entry point: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6068
+#: vms-alpha.c:6111
 #, c-format
 msgid "   proc descr : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6070
+#: vms-alpha.c:6113
 #, c-format
 msgid "   psect index: %u\n"
 msgstr ""
 
-#: vms-alpha.c:6081
+#: vms-alpha.c:6124
 #, c-format
 msgid "SYMV - Vectored symbol definition\n"
 msgstr ""
 
-#: vms-alpha.c:6085
+#: vms-alpha.c:6128
 #, c-format
 msgid "   vector      : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6087 vms-alpha.c:6106
+#: vms-alpha.c:6130 vms-alpha.c:6149
 #, c-format
 msgid "   psect offset: %u\n"
 msgstr ""
 
-#: vms-alpha.c:6100
+#: vms-alpha.c:6143
 #, c-format
 msgid "SYMM - Global symbol definition with version\n"
 msgstr ""
 
-#: vms-alpha.c:6104
+#: vms-alpha.c:6147
 #, c-format
 msgid "   version mask: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6115
+#: vms-alpha.c:6158
 #, c-format
 msgid "unhandled egsd entry type %u\n"
 msgstr ""
 
-#: vms-alpha.c:6150
+#: vms-alpha.c:6193
 #, c-format
 msgid "    linkage index: %u, replacement insn: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6154
+#: vms-alpha.c:6197
 #, c-format
 msgid "    psect idx 1: %u, offset 1: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6159
+#: vms-alpha.c:6202
 #, c-format
 msgid "    psect idx 2: %u, offset 2: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6165
+#: vms-alpha.c:6208
 #, c-format
 msgid "    psect idx 3: %u, offset 3: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6170
+#: vms-alpha.c:6213
 #, c-format
 msgid "    global name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6181
+#: vms-alpha.c:6224
 #, c-format
 msgid "  %s (len=%u+%u):\n"
 msgstr ""
 
-#: vms-alpha.c:6203
+#: vms-alpha.c:6246
 #, c-format
 msgid "   (type: %3u, size: 4+%3u): "
 msgstr ""
 
-#: vms-alpha.c:6207
+#: vms-alpha.c:6250
 #, c-format
 msgid "STA_GBL (stack global) %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6211
+#: vms-alpha.c:6254
 #, c-format
 msgid "STA_LW (stack longword) 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6215
+#: vms-alpha.c:6258
 #, c-format
 msgid "STA_QW (stack quadword) 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6220
+#: vms-alpha.c:6263
 #, c-format
 msgid "STA_PQ (stack psect base + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6222
+#: vms-alpha.c:6265
 #, c-format
 msgid "    psect: %u, offset: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6228
+#: vms-alpha.c:6271
 #, c-format
 msgid "STA_LI (stack literal)\n"
 msgstr ""
 
-#: vms-alpha.c:6231
+#: vms-alpha.c:6274
 #, c-format
 msgid "STA_MOD (stack module)\n"
 msgstr ""
 
-#: vms-alpha.c:6234
+#: vms-alpha.c:6277
 #, c-format
 msgid "STA_CKARG (compare procedure argument)\n"
 msgstr ""
 
-#: vms-alpha.c:6238
+#: vms-alpha.c:6281
 #, c-format
 msgid "STO_B (store byte)\n"
 msgstr ""
 
-#: vms-alpha.c:6241
+#: vms-alpha.c:6284
 #, c-format
 msgid "STO_W (store word)\n"
 msgstr ""
 
-#: vms-alpha.c:6244
+#: vms-alpha.c:6287
 #, c-format
 msgid "STO_LW (store longword)\n"
 msgstr ""
 
-#: vms-alpha.c:6247
+#: vms-alpha.c:6290
 #, c-format
 msgid "STO_QW (store quadword)\n"
 msgstr ""
 
-#: vms-alpha.c:6253
+#: vms-alpha.c:6296
 #, c-format
 msgid "STO_IMMR (store immediate repeat) %u bytes\n"
 msgstr ""
 
-#: vms-alpha.c:6260
+#: vms-alpha.c:6303
 #, c-format
 msgid "STO_GBL (store global) %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6264
+#: vms-alpha.c:6307
 #, c-format
 msgid "STO_CA (store code address) %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6268
+#: vms-alpha.c:6311
 #, c-format
 msgid "STO_RB (store relative branch)\n"
 msgstr ""
 
-#: vms-alpha.c:6271
+#: vms-alpha.c:6314
 #, c-format
 msgid "STO_AB (store absolute branch)\n"
 msgstr ""
 
-#: vms-alpha.c:6274
+#: vms-alpha.c:6317
 #, c-format
 msgid "STO_OFF (store offset to psect)\n"
 msgstr ""
 
-#: vms-alpha.c:6280
+#: vms-alpha.c:6323
 #, c-format
 msgid "STO_IMM (store immediate) %u bytes\n"
 msgstr ""
 
-#: vms-alpha.c:6287
+#: vms-alpha.c:6330
 #, c-format
 msgid "STO_GBL_LW (store global longword) %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6291
+#: vms-alpha.c:6334
 #, c-format
 msgid "STO_OFF (store LP with procedure signature)\n"
 msgstr ""
 
-#: vms-alpha.c:6294
+#: vms-alpha.c:6337
 #, c-format
 msgid "STO_BR_GBL (store branch global) *todo*\n"
 msgstr ""
 
-#: vms-alpha.c:6297
+#: vms-alpha.c:6340
 #, c-format
 msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
 msgstr ""
 
-#: vms-alpha.c:6301
+#: vms-alpha.c:6344
 #, c-format
 msgid "OPR_NOP (no-operation)\n"
 msgstr ""
 
-#: vms-alpha.c:6304
+#: vms-alpha.c:6347
 #, c-format
 msgid "OPR_ADD (add)\n"
 msgstr ""
 
-#: vms-alpha.c:6307
+#: vms-alpha.c:6350
 #, c-format
 msgid "OPR_SUB (subtract)\n"
 msgstr ""
 
-#: vms-alpha.c:6310
+#: vms-alpha.c:6353
 #, c-format
 msgid "OPR_MUL (multiply)\n"
 msgstr ""
 
-#: vms-alpha.c:6313
+#: vms-alpha.c:6356
 #, c-format
 msgid "OPR_DIV (divide)\n"
 msgstr ""
 
-#: vms-alpha.c:6316
+#: vms-alpha.c:6359
 #, c-format
 msgid "OPR_AND (logical and)\n"
 msgstr ""
 
-#: vms-alpha.c:6319
+#: vms-alpha.c:6362
 #, c-format
 msgid "OPR_IOR (logical inclusive or)\n"
 msgstr ""
 
-#: vms-alpha.c:6322
+#: vms-alpha.c:6365
 #, c-format
 msgid "OPR_EOR (logical exclusive or)\n"
 msgstr ""
 
-#: vms-alpha.c:6325
+#: vms-alpha.c:6368
 #, c-format
 msgid "OPR_NEG (negate)\n"
 msgstr ""
 
-#: vms-alpha.c:6328
+#: vms-alpha.c:6371
 #, c-format
 msgid "OPR_COM (complement)\n"
 msgstr ""
 
-#: vms-alpha.c:6331
+#: vms-alpha.c:6374
 #, c-format
 msgid "OPR_INSV (insert field)\n"
 msgstr ""
 
-#: vms-alpha.c:6334
+#: vms-alpha.c:6377
 #, c-format
 msgid "OPR_ASH (arithmetic shift)\n"
 msgstr ""
 
-#: vms-alpha.c:6337
+#: vms-alpha.c:6380
 #, c-format
 msgid "OPR_USH (unsigned shift)\n"
 msgstr ""
 
-#: vms-alpha.c:6340
+#: vms-alpha.c:6383
 #, c-format
 msgid "OPR_ROT (rotate)\n"
 msgstr ""
 
-#: vms-alpha.c:6343
+#: vms-alpha.c:6386
 #, c-format
 msgid "OPR_SEL (select)\n"
 msgstr ""
 
-#: vms-alpha.c:6346
+#: vms-alpha.c:6389
 #, c-format
 msgid "OPR_REDEF (redefine symbol to curr location)\n"
 msgstr ""
 
-#: vms-alpha.c:6349
+#: vms-alpha.c:6392
 #, c-format
 msgid "OPR_REDEF (define a literal)\n"
 msgstr ""
 
-#: vms-alpha.c:6353
+#: vms-alpha.c:6396
 #, c-format
 msgid "STC_LP (store cond linkage pair)\n"
 msgstr ""
 
-#: vms-alpha.c:6357
+#: vms-alpha.c:6400
 #, c-format
 msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
 msgstr ""
 
-#: vms-alpha.c:6359
+#: vms-alpha.c:6402
 #, c-format
 msgid "   linkage index: %u, procedure: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6362
+#: vms-alpha.c:6405
 #, c-format
 msgid "   signature: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6365
+#: vms-alpha.c:6408
 #, c-format
 msgid "STC_GBL (store cond global)\n"
 msgstr ""
 
-#: vms-alpha.c:6367
+#: vms-alpha.c:6410
 #, c-format
 msgid "   linkage index: %u, global: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6371
+#: vms-alpha.c:6414
 #, c-format
 msgid "STC_GCA (store cond code address)\n"
 msgstr ""
 
-#: vms-alpha.c:6373
+#: vms-alpha.c:6416
 #, c-format
 msgid "   linkage index: %u, procedure name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:6377
+#: vms-alpha.c:6420
 #, c-format
 msgid "STC_PS (store cond psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6380
+#: vms-alpha.c:6423
 #, c-format
 msgid "   linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:6387
+#: vms-alpha.c:6430
 #, c-format
 msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
 msgstr ""
 
-#: vms-alpha.c:6391
+#: vms-alpha.c:6434
 #, c-format
 msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6395
+#: vms-alpha.c:6438
 #, c-format
 msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
 msgstr ""
 
-#: vms-alpha.c:6399
+#: vms-alpha.c:6442
 #, c-format
 msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6403
+#: vms-alpha.c:6446
 #, c-format
 msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
 msgstr ""
 
-#: vms-alpha.c:6407
+#: vms-alpha.c:6450
 #, c-format
 msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6411
+#: vms-alpha.c:6454
 #, c-format
 msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
 msgstr ""
 
-#: vms-alpha.c:6415
+#: vms-alpha.c:6458
 #, c-format
 msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6420
+#: vms-alpha.c:6463
 #, c-format
 msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
 msgstr ""
 
-#: vms-alpha.c:6424
+#: vms-alpha.c:6467
 #, c-format
 msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
 msgstr ""
 
-#: vms-alpha.c:6428
+#: vms-alpha.c:6471
 #, c-format
 msgid "CTL_SETRB (set relocation base)\n"
 msgstr ""
 
-#: vms-alpha.c:6434
+#: vms-alpha.c:6477
 #, c-format
 msgid "CTL_AUGRB (augment relocation base) %u\n"
 msgstr ""
 
-#: vms-alpha.c:6438
+#: vms-alpha.c:6481
 #, c-format
 msgid "CTL_DFLOC (define location)\n"
 msgstr ""
 
-#: vms-alpha.c:6441
+#: vms-alpha.c:6484
 #, c-format
 msgid "CTL_STLOC (set location)\n"
 msgstr ""
 
-#: vms-alpha.c:6444
+#: vms-alpha.c:6487
 #, c-format
 msgid "CTL_STKDL (stack defined location)\n"
 msgstr ""
 
-#: vms-alpha.c:6447 vms-alpha.c:6871 vms-alpha.c:6997
+#: vms-alpha.c:6490 vms-alpha.c:6914 vms-alpha.c:7040
 #, c-format
 msgid "*unhandled*\n"
 msgstr ""
 
-#: vms-alpha.c:6477 vms-alpha.c:6516
+#: vms-alpha.c:6520 vms-alpha.c:6559
 #, c-format
 msgid "cannot read GST record length\n"
 msgstr ""
 
 #. Ill-formed.
-#: vms-alpha.c:6498
+#: vms-alpha.c:6541
 #, c-format
 msgid "cannot find EMH in first GST record\n"
 msgstr ""
 
-#: vms-alpha.c:6524
+#: vms-alpha.c:6567
 #, c-format
 msgid "cannot read GST record header\n"
 msgstr ""
 
-#: vms-alpha.c:6537
+#: vms-alpha.c:6580
 #, c-format
 msgid " corrupted GST\n"
 msgstr ""
 
-#: vms-alpha.c:6545
+#: vms-alpha.c:6588
 #, c-format
 msgid "cannot read GST record\n"
 msgstr ""
 
-#: vms-alpha.c:6574
+#: vms-alpha.c:6617
 #, c-format
 msgid " unhandled EOBJ record type %u\n"
 msgstr ""
 
-#: vms-alpha.c:6598
+#: vms-alpha.c:6641
 #, c-format
 msgid "  bitcount: %u, base addr: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6612
+#: vms-alpha.c:6655
 #, c-format
 msgid "   bitmap: 0x%08x (count: %u):\n"
 msgstr ""
 
-#: vms-alpha.c:6619
+#: vms-alpha.c:6662
 #, c-format
 msgid " %08x"
 msgstr ""
 
-#: vms-alpha.c:6645
+#: vms-alpha.c:6688
 #, c-format
 msgid "  image %u (%u entries)\n"
 msgstr ""
 
-#: vms-alpha.c:6651
+#: vms-alpha.c:6694
 #, c-format
 msgid "   offset: 0x%08x, val: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6673
+#: vms-alpha.c:6716
 #, c-format
 msgid "  image %u (%u entries), offsets:\n"
 msgstr ""
 
-#: vms-alpha.c:6680
+#: vms-alpha.c:6723
 #, c-format
 msgid " 0x%08x"
 msgstr ""
 
 #. 64 bits.
-#: vms-alpha.c:6802
+#: vms-alpha.c:6845
 #, c-format
 msgid "64 bits *unhandled*\n"
 msgstr ""
 
-#: vms-alpha.c:6807
+#: vms-alpha.c:6850
 #, c-format
 msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6818
+#: vms-alpha.c:6861
 #, c-format
 msgid "non-contiguous array of %s\n"
 msgstr ""
 
-#: vms-alpha.c:6823
+#: vms-alpha.c:6866
 #, c-format
 msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
 msgstr ""
 
-#: vms-alpha.c:6828
+#: vms-alpha.c:6871
 #, c-format
 msgid "arsize: %u, a0: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6832
+#: vms-alpha.c:6875
 #, c-format
 msgid "Strides:\n"
 msgstr ""
 
-#: vms-alpha.c:6842
+#: vms-alpha.c:6885
 #, c-format
 msgid "Bounds:\n"
 msgstr ""
 
-#: vms-alpha.c:6848
+#: vms-alpha.c:6891
 #, c-format
 msgid "[%u]: Lower: %u, upper: %u\n"
 msgstr ""
 
-#: vms-alpha.c:6860
+#: vms-alpha.c:6903
 #, c-format
 msgid "unaligned bit-string of %s\n"
 msgstr ""
 
-#: vms-alpha.c:6865
+#: vms-alpha.c:6908
 #, c-format
 msgid "base: %u, pos: %u\n"
 msgstr ""
 
-#: vms-alpha.c:6886
+#: vms-alpha.c:6929
 #, c-format
 msgid "vflags: 0x%02x, value: 0x%08x "
 msgstr ""
 
-#: vms-alpha.c:6892
+#: vms-alpha.c:6935
 #, c-format
 msgid "(no value)\n"
 msgstr ""
 
-#: vms-alpha.c:6895
+#: vms-alpha.c:6938
 #, c-format
 msgid "(not active)\n"
 msgstr ""
 
-#: vms-alpha.c:6898
+#: vms-alpha.c:6941
 #, c-format
 msgid "(not allocated)\n"
 msgstr ""
 
-#: vms-alpha.c:6901
+#: vms-alpha.c:6944
 #, c-format
 msgid "(descriptor)\n"
 msgstr ""
 
-#: vms-alpha.c:6905
+#: vms-alpha.c:6948
 #, c-format
 msgid "(trailing value)\n"
 msgstr ""
 
-#: vms-alpha.c:6908
+#: vms-alpha.c:6951
 #, c-format
 msgid "(value spec follows)\n"
 msgstr ""
 
-#: vms-alpha.c:6911
+#: vms-alpha.c:6954
 #, c-format
 msgid "(at bit offset %u)\n"
 msgstr ""
 
-#: vms-alpha.c:6915
+#: vms-alpha.c:6958
 #, c-format
 msgid "(reg: %u, disp: %u, indir: %u, kind: "
 msgstr ""
 
-#: vms-alpha.c:6922
+#: vms-alpha.c:6965
 msgid "literal"
 msgstr ""
 
-#: vms-alpha.c:6925
+#: vms-alpha.c:6968
 msgid "address"
 msgstr ""
 
-#: vms-alpha.c:6928
+#: vms-alpha.c:6971
 msgid "desc"
 msgstr ""
 
-#: vms-alpha.c:6931
+#: vms-alpha.c:6974
 msgid "reg"
 msgstr ""
 
-#: vms-alpha.c:6948
+#: vms-alpha.c:6991
 #, c-format
 msgid "len: %2u, kind: %2u "
 msgstr ""
 
-#: vms-alpha.c:6954
+#: vms-alpha.c:6997
 #, c-format
 msgid "atomic, type=0x%02x %s\n"
 msgstr ""
 
-#: vms-alpha.c:6958
+#: vms-alpha.c:7001
 #, c-format
 msgid "indirect, defined at 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:6962
+#: vms-alpha.c:7005
 #, c-format
 msgid "typed pointer\n"
 msgstr ""
 
-#: vms-alpha.c:6966
+#: vms-alpha.c:7009
 #, c-format
 msgid "pointer\n"
 msgstr ""
 
-#: vms-alpha.c:6974
+#: vms-alpha.c:7017
 #, c-format
 msgid "array, dim: %u, bitmap: "
 msgstr ""
 
-#: vms-alpha.c:6981
+#: vms-alpha.c:7024
 #, c-format
 msgid "array descriptor:\n"
 msgstr ""
 
-#: vms-alpha.c:6988
+#: vms-alpha.c:7031
 #, c-format
 msgid "type spec for element:\n"
 msgstr ""
 
-#: vms-alpha.c:6990
+#: vms-alpha.c:7033
 #, c-format
 msgid "type spec for subscript %u:\n"
 msgstr ""
 
-#: vms-alpha.c:7008
+#: vms-alpha.c:7051
 #, c-format
 msgid "Debug symbol table:\n"
 msgstr ""
 
-#: vms-alpha.c:7019
+#: vms-alpha.c:7062
 #, c-format
 msgid "cannot read DST header\n"
 msgstr ""
 
-#: vms-alpha.c:7025
+#: vms-alpha.c:7068
 #, c-format
 msgid " type: %3u, len: %3u (at 0x%08x): "
 msgstr ""
 
-#: vms-alpha.c:7039
+#: vms-alpha.c:7082
 #, c-format
 msgid "cannot read DST symbol\n"
 msgstr ""
 
-#: vms-alpha.c:7082
+#: vms-alpha.c:7125
 #, c-format
 msgid "standard data: %s\n"
 msgstr ""
 
-#: vms-alpha.c:7085 vms-alpha.c:7173
+#: vms-alpha.c:7128 vms-alpha.c:7216
 #, c-format
 msgid "    name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7092
+#: vms-alpha.c:7135
 #, c-format
 msgid "modbeg\n"
 msgstr ""
 
-#: vms-alpha.c:7094
+#: vms-alpha.c:7137
 #, c-format
 msgid "   flags: %d, language: %u, major: %u, minor: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7100 vms-alpha.c:7374
+#: vms-alpha.c:7143 vms-alpha.c:7417
 #, c-format
 msgid "   module name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7103
+#: vms-alpha.c:7146
 #, c-format
 msgid "   compiler   : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7108
+#: vms-alpha.c:7151
 #, c-format
 msgid "modend\n"
 msgstr ""
 
-#: vms-alpha.c:7115
+#: vms-alpha.c:7158
 msgid "rtnbeg\n"
 msgstr ""
 
-#: vms-alpha.c:7117
+#: vms-alpha.c:7160
 #, c-format
 msgid "    flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7122
+#: vms-alpha.c:7165
 #, c-format
 msgid "    routine name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7130
+#: vms-alpha.c:7173
 #, c-format
 msgid "rtnend: size 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7138
+#: vms-alpha.c:7181
 #, c-format
 msgid "prolog: bkpt address 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7147
+#: vms-alpha.c:7190
 #, c-format
 msgid "epilog: flags: %u, count: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7157
+#: vms-alpha.c:7200
 #, c-format
 msgid "blkbeg: address: 0x%08x, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7166
+#: vms-alpha.c:7209
 #, c-format
 msgid "blkend: size: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7172
+#: vms-alpha.c:7215
 #, c-format
 msgid "typspec (len: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7179
+#: vms-alpha.c:7222
 #, c-format
 msgid "septyp, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7188
+#: vms-alpha.c:7231
 #, c-format
 msgid "recbeg: name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7190
+#: vms-alpha.c:7233
 #, c-format
 msgid "    len: %u bits\n"
 msgstr ""
 
-#: vms-alpha.c:7195
+#: vms-alpha.c:7238
 #, c-format
 msgid "recend\n"
 msgstr ""
 
-#: vms-alpha.c:7199
+#: vms-alpha.c:7242
 #, c-format
 msgid "enumbeg, len: %u, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7203
+#: vms-alpha.c:7246
 #, c-format
 msgid "enumelt, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7207
+#: vms-alpha.c:7250
 #, c-format
 msgid "enumend\n"
 msgstr ""
 
-#: vms-alpha.c:7212
+#: vms-alpha.c:7255
 #, c-format
 msgid "label, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7214
+#: vms-alpha.c:7257
 #, c-format
 msgid "    address: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7224
+#: vms-alpha.c:7267
 #, c-format
 msgid "discontiguous range (nbr: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7227
+#: vms-alpha.c:7270
 #, c-format
 msgid "    address: 0x%08x, size: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7237
+#: vms-alpha.c:7280
 #, c-format
 msgid "line num  (len: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7254
+#: vms-alpha.c:7297
 #, c-format
 msgid "delta_pc_w %u\n"
 msgstr ""
 
-#: vms-alpha.c:7261
+#: vms-alpha.c:7304
 #, c-format
 msgid "incr_linum(b): +%u\n"
 msgstr ""
 
-#: vms-alpha.c:7267
+#: vms-alpha.c:7310
 #, c-format
 msgid "incr_linum_w: +%u\n"
 msgstr ""
 
-#: vms-alpha.c:7273
+#: vms-alpha.c:7316
 #, c-format
 msgid "incr_linum_l: +%u\n"
 msgstr ""
 
-#: vms-alpha.c:7279
+#: vms-alpha.c:7322
 #, c-format
 msgid "set_line_num(w) %u\n"
 msgstr ""
 
-#: vms-alpha.c:7284
+#: vms-alpha.c:7327
 #, c-format
 msgid "set_line_num_b %u\n"
 msgstr ""
 
-#: vms-alpha.c:7289
+#: vms-alpha.c:7332
 #, c-format
 msgid "set_line_num_l %u\n"
 msgstr ""
 
-#: vms-alpha.c:7294
+#: vms-alpha.c:7337
 #, c-format
 msgid "set_abs_pc: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7298
+#: vms-alpha.c:7341
 #, c-format
 msgid "delta_pc_l: +0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7303
+#: vms-alpha.c:7346
 #, c-format
 msgid "term(b): 0x%02x"
 msgstr ""
 
-#: vms-alpha.c:7305
+#: vms-alpha.c:7348
 #, c-format
 msgid "        pc: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7310
+#: vms-alpha.c:7353
 #, c-format
 msgid "term_w: 0x%04x"
 msgstr ""
 
-#: vms-alpha.c:7312
+#: vms-alpha.c:7355
 #, c-format
 msgid "    pc: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7318
+#: vms-alpha.c:7361
 #, c-format
 msgid "delta pc +%-4d"
 msgstr ""
 
-#: vms-alpha.c:7322
+#: vms-alpha.c:7365
 #, c-format
 msgid "    pc: 0x%08x line: %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7327
+#: vms-alpha.c:7370
 #, c-format
 msgid "    *unhandled* cmd %u\n"
 msgstr ""
 
-#: vms-alpha.c:7342
+#: vms-alpha.c:7385
 #, c-format
 msgid "source (len: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7357
+#: vms-alpha.c:7400
 #, c-format
 msgid "   declfile: len: %u, flags: %u, fileid: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7362
+#: vms-alpha.c:7405
 #, c-format
 msgid "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7371
+#: vms-alpha.c:7414
 #, c-format
 msgid "   filename   : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7380
+#: vms-alpha.c:7423
 #, c-format
 msgid "   setfile %u\n"
 msgstr ""
 
-#: vms-alpha.c:7385 vms-alpha.c:7390
+#: vms-alpha.c:7428 vms-alpha.c:7433
 #, c-format
 msgid "   setrec %u\n"
 msgstr ""
 
-#: vms-alpha.c:7395 vms-alpha.c:7400
+#: vms-alpha.c:7438 vms-alpha.c:7443
 #, c-format
 msgid "   setlnum %u\n"
 msgstr ""
 
-#: vms-alpha.c:7405 vms-alpha.c:7410
+#: vms-alpha.c:7448 vms-alpha.c:7453
 #, c-format
 msgid "   deflines %u\n"
 msgstr ""
 
-#: vms-alpha.c:7414
+#: vms-alpha.c:7457
 #, c-format
 msgid "   formfeed\n"
 msgstr ""
 
-#: vms-alpha.c:7418
+#: vms-alpha.c:7461
 #, c-format
 msgid "   *unhandled* cmd %u\n"
 msgstr ""
 
-#: vms-alpha.c:7430
+#: vms-alpha.c:7473
 #, c-format
 msgid "*unhandled* dst type %u\n"
 msgstr ""
 
-#: vms-alpha.c:7462
+#: vms-alpha.c:7505
 #, c-format
 msgid "cannot read EIHD\n"
 msgstr ""
 
-#: vms-alpha.c:7466
+#: vms-alpha.c:7509
 #, c-format
 msgid "EIHD: (size: %u, nbr blocks: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7470
+#: vms-alpha.c:7513
 #, c-format
 msgid " majorid: %u, minorid: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7478
+#: vms-alpha.c:7521
 msgid "executable"
 msgstr ""
 
-#: vms-alpha.c:7481
+#: vms-alpha.c:7524
 msgid "linkable image"
 msgstr ""
 
-#: vms-alpha.c:7488
+#: vms-alpha.c:7531
 #, c-format
 msgid " image type: %u (%s)"
 msgstr ""
 
-#: vms-alpha.c:7494
+#: vms-alpha.c:7537
 msgid "native"
 msgstr ""
 
-#: vms-alpha.c:7497
+#: vms-alpha.c:7540
 msgid "CLI"
 msgstr ""
 
-#: vms-alpha.c:7504
+#: vms-alpha.c:7547
 #, c-format
 msgid ", subtype: %u (%s)\n"
 msgstr ""
 
-#: vms-alpha.c:7511
+#: vms-alpha.c:7554
 #, c-format
 msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7515
+#: vms-alpha.c:7558
 #, c-format
 msgid " fixup info rva: "
 msgstr ""
 
-#: vms-alpha.c:7517
+#: vms-alpha.c:7560
 #, c-format
 msgid ", symbol vector rva: "
 msgstr ""
 
-#: vms-alpha.c:7520
+#: vms-alpha.c:7563
 #, c-format
 msgid ""
 "\n"
 " version array off: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7525
+#: vms-alpha.c:7568
 #, c-format
 msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7531
+#: vms-alpha.c:7574
 #, c-format
 msgid " linker flags: %08x:"
 msgstr ""
 
-#: vms-alpha.c:7562
+#: vms-alpha.c:7605
 #, c-format
 msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7568
+#: vms-alpha.c:7611
 #, c-format
 msgid " BPAGE: %u"
 msgstr ""
 
-#: vms-alpha.c:7575
+#: vms-alpha.c:7618
 #, c-format
 msgid ", ext fixup offset: %u, no_opt psect off: %u"
 msgstr ""
 
-#: vms-alpha.c:7578
+#: vms-alpha.c:7621
 #, c-format
 msgid ", alias: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7586
+#: vms-alpha.c:7629
 #, c-format
 msgid "system version array information:\n"
 msgstr ""
 
-#: vms-alpha.c:7590
+#: vms-alpha.c:7633
 #, c-format
 msgid "cannot read EIHVN header\n"
 msgstr ""
 
-#: vms-alpha.c:7600
+#: vms-alpha.c:7643
 #, c-format
 msgid "cannot read EIHVN version\n"
 msgstr ""
 
-#: vms-alpha.c:7603
+#: vms-alpha.c:7646
 #, c-format
 msgid "   %02u "
 msgstr ""
 
-#: vms-alpha.c:7607
+#: vms-alpha.c:7650
 msgid "BASE_IMAGE       "
 msgstr ""
 
-#: vms-alpha.c:7610
+#: vms-alpha.c:7653
 msgid "MEMORY_MANAGEMENT"
 msgstr ""
 
-#: vms-alpha.c:7613
+#: vms-alpha.c:7656
 msgid "IO               "
 msgstr ""
 
-#: vms-alpha.c:7616
+#: vms-alpha.c:7659
 msgid "FILES_VOLUMES    "
 msgstr ""
 
-#: vms-alpha.c:7619
+#: vms-alpha.c:7662
 msgid "PROCESS_SCHED    "
 msgstr ""
 
-#: vms-alpha.c:7622
+#: vms-alpha.c:7665
 msgid "SYSGEN           "
 msgstr ""
 
-#: vms-alpha.c:7625
+#: vms-alpha.c:7668
 msgid "CLUSTERS_LOCKMGR "
 msgstr ""
 
-#: vms-alpha.c:7628
+#: vms-alpha.c:7671
 msgid "LOGICAL_NAMES    "
 msgstr ""
 
-#: vms-alpha.c:7631
+#: vms-alpha.c:7674
 msgid "SECURITY         "
 msgstr ""
 
-#: vms-alpha.c:7634
+#: vms-alpha.c:7677
 msgid "IMAGE_ACTIVATOR  "
 msgstr ""
 
-#: vms-alpha.c:7637
+#: vms-alpha.c:7680
 msgid "NETWORKS         "
 msgstr ""
 
-#: vms-alpha.c:7640
+#: vms-alpha.c:7683
 msgid "COUNTERS         "
 msgstr ""
 
-#: vms-alpha.c:7643
+#: vms-alpha.c:7686
 msgid "STABLE           "
 msgstr ""
 
-#: vms-alpha.c:7646
+#: vms-alpha.c:7689
 msgid "MISC             "
 msgstr ""
 
-#: vms-alpha.c:7649
+#: vms-alpha.c:7692
 msgid "CPU              "
 msgstr ""
 
-#: vms-alpha.c:7652
+#: vms-alpha.c:7695
 msgid "VOLATILE         "
 msgstr ""
 
-#: vms-alpha.c:7655
+#: vms-alpha.c:7698
 msgid "SHELL            "
 msgstr ""
 
-#: vms-alpha.c:7658
+#: vms-alpha.c:7701
 msgid "POSIX            "
 msgstr ""
 
-#: vms-alpha.c:7661
+#: vms-alpha.c:7704
 msgid "MULTI_PROCESSING "
 msgstr ""
 
-#: vms-alpha.c:7664
+#: vms-alpha.c:7707
 msgid "GALAXY           "
 msgstr ""
 
-#: vms-alpha.c:7667
+#: vms-alpha.c:7710
 msgid "*unknown*        "
 msgstr ""
 
-#: vms-alpha.c:7683 vms-alpha.c:7958
+#: vms-alpha.c:7726 vms-alpha.c:8001
 #, c-format
 msgid "cannot read EIHA\n"
 msgstr ""
 
-#: vms-alpha.c:7686
+#: vms-alpha.c:7729
 #, c-format
 msgid "Image activation:  (size=%u)\n"
 msgstr ""
 
-#: vms-alpha.c:7689
+#: vms-alpha.c:7732
 #, c-format
 msgid " First address : 0x%08x 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7693
+#: vms-alpha.c:7736
 #, c-format
 msgid " Second address: 0x%08x 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7697
+#: vms-alpha.c:7740
 #, c-format
 msgid " Third address : 0x%08x 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7701
+#: vms-alpha.c:7744
 #, c-format
 msgid " Fourth address: 0x%08x 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7705
+#: vms-alpha.c:7748
 #, c-format
 msgid " Shared image  : 0x%08x 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7716
+#: vms-alpha.c:7759
 #, c-format
 msgid "cannot read EIHI\n"
 msgstr ""
 
-#: vms-alpha.c:7720
+#: vms-alpha.c:7763
 #, c-format
 msgid "Image identification: (major: %u, minor: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7723
+#: vms-alpha.c:7766
 #, c-format
 msgid " image name       : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7725
+#: vms-alpha.c:7768
 #, c-format
 msgid " link time        : %s\n"
 msgstr ""
 
-#: vms-alpha.c:7727
+#: vms-alpha.c:7770
 #, c-format
 msgid " image ident      : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7729
+#: vms-alpha.c:7772
 #, c-format
 msgid " linker ident     : %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7731
+#: vms-alpha.c:7774
 #, c-format
 msgid " image build ident: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7741
+#: vms-alpha.c:7784
 #, c-format
 msgid "cannot read EIHS\n"
 msgstr ""
 
-#: vms-alpha.c:7745
+#: vms-alpha.c:7788
 #, c-format
 msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7751
+#: vms-alpha.c:7794
 #, c-format
 msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
 msgstr ""
 
-#: vms-alpha.c:7756
+#: vms-alpha.c:7799
 #, c-format
 msgid " global symbol table: vbn: %u, records: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7761
+#: vms-alpha.c:7804
 #, c-format
 msgid " debug module table : vbn: %u, size: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7774
+#: vms-alpha.c:7817
 #, c-format
 msgid "cannot read EISD\n"
 msgstr ""
 
-#: vms-alpha.c:7785
+#: vms-alpha.c:7828
 #, c-format
 msgid ""
 "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7793
+#: vms-alpha.c:7836
 #, c-format
 msgid " section: base: 0x%08x%08x size: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7798
+#: vms-alpha.c:7841
 #, c-format
 msgid " flags: 0x%04x"
 msgstr ""
 
-#: vms-alpha.c:7836
+#: vms-alpha.c:7879
 #, c-format
 msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
 msgstr ""
 
-#: vms-alpha.c:7842
+#: vms-alpha.c:7885
 msgid "NORMAL"
 msgstr ""
 
-#: vms-alpha.c:7845
+#: vms-alpha.c:7888
 msgid "SHRFXD"
 msgstr ""
 
-#: vms-alpha.c:7848
+#: vms-alpha.c:7891
 msgid "PRVFXD"
 msgstr ""
 
-#: vms-alpha.c:7851
+#: vms-alpha.c:7894
 msgid "SHRPIC"
 msgstr ""
 
-#: vms-alpha.c:7854
+#: vms-alpha.c:7897
 msgid "PRVPIC"
 msgstr ""
 
-#: vms-alpha.c:7857
+#: vms-alpha.c:7900
 msgid "USRSTACK"
 msgstr ""
 
-#: vms-alpha.c:7863
+#: vms-alpha.c:7906
 msgid ")\n"
 msgstr ""
 
-#: vms-alpha.c:7866
+#: vms-alpha.c:7909
 #, c-format
 msgid " ident: 0x%08x, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:7876
+#: vms-alpha.c:7919
 #, c-format
 msgid "cannot read DMT\n"
 msgstr ""
 
-#: vms-alpha.c:7880
+#: vms-alpha.c:7923
 #, c-format
 msgid "Debug module table:\n"
 msgstr ""
 
-#: vms-alpha.c:7889
+#: vms-alpha.c:7932
 #, c-format
 msgid "cannot read DMT header\n"
 msgstr ""
 
-#: vms-alpha.c:7895
+#: vms-alpha.c:7938
 #, c-format
 msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
 msgstr ""
 
-#: vms-alpha.c:7905
+#: vms-alpha.c:7948
 #, c-format
 msgid "cannot read DMT psect\n"
 msgstr ""
 
-#: vms-alpha.c:7909
+#: vms-alpha.c:7952
 #, c-format
 msgid "  psect start: 0x%08x, length: %u\n"
 msgstr ""
 
-#: vms-alpha.c:7922
+#: vms-alpha.c:7965
 #, c-format
 msgid "cannot read DST\n"
 msgstr ""
 
-#: vms-alpha.c:7932
+#: vms-alpha.c:7975
 #, c-format
 msgid "cannot read GST\n"
 msgstr ""
 
-#: vms-alpha.c:7936
+#: vms-alpha.c:7979
 #, c-format
 msgid "Global symbol table:\n"
 msgstr ""
 
-#: vms-alpha.c:7965
+#: vms-alpha.c:8008
 #, c-format
 msgid "Image activator fixup: (major: %u, minor: %u)\n"
 msgstr ""
 
-#: vms-alpha.c:7969
+#: vms-alpha.c:8012
 #, c-format
 msgid "  iaflink : 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:7973
+#: vms-alpha.c:8016
 #, c-format
 msgid "  fixuplnk: 0x%08x %08x\n"
 msgstr ""
 
-#: vms-alpha.c:7976
+#: vms-alpha.c:8019
 #, c-format
 msgid "  size : %u\n"
 msgstr ""
 
-#: vms-alpha.c:7978
+#: vms-alpha.c:8021
 #, c-format
 msgid "  flags: 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:7983
+#: vms-alpha.c:8026
 #, c-format
 msgid "  qrelfixoff: %5u, lrelfixoff: %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7988
+#: vms-alpha.c:8031
 #, c-format
 msgid "  qdotadroff: %5u, ldotadroff: %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7993
+#: vms-alpha.c:8036
 #, c-format
 msgid "  codeadroff: %5u, lpfixoff  : %5u\n"
 msgstr ""
 
-#: vms-alpha.c:7996
+#: vms-alpha.c:8039
 #, c-format
 msgid "  chgprtoff : %5u\n"
 msgstr ""
 
-#: vms-alpha.c:8000
+#: vms-alpha.c:8043
 #, c-format
 msgid "  shlstoff  : %5u, shrimgcnt : %5u\n"
 msgstr ""
 
-#: vms-alpha.c:8003
+#: vms-alpha.c:8046
 #, c-format
 msgid "  shlextra  : %5u, permctx   : %5u\n"
 msgstr ""
 
-#: vms-alpha.c:8006
+#: vms-alpha.c:8049
 #, c-format
 msgid "  base_va : 0x%08x\n"
 msgstr ""
 
-#: vms-alpha.c:8008
+#: vms-alpha.c:8051
 #, c-format
 msgid "  lppsbfixoff: %5u\n"
 msgstr ""
 
-#: vms-alpha.c:8016
+#: vms-alpha.c:8059
 #, c-format
 msgid " Shareable images:\n"
 msgstr ""
 
-#: vms-alpha.c:8021
+#: vms-alpha.c:8064
 #, c-format
 msgid "  %u: size: %u, flags: 0x%02x, name: %.*s\n"
 msgstr ""
 
-#: vms-alpha.c:8028
+#: vms-alpha.c:8071
 #, c-format
 msgid " quad-word relocation fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8033
+#: vms-alpha.c:8076
 #, c-format
 msgid " long-word relocation fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8038
+#: vms-alpha.c:8081
 #, c-format
 msgid " quad-word .address reference fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8043
+#: vms-alpha.c:8086
 #, c-format
 msgid " long-word .address reference fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8048
+#: vms-alpha.c:8091
 #, c-format
 msgid " Code Address Reference Fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8053
+#: vms-alpha.c:8096
 #, c-format
 msgid " Linkage Pairs Reference Fixups:\n"
 msgstr ""
 
-#: vms-alpha.c:8062
+#: vms-alpha.c:8105
 #, c-format
 msgid " Change Protection (%u entries):\n"
 msgstr ""
 
-#: vms-alpha.c:8068
+#: vms-alpha.c:8111
 #, c-format
 msgid "  base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
 msgstr ""
 
 #. FIXME: we do not yet support relocatable link.  It is not obvious
 #. how to do it for debug infos.
-#: vms-alpha.c:8908
+#: vms-alpha.c:8973
 msgid "%P: relocatable link is not supported\n"
 msgstr ""
 
-#: vms-alpha.c:8979
+#: vms-alpha.c:9044
 #, c-format
 msgid "%P: multiple entry points: in modules %pB and %pB\n"
 msgstr ""
 
-#: vms-lib.c:1445
+#: vms-lib.c:1453
 #, c-format
 msgid "could not open shared image '%s' from '%s'"
 msgstr ""
 
-#: vms-misc.c:361
+#: vms-misc.c:367
 msgid "_bfd_vms_output_counted called with zero bytes"
 msgstr ""
 
-#: vms-misc.c:366
+#: vms-misc.c:372
 msgid "_bfd_vms_output_counted called with too many bytes"
 msgstr ""
 
-#: xcofflink.c:832
+#: xcofflink.c:833
 #, c-format
 msgid "%pB: XCOFF shared object when not producing XCOFF output"
 msgstr ""
 
-#: xcofflink.c:853
+#: xcofflink.c:854
 #, c-format
 msgid "%pB: dynamic object with no .loader section"
 msgstr ""
 
-#: xcofflink.c:1413
+#: xcofflink.c:1414
 #, c-format
 msgid "%pB: `%s' has line numbers but no enclosing section"
 msgstr ""
 
-#: xcofflink.c:1466
+#: xcofflink.c:1467
 #, c-format
 msgid "%pB: class %d symbol `%s' has no aux entries"
 msgstr ""
 
-#: xcofflink.c:1489
+#: xcofflink.c:1490
 #, c-format
 msgid "%pB: symbol `%s' has unrecognized csect type %d"
 msgstr ""
 
-#: xcofflink.c:1502
+#: xcofflink.c:1503
 #, c-format
 msgid "%pB: bad XTY_ER symbol `%s': class %d scnum %d scnlen %<PRId64>"
 msgstr ""
 
-#: xcofflink.c:1533
+#: xcofflink.c:1534
 #, c-format
 msgid "%pB: XMC_TC0 symbol `%s' is class %d scnlen %<PRId64>"
 msgstr ""
 
-#: xcofflink.c:1680
+#: xcofflink.c:1681
 #, c-format
 msgid "%pB: csect `%s' not in enclosing section"
 msgstr ""
 
-#: xcofflink.c:1788
+#: xcofflink.c:1789
 #, c-format
 msgid "%pB: misplaced XTY_LD `%s'"
 msgstr ""
 
-#: xcofflink.c:2109
+#: xcofflink.c:2110
 #, c-format
 msgid "%pB: reloc %s:%<PRId64> not in csect"
 msgstr ""
 
-#: xcofflink.c:3196
+#: xcofflink.c:3197
 #, c-format
 msgid "%s: no such symbol"
 msgstr ""
 
-#: xcofflink.c:3301
+#: xcofflink.c:3302
 #, c-format
 msgid "warning: attempt to export undefined symbol `%s'"
 msgstr ""
 
-#: xcofflink.c:3680
+#: xcofflink.c:3681
 msgid "error: undefined symbol __rtinit"
 msgstr ""
 
-#: xcofflink.c:4060
+#: xcofflink.c:4061
 #, c-format
 msgid "%pB: loader reloc in unrecognized section `%s'"
 msgstr ""
 
-#: xcofflink.c:4072
+#: xcofflink.c:4073
 #, c-format
 msgid "%pB: `%s' in loader reloc but not loader sym"
 msgstr ""
 
-#: xcofflink.c:4089
+#: xcofflink.c:4090
 #, c-format
 msgid "%pB: loader reloc in read-only section %pA"
 msgstr ""
 
-#: xcofflink.c:5113
+#: xcofflink.c:5114
 #, c-format
 msgid "TOC overflow: %#<PRIx64> > 0x10000; try -mminimal-toc when compiling"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5031
+#. Not fatal, this callback cannot fail.
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2918
+#, c-format
+msgid "unknown attribute for symbol `%s': 0x%02x"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5237
 #, c-format
 msgid "%pB: error: erratum 835769 stub out of range (input file too large)"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5112
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5329
 #, c-format
 msgid "%pB: error: erratum 843419 stub out of range (input file too large)"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5641
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5342
+msgid "%pB: error: erratum 843419 immediate 0x%"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5876
 #, c-format
 msgid ""
 "%pB: relocation %s against symbol `%s' which may bind externally can not be "
 "used when making a shared object; recompile with -fPIC"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5732
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5969
 #, c-format
 msgid ""
 "%pB: local symbol descriptor table be NULL when applying relocation %s "
 "against local symbol"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6830
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6082
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6119
+#, c-format
+msgid "%pB: TLS relocation %s against undefined symbol `%s'"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7104
 msgid "too many GOT entries for -fpic, please recompile with -fPIC"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6858
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7132
 msgid ""
 "one possible cause of this error is that the symbol is being referenced in "
 "the indicated code as if it had a larger alignment than was declared where "
 "it was defined"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7443
+#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7716
 #, c-format
 msgid ""
 "%pB: relocation %s against `%s' can not be used when making a shared object"
@@ -8095,108 +8278,129 @@ msgstr ""
 msgid "%pB: warning: RVE PLT generation not supported"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2311
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2092
+#, c-format
+msgid "%pcrel_lo section symbol with an addend"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2313
+#, c-format
+msgid ""
+"%%X%%P: relocation %s against `%s' can not be used when making a shared "
+"object; recompile with -fPIC\n"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2323
+#, c-format
+msgid "%%X%%P: unresolvable %s relocation against symbol `%s'\n"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2362
 msgid "%X%P: internal error: out of range error\n"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2315
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2367
 msgid "%X%P: internal error: unsupported relocation error\n"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2325
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2373
+msgid "dangerous relocation error"
+msgstr ""
+
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2379
 msgid "%X%P: internal error: unknown error\n"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2711
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2770
 #, c-format
-msgid "error: %pB: Mis-matched ISA version for '%s' exetension. %d.%d vs %d.%d"
+msgid "error: %pB: Mis-matched ISA version for '%s' extension. %d.%d vs %d.%d"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2729
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2788
 #, c-format
 msgid ""
-"error: %pB: corrupted ISA string '%s'.first letter should be 'i' or 'e' but "
+"error: %pB: corrupted ISA string '%s'. First letter should be 'i' or 'e' but "
 "got '%s'."
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2773
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2832
 #, c-format
 msgid "error: %pB: Mis-matched ISA string to merge '%s' and '%s'."
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2921
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2980
 #, c-format
 msgid "error: %pB: ISA string of input (%s) doesn't match output (%s)."
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2946
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3005
 #, c-format
 msgid "error: %pB: XLEN of input (%u) doesn't match output (%u)."
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2954
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3013
 #, c-format
-msgid "error: %pB: Unspported XLEN (%u), you mightusing wrong emulation."
+msgid "error: %pB: Unsupported XLEN (%u), you might be using wrong emulation."
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3039
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3098
 #, c-format
 msgid "error: %pB: conflicting priv spec version (major/minor/revision)."
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3055
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3114
 #, c-format
 msgid ""
 "error: %pB use %u-byte stack aligned but the output use %u-byte stack "
 "aligned."
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3096
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3154
 #, c-format
 msgid ""
 "%pB: ABI is incompatible with that of the selected emulation:\n"
 "  target emulation `%s' does not match `%s'"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3119
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3208
 #, c-format
 msgid "%pB: can't link %s modules with %s modules"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3129
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3218
 #, c-format
 msgid "%pB: can't link RVE with other target"
 msgstr ""
 
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3630
+#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3756
 #, c-format
 msgid ""
 "%pB(%pA+%#<PRIx64>): %<PRId64> bytes required for alignment to %<PRId64>-"
 "byte boundary, but only %<PRId64> present"
 msgstr ""
 
-#: peigen.c:157 pepigen.c:157 pex64igen.c:157
+#: peigen.c:164 pepigen.c:164 pex64igen.c:164
 #, c-format
 msgid "%pB: unable to find name for empty section"
 msgstr ""
 
-#: peigen.c:183 pepigen.c:183 pex64igen.c:183
+#: peigen.c:190 pepigen.c:190 pex64igen.c:190
 #, c-format
 msgid "%pB: out of memory creating name for empty section"
 msgstr ""
 
-#: peigen.c:194 pepigen.c:194 pex64igen.c:194
+#: peigen.c:201 pepigen.c:201 pex64igen.c:201
 #, c-format
 msgid "%pB: unable to create fake empty section"
 msgstr ""
 
-#: peigen.c:532 pepigen.c:532 pex64igen.c:532
+#: peigen.c:539 pepigen.c:539 pex64igen.c:539
 #, c-format
 msgid ""
-"%pB: aout header specifies an invalid number of data-directory entries: %ld"
+"%pB: aout header specifies an invalid number of data-directory entries: %u"
 msgstr ""
 
-#: peigen.c:1091 pepigen.c:1091 pex64igen.c:1091
+#: peigen.c:1088 pepigen.c:1088 pex64igen.c:1088
 #, c-format
 msgid "%pB: line number overflow: 0x%lx > 0xffff"
 msgstr ""
@@ -8693,92 +8897,92 @@ msgid ""
 "Characteristics 0x%x\n"
 msgstr ""
 
-#: peigen.c:2993 pepigen.c:2993 pex64igen.c:2993
+#: peigen.c:2994 pepigen.c:2994 pex64igen.c:2994
 #, c-format
 msgid ""
 "%pB: Data Directory size (%lx) exceeds space left in section (%<PRIx64>)"
 msgstr ""
 
-#: peigen.c:3025 pepigen.c:3025 pex64igen.c:3025
+#: peigen.c:3026 pepigen.c:3026 pex64igen.c:3026
 msgid "failed to update file offsets in debug directory"
 msgstr ""
 
-#: peigen.c:3033 pepigen.c:3033 pex64igen.c:3033
+#: peigen.c:3034 pepigen.c:3034 pex64igen.c:3034
 #, c-format
 msgid "%pB: failed to read debug data section"
 msgstr ""
 
-#: peigen.c:3849 pepigen.c:3849 pex64igen.c:3849
+#: peigen.c:3850 pepigen.c:3850 pex64igen.c:3850
 #, c-format
 msgid ".rsrc merge failure: duplicate string resource: %d"
 msgstr ""
 
-#: peigen.c:3984 pepigen.c:3984 pex64igen.c:3984
+#: peigen.c:3985 pepigen.c:3985 pex64igen.c:3985
 msgid ".rsrc merge failure: multiple non-default manifests"
 msgstr ""
 
-#: peigen.c:4002 pepigen.c:4002 pex64igen.c:4002
+#: peigen.c:4003 pepigen.c:4003 pex64igen.c:4003
 msgid ".rsrc merge failure: a directory matches a leaf"
 msgstr ""
 
-#: peigen.c:4044 pepigen.c:4044 pex64igen.c:4044
+#: peigen.c:4045 pepigen.c:4045 pex64igen.c:4045
 msgid ".rsrc merge failure: duplicate leaf"
 msgstr ""
 
-#: peigen.c:4046 pepigen.c:4046 pex64igen.c:4046
+#: peigen.c:4047 pepigen.c:4047 pex64igen.c:4047
 #, c-format
 msgid ".rsrc merge failure: duplicate leaf: %s"
 msgstr ""
 
-#: peigen.c:4112 pepigen.c:4112 pex64igen.c:4112
+#: peigen.c:4113 pepigen.c:4113 pex64igen.c:4113
 msgid ".rsrc merge failure: dirs with differing characteristics"
 msgstr ""
 
-#: peigen.c:4119 pepigen.c:4119 pex64igen.c:4119
+#: peigen.c:4120 pepigen.c:4120 pex64igen.c:4120
 msgid ".rsrc merge failure: differing directory versions"
 msgstr ""
 
 #. Corrupted .rsrc section - cannot merge.
-#: peigen.c:4236 pepigen.c:4236 pex64igen.c:4236
+#: peigen.c:4237 pepigen.c:4237 pex64igen.c:4237
 #, c-format
 msgid "%pB: .rsrc merge failure: corrupt .rsrc section"
 msgstr ""
 
-#: peigen.c:4244 pepigen.c:4244 pex64igen.c:4244
+#: peigen.c:4245 pepigen.c:4245 pex64igen.c:4245
 #, c-format
 msgid "%pB: .rsrc merge failure: unexpected .rsrc size"
 msgstr ""
 
-#: peigen.c:4383 pepigen.c:4383 pex64igen.c:4383
+#: peigen.c:4384 pepigen.c:4384 pex64igen.c:4384
 #, c-format
 msgid "%pB: unable to fill in DataDictionary[1] because .idata$2 is missing"
 msgstr ""
 
-#: peigen.c:4403 pepigen.c:4403 pex64igen.c:4403
+#: peigen.c:4404 pepigen.c:4404 pex64igen.c:4404
 #, c-format
 msgid "%pB: unable to fill in DataDictionary[1] because .idata$4 is missing"
 msgstr ""
 
-#: peigen.c:4424 pepigen.c:4424 pex64igen.c:4424
+#: peigen.c:4425 pepigen.c:4425 pex64igen.c:4425
 #, c-format
 msgid "%pB: unable to fill in DataDictionary[12] because .idata$5 is missing"
 msgstr ""
 
-#: peigen.c:4444 pepigen.c:4444 pex64igen.c:4444
+#: peigen.c:4445 pepigen.c:4445 pex64igen.c:4445
 #, c-format
 msgid ""
 "%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because ."
 "idata$6 is missing"
 msgstr ""
 
-#: peigen.c:4486 pepigen.c:4486 pex64igen.c:4486
+#: peigen.c:4487 pepigen.c:4487 pex64igen.c:4487
 #, c-format
 msgid ""
 "%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because ."
 "idata$6 is missing"
 msgstr ""
 
-#: peigen.c:4511 pepigen.c:4511 pex64igen.c:4511
+#: peigen.c:4512 pepigen.c:4512 pex64igen.c:4512
 #, c-format
 msgid "%pB: unable to fill in DataDictionary[9] because __tls_used is missing"
 msgstr ""
index 0e5161f53b79fd6873bc3b94c0c96881759b637a..33cd67150cfdeeab3be0014b97380fcb8658ec57 100644 (file)
@@ -6673,6 +6673,30 @@ ENUM
   BFD_RELOC_Z80_DISP8
 ENUMDOC
   8 bit signed offset in (ix+d) or (iy+d).
+ENUM
+  BFD_RELOC_Z80_BYTE0
+ENUMDOC
+  First 8 bits of multibyte (32, 24 or 16 bit) value.
+ENUM
+  BFD_RELOC_Z80_BYTE1
+ENUMDOC
+  Second 8 bits of multibyte (32, 24 or 16 bit) value.
+ENUM
+  BFD_RELOC_Z80_BYTE2
+ENUMDOC
+  Third 8 bits of multibyte (32 or 24 bit) value.
+ENUM
+  BFD_RELOC_Z80_BYTE3
+ENUMDOC
+  Fourth 8 bits of multibyte (32 bit) value.
+ENUM
+  BFD_RELOC_Z80_WORD0
+ENUMDOC
+  Lowest 16 bits of multibyte (32 or 24 bit) value.
+ENUM
+  BFD_RELOC_Z80_WORD1
+ENUMDOC
+  Highest 16 bits of multibyte (32 or 24 bit) value.
 
 ENUM
   BFD_RELOC_Z8K_DISP7
index 101968183d30dd1b060ac265b16dc4f3a43b16e3..1b7e29d1e6eb8c7c7058a42c7a7e8678fe2f5670 100644 (file)
@@ -931,6 +931,7 @@ extern const bfd_target xstormy16_elf32_vec;
 extern const bfd_target xtensa_elf32_be_vec;
 extern const bfd_target xtensa_elf32_le_vec;
 extern const bfd_target z80_coff_vec;
+extern const bfd_target z80_elf32_vec;
 extern const bfd_target z8k_coff_vec;
 
 /* These are always included.  */
@@ -1353,6 +1354,7 @@ static const bfd_target * const _bfd_target_vector[] =
        &xtensa_elf32_le_vec,
 
        &z80_coff_vec,
+       &z80_elf32_vec,
 
        &z8k_coff_vec,
 #endif /* not SELECT_VECS */
index c78b42bb0e93ae342ee787f29159e9eb73f886af..ecc4e1adb96fa4b0dce3bbd56cb6ec0210ae99ce 100644 (file)
@@ -1,3 +1,8 @@
+2020-01-02  Sergey Belyashov  <sergey.belyashov@gmail.com>
+
+       * readelf.c: Add support for new Z*) relocations and machine
+       types.
+
 2020-01-01  Alan Modra  <amodra@gmail.com>
 
        Update year range in copyright notice of all files.
index 855ab8d8c7fac4862633885418a07221aace63d4..7f8c6332641a360b9623b5cf51c12502094aebd1 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2019-01-19 16:39+0000\n"
+"POT-Creation-Date: 2020-01-02 11:10+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -57,9 +57,9 @@ msgid ""
 "\n"
 msgstr ""
 
-#: addr2line.c:109 ar.c:340 ar.c:377 coffdump.c:473 dlltool.c:3990
-#: dllwrap.c:518 elfedit.c:906 objcopy.c:666 objcopy.c:719 readelf.c:4474
-#: size.c:97 srconv.c:1706 strings.c:727 sysdump.c:648 windmc.c:227
+#: addr2line.c:109 ar.c:349 ar.c:386 coffdump.c:473 dlltool.c:3989
+#: dllwrap.c:518 elfedit.c:909 objcopy.c:691 objcopy.c:745 readelf.c:4554
+#: size.c:109 srconv.c:1706 strings.c:727 sysdump.c:648 windmc.c:227
 #: windres.c:688
 #, c-format
 msgid "Report bugs to %s\n"
@@ -96,245 +96,251 @@ msgstr ""
 msgid "%s: cannot find section %s"
 msgstr ""
 
-#: addr2line.c:448 ar.c:722 dlltool.c:3508 nm.c:1668 objcopy.c:5670
-#: objdump.c:4036 size.c:141 strings.c:291 windmc.c:960 windres.c:816
+#: addr2line.c:448 ar.c:747 dlltool.c:3507 nm.c:1710 objcopy.c:5944
+#: objdump.c:4318 size.c:153 strings.c:291 windmc.c:960 windres.c:816
 msgid "fatal error: libbfd ABI mismatch"
 msgstr ""
 
-#: addr2line.c:475 nm.c:1694 objdump.c:4083
+#: addr2line.c:475 nm.c:1736 objdump.c:4365
 #, c-format
 msgid "unknown demangling style `%s'"
 msgstr ""
 
-#: ar.c:260
+#: ar.c:268
 #, c-format
 msgid "no entry %s in archive\n"
 msgstr ""
 
-#: ar.c:274
+#: ar.c:282
 #, c-format
 msgid ""
 "Usage: %s [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin "
 "<name>] [member-name] [count] archive-file file...\n"
 msgstr ""
 
-#: ar.c:280
+#: ar.c:288
 #, c-format
 msgid ""
 "Usage: %s [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [member-"
 "name] [count] archive-file file...\n"
 msgstr ""
 
-#: ar.c:288
+#: ar.c:296
 #, c-format
 msgid "       %s -M [<mri-script]\n"
 msgstr ""
 
-#: ar.c:289
+#: ar.c:297
 #, c-format
 msgid " commands:\n"
 msgstr ""
 
-#: ar.c:290
+#: ar.c:298
 #, c-format
 msgid "  d            - delete file(s) from the archive\n"
 msgstr ""
 
-#: ar.c:291
+#: ar.c:299
 #, c-format
 msgid "  m[ab]        - move file(s) in the archive\n"
 msgstr ""
 
-#: ar.c:292
+#: ar.c:300
 #, c-format
 msgid "  p            - print file(s) found in the archive\n"
 msgstr ""
 
-#: ar.c:293
+#: ar.c:301
 #, c-format
 msgid "  q[f]         - quick append file(s) to the archive\n"
 msgstr ""
 
-#: ar.c:294
+#: ar.c:302
 #, c-format
 msgid ""
 "  r[ab][f][u]  - replace existing or insert new file(s) into the archive\n"
 msgstr ""
 
-#: ar.c:295
+#: ar.c:303
 #, c-format
 msgid "  s            - act as ranlib\n"
 msgstr ""
 
-#: ar.c:296
+#: ar.c:304
 #, c-format
 msgid "  t[O][v]      - display contents of the archive\n"
 msgstr ""
 
-#: ar.c:297
+#: ar.c:305
 #, c-format
 msgid "  x[o]         - extract file(s) from the archive\n"
 msgstr ""
 
-#: ar.c:298
+#: ar.c:306
 #, c-format
 msgid " command specific modifiers:\n"
 msgstr ""
 
-#: ar.c:299
+#: ar.c:307
 #, c-format
 msgid "  [a]          - put file(s) after [member-name]\n"
 msgstr ""
 
-#: ar.c:300
+#: ar.c:308
 #, c-format
 msgid "  [b]          - put file(s) before [member-name] (same as [i])\n"
 msgstr ""
 
-#: ar.c:303
+#: ar.c:311
 #, c-format
 msgid "  [D]          - use zero for timestamps and uids/gids (default)\n"
 msgstr ""
 
-#: ar.c:305
+#: ar.c:313
 #, c-format
 msgid "  [U]          - use actual timestamps and uids/gids\n"
 msgstr ""
 
-#: ar.c:310
+#: ar.c:318
 #, c-format
 msgid "  [D]          - use zero for timestamps and uids/gids\n"
 msgstr ""
 
-#: ar.c:312
+#: ar.c:320
 #, c-format
 msgid "  [U]          - use actual timestamps and uids/gids (default)\n"
 msgstr ""
 
-#: ar.c:315
+#: ar.c:323
 #, c-format
 msgid "  [N]          - use instance [count] of name\n"
 msgstr ""
 
-#: ar.c:316
+#: ar.c:324
 #, c-format
 msgid "  [f]          - truncate inserted file names\n"
 msgstr ""
 
-#: ar.c:317
+#: ar.c:325
 #, c-format
 msgid "  [P]          - use full path names when matching\n"
 msgstr ""
 
-#: ar.c:318
+#: ar.c:326
 #, c-format
 msgid "  [o]          - preserve original dates\n"
 msgstr ""
 
-#: ar.c:319
+#: ar.c:327
 #, c-format
 msgid "  [O]          - display offsets of files in the archive\n"
 msgstr ""
 
-#: ar.c:320
+#: ar.c:328
 #, c-format
 msgid ""
 "  [u]          - only replace files that are newer than current archive "
 "contents\n"
 msgstr ""
 
-#: ar.c:321
+#: ar.c:329
 #, c-format
 msgid " generic modifiers:\n"
 msgstr ""
 
-#: ar.c:322
+#: ar.c:330
 #, c-format
 msgid "  [c]          - do not warn if the library had to be created\n"
 msgstr ""
 
-#: ar.c:323
+#: ar.c:331
 #, c-format
 msgid "  [s]          - create an archive index (cf. ranlib)\n"
 msgstr ""
 
-#: ar.c:324
+#: ar.c:332
 #, c-format
 msgid "  [S]          - do not build a symbol table\n"
 msgstr ""
 
-#: ar.c:325
+#: ar.c:333
 #, c-format
 msgid "  [T]          - make a thin archive\n"
 msgstr ""
 
-#: ar.c:326
+#: ar.c:334
 #, c-format
 msgid "  [v]          - be verbose\n"
 msgstr ""
 
-#: ar.c:327
+#: ar.c:335
 #, c-format
 msgid "  [V]          - display the version number\n"
 msgstr ""
 
-#: ar.c:328
+#: ar.c:336
 #, c-format
 msgid "  @<file>      - read options from <file>\n"
 msgstr ""
 
-#: ar.c:329
+#: ar.c:337
 #, c-format
 msgid "  --target=BFDNAME - specify the target object format as BFDNAME\n"
 msgstr ""
 
-#: ar.c:331
+#: ar.c:338
+#, c-format
+msgid ""
+"  --output=DIRNAME - specify the output directory for extraction operations\n"
+msgstr ""
+
+#: ar.c:340
 #, c-format
 msgid " optional:\n"
 msgstr ""
 
-#: ar.c:332
+#: ar.c:341
 #, c-format
 msgid "  --plugin <p> - load the specified plugin\n"
 msgstr ""
 
-#: ar.c:353
+#: ar.c:362
 #, c-format
 msgid "Usage: %s [options] archive\n"
 msgstr ""
 
-#: ar.c:354
+#: ar.c:363
 #, c-format
 msgid " Generate an index to speed access to archives\n"
 msgstr ""
 
-#: ar.c:355
+#: ar.c:364
 #, c-format
 msgid ""
 " The options are:\n"
 "  @<file>                      Read options from <file>\n"
 msgstr ""
 
-#: ar.c:358
+#: ar.c:367
 #, c-format
 msgid "  --plugin <name>              Load the specified plugin\n"
 msgstr ""
 
-#: ar.c:362
+#: ar.c:371
 #, c-format
 msgid ""
 "  -D                           Use zero for symbol map timestamp (default)\n"
 "  -U                           Use an actual symbol map timestamp\n"
 msgstr ""
 
-#: ar.c:366
+#: ar.c:375
 #, c-format
 msgid ""
 "  -D                           Use zero for symbol map timestamp\n"
 "  -U                           Use actual symbol map timestamp (default)\n"
 msgstr ""
 
-#: ar.c:369
+#: ar.c:378
 #, c-format
 msgid ""
 "  -t                           Update the archive's symbol map timestamp\n"
@@ -342,101 +348,101 @@ msgid ""
 "  -v --version                 Print version information\n"
 msgstr ""
 
-#: ar.c:493
+#: ar.c:503
 msgid "two different operation options specified"
 msgstr ""
 
-#: ar.c:587 ar.c:647 nm.c:1781
+#: ar.c:597 ar.c:672 nm.c:1823
 #, c-format
 msgid "sorry - this program has been built without plugin support\n"
 msgstr ""
 
-#: ar.c:778
+#: ar.c:803
 msgid "no operation specified"
 msgstr ""
 
-#: ar.c:781
+#: ar.c:806
 msgid "`u' is only meaningful with the `r' option."
 msgstr ""
 
-#: ar.c:784
+#: ar.c:809
 msgid "`u' is not meaningful with the `D' option."
 msgstr ""
 
-#: ar.c:787
+#: ar.c:812
 msgid "`u' modifier ignored since `D' is the default (see `U')"
 msgstr ""
 
-#: ar.c:796
+#: ar.c:821
 msgid "missing position arg."
 msgstr ""
 
-#: ar.c:802
+#: ar.c:827
 msgid "`N' is only meaningful with the `x' and `d' options."
 msgstr ""
 
-#: ar.c:804
+#: ar.c:829
 msgid "`N' missing value."
 msgstr ""
 
-#: ar.c:807
+#: ar.c:832
 msgid "Value for `N' must be positive."
 msgstr ""
 
-#: ar.c:823
+#: ar.c:848
 msgid "`x' cannot be used on thin archives."
 msgstr ""
 
-#: ar.c:870
+#: ar.c:895
 #, c-format
 msgid "internal error -- this option not implemented"
 msgstr ""
 
-#: ar.c:939
+#: ar.c:964
 #, c-format
 msgid "creating %s"
 msgstr ""
 
-#: ar.c:970
+#: ar.c:995
 #, c-format
 msgid "Cannot convert existing library %s to thin format"
 msgstr ""
 
-#: ar.c:976
+#: ar.c:1001
 #, c-format
 msgid "Cannot convert existing thin library %s to normal format"
 msgstr ""
 
-#: ar.c:1008 ar.c:1072 ar.c:1402 objcopy.c:3357
+#: ar.c:1033 ar.c:1130 ar.c:1446 objcopy.c:3544
 #, c-format
 msgid "internal stat error on %s"
 msgstr ""
 
-#: ar.c:1027 ar.c:1105
+#: ar.c:1052 ar.c:1156
 #, c-format
 msgid "%s is not a valid archive"
 msgstr ""
 
-#: ar.c:1064 objcopy.c:3319
+#: ar.c:1080
 #, c-format
-msgid "illegal pathname found in archive member: %s"
+msgid "illegal output pathname for archive member: %s, using '%s' instead"
 msgstr ""
 
-#: ar.c:1163
+#: ar.c:1204
 msgid "could not create temporary file whilst writing archive"
 msgstr ""
 
-#: ar.c:1307
+#: ar.c:1351
 #, c-format
 msgid "No member named `%s'\n"
 msgstr ""
 
-#: ar.c:1357
+#: ar.c:1401
 #, c-format
 msgid "no entry %s in archive %s!"
 msgstr ""
 
-#: ar.c:1496
+#: ar.c:1540
 #, c-format
 msgid "%s: no archive map to update"
 msgstr ""
@@ -451,47 +457,52 @@ msgstr ""
 msgid "Can't open file %s\n"
 msgstr ""
 
-#: arsup.c:164
+#: arsup.c:160
+#, c-format
+msgid "%s: Can't allocate memory for temp name (%s)\n"
+msgstr ""
+
+#: arsup.c:171
 #, c-format
 msgid "%s: Can't open output archive %s\n"
 msgstr ""
 
-#: arsup.c:181
+#: arsup.c:188
 #, c-format
 msgid "%s: Can't open input archive %s\n"
 msgstr ""
 
-#: arsup.c:190
+#: arsup.c:197
 #, c-format
 msgid "%s: file %s is not an archive\n"
 msgstr ""
 
-#: arsup.c:230
+#: arsup.c:237
 #, c-format
 msgid "%s: no output archive specified yet\n"
 msgstr ""
 
-#: arsup.c:250 arsup.c:293 arsup.c:335 arsup.c:358 arsup.c:424
+#: arsup.c:257 arsup.c:300 arsup.c:342 arsup.c:365 arsup.c:431
 #, c-format
 msgid "%s: no open output archive\n"
 msgstr ""
 
-#: arsup.c:266 arsup.c:379 arsup.c:405
+#: arsup.c:273 arsup.c:386 arsup.c:412
 #, c-format
 msgid "%s: can't open file %s\n"
 msgstr ""
 
-#: arsup.c:320 arsup.c:401 arsup.c:482
+#: arsup.c:327 arsup.c:408 arsup.c:489
 #, c-format
 msgid "%s: can't find module file %s\n"
 msgstr ""
 
-#: arsup.c:433
+#: arsup.c:440
 #, c-format
 msgid "Current open archive is %s\n"
 msgstr ""
 
-#: arsup.c:457
+#: arsup.c:464
 #, c-format
 msgid "%s: no open archive\n"
 msgstr ""
@@ -507,91 +518,95 @@ msgstr ""
 msgid " emulation options: \n"
 msgstr ""
 
-#: bucomm.c:156
+#: bucomm.c:50 bucomm.c:84
+msgid "cause of error unknown"
+msgstr ""
+
+#: bucomm.c:164
 #, c-format
 msgid "can't set BFD default target to `%s': %s"
 msgstr ""
 
-#: bucomm.c:168
+#: bucomm.c:176
 #, c-format
 msgid "%s: Matching formats:"
 msgstr ""
 
-#: bucomm.c:183
+#: bucomm.c:191
 #, c-format
 msgid "Supported targets:"
 msgstr ""
 
-#: bucomm.c:185
+#: bucomm.c:193
 #, c-format
 msgid "%s: supported targets:"
 msgstr ""
 
-#: bucomm.c:203
+#: bucomm.c:211
 #, c-format
 msgid "Supported architectures:"
 msgstr ""
 
-#: bucomm.c:205
+#: bucomm.c:213
 #, c-format
 msgid "%s: supported architectures:"
 msgstr ""
 
-#: bucomm.c:218
+#: bucomm.c:226
 msgid "big endian"
 msgstr ""
 
-#: bucomm.c:219
+#: bucomm.c:227
 msgid "little endian"
 msgstr ""
 
-#: bucomm.c:220
+#: bucomm.c:228
 msgid "endianness unknown"
 msgstr ""
 
-#: bucomm.c:267
+#: bucomm.c:275
 #, c-format
 msgid ""
 "%s\n"
 " (header %s, data %s)\n"
 msgstr ""
 
-#: bucomm.c:416
+#: bucomm.c:424
 #, c-format
 msgid "BFD header file version %s\n"
 msgstr ""
 
-#: bucomm.c:446
+#: bucomm.c:454
 #, c-format
 msgid "<time data corrupt>"
 msgstr ""
 
-#: bucomm.c:586
+#: bucomm.c:594
 #, c-format
 msgid "%s: bad number: %s"
 msgstr ""
 
-#: bucomm.c:606 strings.c:404
+#: bucomm.c:614 strings.c:404
 #, c-format
 msgid "'%s': No such file"
 msgstr ""
 
-#: bucomm.c:608 strings.c:406
+#: bucomm.c:616 strings.c:406
 #, c-format
 msgid "Warning: could not locate '%s'.  reason: %s"
 msgstr ""
 
-#: bucomm.c:612 strings.c:412
+#: bucomm.c:620 strings.c:412
 #, c-format
 msgid "Warning: '%s' is a directory"
 msgstr ""
 
-#: bucomm.c:614
+#: bucomm.c:622
 #, c-format
 msgid "Warning: '%s' is not an ordinary file"
 msgstr ""
 
-#: bucomm.c:616
+#: bucomm.c:624
 #, c-format
 msgid "Warning: '%s' has negative size, probably it is too large"
 msgstr ""
@@ -701,7 +716,7 @@ msgstr ""
 msgid "Symbol  %s, tag %d, number %d"
 msgstr ""
 
-#: coffdump.c:345 readelf.c:16565 readelf.c:16653
+#: coffdump.c:345 readelf.c:16951 readelf.c:17039
 #, c-format
 msgid "Type"
 msgstr ""
@@ -923,7 +938,7 @@ msgstr ""
 msgid "%s: is not a COFF format file"
 msgstr ""
 
-#: cxxfilt.c:124 nm.c:295 objdump.c:291
+#: cxxfilt.c:124 nm.c:286 objdump.c:296
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -1017,488 +1032,488 @@ msgstr ""
 msgid "debug_get_real_type: circular debug information for %s\n"
 msgstr ""
 
-#: debug.c:2481
+#: debug.c:2484
 msgid "debug_write_type: illegal type encountered"
 msgstr ""
 
-#: dlltool.c:901 dlltool.c:926 dlltool.c:956
+#: dlltool.c:902 dlltool.c:927 dlltool.c:957
 #, c-format
 msgid "Internal error: Unknown machine type: %d"
 msgstr ""
 
-#: dlltool.c:997
+#: dlltool.c:998
 #, c-format
 msgid "Can't open def file: %s"
 msgstr ""
 
-#: dlltool.c:1002
+#: dlltool.c:1003
 #, c-format
 msgid "Processing def file: %s"
 msgstr ""
 
-#: dlltool.c:1006
+#: dlltool.c:1007
 msgid "Processed def file"
 msgstr ""
 
-#: dlltool.c:1030
+#: dlltool.c:1031
 #, c-format
 msgid "Syntax error in def file %s:%d"
 msgstr ""
 
-#: dlltool.c:1067
+#: dlltool.c:1068
 #, c-format
 msgid "%s: Path components stripped from image name, '%s'."
 msgstr ""
 
-#: dlltool.c:1085
+#: dlltool.c:1086
 #, c-format
 msgid "NAME: %s base: %x"
 msgstr ""
 
-#: dlltool.c:1088 dlltool.c:1109
+#: dlltool.c:1089 dlltool.c:1110
 msgid "Can't have LIBRARY and NAME"
 msgstr ""
 
-#: dlltool.c:1106
+#: dlltool.c:1107
 #, c-format
 msgid "LIBRARY: %s base: %x"
 msgstr ""
 
-#: dlltool.c:1262
+#: dlltool.c:1263
 #, c-format
 msgid "VERSION %d.%d\n"
 msgstr ""
 
-#: dlltool.c:1310
+#: dlltool.c:1311
 #, c-format
 msgid "run: %s %s"
 msgstr ""
 
-#: dlltool.c:1351 resrc.c:288
+#: dlltool.c:1352 resrc.c:288
 #, c-format
 msgid "wait: %s"
 msgstr ""
 
-#: dlltool.c:1356 dllwrap.c:416 resrc.c:293
+#: dlltool.c:1357 dllwrap.c:416 resrc.c:293
 #, c-format
 msgid "subprocess got fatal signal %d"
 msgstr ""
 
-#: dlltool.c:1362 dllwrap.c:423 resrc.c:300
+#: dlltool.c:1363 dllwrap.c:423 resrc.c:300
 #, c-format
 msgid "%s exited with status %d"
 msgstr ""
 
-#: dlltool.c:1393
+#: dlltool.c:1394
 #, c-format
 msgid "Sucking in info from %s section in %s"
 msgstr ""
 
-#: dlltool.c:1533
+#: dlltool.c:1534
 #, c-format
 msgid "Excluding symbol: %s"
 msgstr ""
 
-#: dlltool.c:1622 dlltool.c:1633 nm.c:1121 nm.c:1131 nm.c:1140
+#: dlltool.c:1623 dlltool.c:1634 nm.c:1107 nm.c:1117 nm.c:1126
 #, c-format
 msgid "%s: no symbols"
 msgstr ""
 
 #. FIXME: we ought to read in and block out the base relocations.
-#: dlltool.c:1659
+#: dlltool.c:1660
 #, c-format
 msgid "Done reading %s"
 msgstr ""
 
-#: dlltool.c:1669
+#: dlltool.c:1670
 #, c-format
 msgid "Unable to open object file: %s: %s"
 msgstr ""
 
-#: dlltool.c:1672
+#: dlltool.c:1673
 #, c-format
 msgid "Scanning object file %s"
 msgstr ""
 
-#: dlltool.c:1692
+#: dlltool.c:1693
 #, c-format
 msgid "Cannot produce mcore-elf dll from archive file: %s"
 msgstr ""
 
-#: dlltool.c:1794
+#: dlltool.c:1795
 msgid "Adding exports to output file"
 msgstr ""
 
-#: dlltool.c:1846
+#: dlltool.c:1847
 msgid "Added exports to output file"
 msgstr ""
 
-#: dlltool.c:2014
+#: dlltool.c:2015
 #, c-format
 msgid "Generating export file: %s"
 msgstr ""
 
-#: dlltool.c:2019
+#: dlltool.c:2020
 #, c-format
 msgid "Unable to open temporary assembler file: %s"
 msgstr ""
 
-#: dlltool.c:2024
+#: dlltool.c:2025
 #, c-format
 msgid "Opened temporary file: %s"
 msgstr ""
 
-#: dlltool.c:2200
+#: dlltool.c:2201
 msgid "failed to read the number of entries from base file"
 msgstr ""
 
-#: dlltool.c:2251
+#: dlltool.c:2252
 msgid "Generated exports file"
 msgstr ""
 
-#: dlltool.c:2461
+#: dlltool.c:2462
 #, c-format
 msgid "bfd_open failed open stub file: %s: %s"
 msgstr ""
 
-#: dlltool.c:2465
+#: dlltool.c:2466
 #, c-format
 msgid "Creating stub file: %s"
 msgstr ""
 
-#: dlltool.c:2936
+#: dlltool.c:2935
 #, c-format
 msgid "bfd_open failed reopen stub file: %s: %s"
 msgstr ""
 
-#: dlltool.c:2950 dlltool.c:3029
+#: dlltool.c:2949 dlltool.c:3028
 #, c-format
 msgid "failed to open temporary head file: %s"
 msgstr ""
 
-#: dlltool.c:3014 dlltool.c:3100
+#: dlltool.c:3013 dlltool.c:3099
 #, c-format
 msgid "failed to open temporary head file: %s: %s"
 msgstr ""
 
-#: dlltool.c:3115
+#: dlltool.c:3114
 #, c-format
 msgid "failed to open temporary tail file: %s"
 msgstr ""
 
-#: dlltool.c:3174
+#: dlltool.c:3173
 #, c-format
 msgid "failed to open temporary tail file: %s: %s"
 msgstr ""
 
-#: dlltool.c:3197
+#: dlltool.c:3196
 #, c-format
 msgid "Can't create .lib file: %s: %s"
 msgstr ""
 
-#: dlltool.c:3201
+#: dlltool.c:3200
 #, c-format
 msgid "Creating library file: %s"
 msgstr ""
 
-#: dlltool.c:3288 dlltool.c:3294
+#: dlltool.c:3287 dlltool.c:3293
 #, c-format
 msgid "cannot delete %s: %s"
 msgstr ""
 
-#: dlltool.c:3300
+#: dlltool.c:3299
 msgid "Created lib file"
 msgstr ""
 
-#: dlltool.c:3513
+#: dlltool.c:3512
 #, c-format
 msgid "Can't open .lib file: %s: %s"
 msgstr ""
 
-#: dlltool.c:3521 dlltool.c:3543
+#: dlltool.c:3520 dlltool.c:3542
 #, c-format
 msgid "%s is not a library"
 msgstr ""
 
-#: dlltool.c:3561
+#: dlltool.c:3560
 #, c-format
 msgid "Import library `%s' specifies two or more dlls"
 msgstr ""
 
-#: dlltool.c:3572
+#: dlltool.c:3571
 #, c-format
 msgid "Unable to determine dll name for `%s' (not an import library?)"
 msgstr ""
 
-#: dlltool.c:3804
+#: dlltool.c:3803
 #, c-format
 msgid "Warning, ignoring duplicate EXPORT %s %d,%d"
 msgstr ""
 
-#: dlltool.c:3810
+#: dlltool.c:3809
 #, c-format
 msgid "Error, duplicate EXPORT with ordinals: %s"
 msgstr ""
 
-#: dlltool.c:3913
+#: dlltool.c:3912
 msgid "Processing definitions"
 msgstr ""
 
-#: dlltool.c:3940
+#: dlltool.c:3939
 msgid "Processed definitions"
 msgstr ""
 
 #. xgetext:c-format
-#: dlltool.c:3947 dllwrap.c:477
+#: dlltool.c:3946 dllwrap.c:477
 #, c-format
 msgid "Usage %s <option(s)> <object-file(s)>\n"
 msgstr ""
 
 #. xgetext:c-format
-#: dlltool.c:3949
+#: dlltool.c:3948
 #, c-format
 msgid ""
 "   -m --machine <machine>    Create as DLL for <machine>.  [default: %s]\n"
 msgstr ""
 
-#: dlltool.c:3950
+#: dlltool.c:3949
 #, c-format
 msgid ""
 "        possible <machine>: arm[_interwork], i386, mcore[-elf]{-le|-be}, "
 "ppc, thumb\n"
 msgstr ""
 
-#: dlltool.c:3951
+#: dlltool.c:3950
 #, c-format
 msgid "   -e --output-exp <outname> Generate an export file.\n"
 msgstr ""
 
-#: dlltool.c:3952
+#: dlltool.c:3951
 #, c-format
 msgid "   -l --output-lib <outname> Generate an interface library.\n"
 msgstr ""
 
-#: dlltool.c:3953
+#: dlltool.c:3952
 #, c-format
 msgid "   -y --output-delaylib <outname> Create a delay-import library.\n"
 msgstr ""
 
-#: dlltool.c:3954
+#: dlltool.c:3953
 #, c-format
 msgid "   -a --add-indirect         Add dll indirects to export file.\n"
 msgstr ""
 
-#: dlltool.c:3955
+#: dlltool.c:3954
 #, c-format
 msgid ""
 "   -D --dllname <name>       Name of input dll to put into interface lib.\n"
 msgstr ""
 
-#: dlltool.c:3956
+#: dlltool.c:3955
 #, c-format
 msgid "   -d --input-def <deffile>  Name of .def file to be read in.\n"
 msgstr ""
 
-#: dlltool.c:3957
+#: dlltool.c:3956
 #, c-format
 msgid "   -z --output-def <deffile> Name of .def file to be created.\n"
 msgstr ""
 
-#: dlltool.c:3958
+#: dlltool.c:3957
 #, c-format
 msgid "      --export-all-symbols   Export all symbols to .def\n"
 msgstr ""
 
-#: dlltool.c:3959
+#: dlltool.c:3958
 #, c-format
 msgid "      --no-export-all-symbols  Only export listed symbols\n"
 msgstr ""
 
-#: dlltool.c:3960
+#: dlltool.c:3959
 #, c-format
 msgid "      --exclude-symbols <list> Don't export <list>\n"
 msgstr ""
 
-#: dlltool.c:3961
+#: dlltool.c:3960
 #, c-format
 msgid "      --no-default-excludes  Clear default exclude symbols\n"
 msgstr ""
 
-#: dlltool.c:3962
+#: dlltool.c:3961
 #, c-format
 msgid "   -b --base-file <basefile> Read linker generated base file.\n"
 msgstr ""
 
-#: dlltool.c:3963
+#: dlltool.c:3962
 #, c-format
 msgid "   -x --no-idata4            Don't generate idata$4 section.\n"
 msgstr ""
 
-#: dlltool.c:3964
+#: dlltool.c:3963
 #, c-format
 msgid "   -c --no-idata5            Don't generate idata$5 section.\n"
 msgstr ""
 
-#: dlltool.c:3965
+#: dlltool.c:3964
 #, c-format
 msgid ""
 "      --use-nul-prefixed-import-tables Use zero prefixed idata$4 and idata"
 "$5.\n"
 msgstr ""
 
-#: dlltool.c:3966
+#: dlltool.c:3965
 #, c-format
 msgid ""
 "   -U --add-underscore       Add underscores to all symbols in interface "
 "library.\n"
 msgstr ""
 
-#: dlltool.c:3967
+#: dlltool.c:3966
 #, c-format
 msgid ""
 "      --add-stdcall-underscore Add underscores to stdcall symbols in "
 "interface library.\n"
 msgstr ""
 
-#: dlltool.c:3968
+#: dlltool.c:3967
 #, c-format
 msgid ""
 "      --no-leading-underscore All symbols shouldn't be prefixed by an "
 "underscore.\n"
 msgstr ""
 
-#: dlltool.c:3969
+#: dlltool.c:3968
 #, c-format
 msgid ""
 "      --leading-underscore   All symbols should be prefixed by an "
 "underscore.\n"
 msgstr ""
 
-#: dlltool.c:3970
+#: dlltool.c:3969
 #, c-format
 msgid "   -k --kill-at              Kill @<n> from exported names.\n"
 msgstr ""
 
-#: dlltool.c:3971
+#: dlltool.c:3970
 #, c-format
 msgid "   -A --add-stdcall-alias    Add aliases without @<n>.\n"
 msgstr ""
 
-#: dlltool.c:3972
+#: dlltool.c:3971
 #, c-format
 msgid "   -p --ext-prefix-alias <prefix> Add aliases with <prefix>.\n"
 msgstr ""
 
-#: dlltool.c:3973
+#: dlltool.c:3972
 #, c-format
 msgid "   -S --as <name>            Use <name> for assembler.\n"
 msgstr ""
 
-#: dlltool.c:3974
+#: dlltool.c:3973
 #, c-format
 msgid "   -f --as-flags <flags>     Pass <flags> to the assembler.\n"
 msgstr ""
 
-#: dlltool.c:3975
+#: dlltool.c:3974
 #, c-format
 msgid ""
 "   -C --compat-implib        Create backward compatible import library.\n"
 msgstr ""
 
-#: dlltool.c:3976
+#: dlltool.c:3975
 #, c-format
 msgid ""
 "   -n --no-delete            Keep temp files (repeat for extra "
 "preservation).\n"
 msgstr ""
 
-#: dlltool.c:3977
+#: dlltool.c:3976
 #, c-format
 msgid ""
 "   -t --temp-prefix <prefix> Use <prefix> to construct temp file names.\n"
 msgstr ""
 
-#: dlltool.c:3978
+#: dlltool.c:3977
 #, c-format
 msgid ""
 "   -I --identify <implib>    Report the name of the DLL associated with "
 "<implib>.\n"
 msgstr ""
 
-#: dlltool.c:3979
+#: dlltool.c:3978
 #, c-format
 msgid ""
 "      --identify-strict      Causes --identify to report error when multiple "
 "DLLs.\n"
 msgstr ""
 
-#: dlltool.c:3980
+#: dlltool.c:3979
 #, c-format
 msgid "   -v --verbose              Be verbose.\n"
 msgstr ""
 
-#: dlltool.c:3981
+#: dlltool.c:3980
 #, c-format
 msgid "   -V --version              Display the program version.\n"
 msgstr ""
 
-#: dlltool.c:3982
+#: dlltool.c:3981
 #, c-format
 msgid "   -h --help                 Display this information.\n"
 msgstr ""
 
-#: dlltool.c:3983
+#: dlltool.c:3982
 #, c-format
 msgid "   @<file>                   Read options from <file>.\n"
 msgstr ""
 
-#: dlltool.c:3985
+#: dlltool.c:3984
 #, c-format
 msgid ""
 "   -M --mcore-elf <outname>  Process mcore-elf object files into <outname>.\n"
 msgstr ""
 
-#: dlltool.c:3986
+#: dlltool.c:3985
 #, c-format
 msgid "   -L --linker <name>        Use <name> as the linker.\n"
 msgstr ""
 
-#: dlltool.c:3987
+#: dlltool.c:3986
 #, c-format
 msgid "   -F --linker-flags <flags> Pass <flags> to the linker.\n"
 msgstr ""
 
-#: dlltool.c:4133
+#: dlltool.c:4132
 #, c-format
 msgid "Unable to open def-file: %s"
 msgstr ""
 
-#: dlltool.c:4138
+#: dlltool.c:4137
 #, c-format
 msgid "Path components stripped from dllname, '%s'."
 msgstr ""
 
-#: dlltool.c:4186
+#: dlltool.c:4185
 #, c-format
 msgid "Unable to open base-file: %s"
 msgstr ""
 
-#: dlltool.c:4221
+#: dlltool.c:4220
 #, c-format
 msgid "Machine '%s' not supported"
 msgstr ""
 
-#: dlltool.c:4301
+#: dlltool.c:4300
 #, c-format
 msgid "Warning, machine type (%d) not supported for delayimport."
 msgstr ""
 
-#: dlltool.c:4369 dllwrap.c:206
+#: dlltool.c:4368 dllwrap.c:206
 #, c-format
 msgid "Tried file: %s"
 msgstr ""
 
-#: dlltool.c:4376 dllwrap.c:213
+#: dlltool.c:4375 dllwrap.c:213
 #, c-format
 msgid "Using file: %s"
 msgstr ""
@@ -1758,29 +1773,23 @@ msgstr ""
 msgid "DRIVER options  : %s\n"
 msgstr ""
 
-#: dwarf.c:152
+#: dwarf.c:171
 msgid "Encoded value extends past end of section\n"
 msgstr ""
 
-#: dwarf.c:160
+#: dwarf.c:179
 #, c-format
 msgid "Encoded size of %d is too large to read\n"
 msgstr ""
 
-#: dwarf.c:168
+#: dwarf.c:187
 msgid "Encoded size of 0 is too small to read\n"
 msgstr ""
 
-#: dwarf.c:369 dwarf.c:383
-#, c-format
-msgid ""
-"Internal error: %s:%d: LEB value (%s) too large for containing variable\n"
-msgstr ""
-
 #. Read AMOUNT bytes from PTR and store them in VAL as an unsigned value.
 #. Checks to make sure that the read will not reach or pass END
 #. and that VAL is big enough to hold AMOUNT bytes.
-#: dwarf.c:399
+#: dwarf.c:381
 #, c-format
 msgid "internal error: attempt to read %d byte of data in to %d sized variable"
 msgid_plural ""
@@ -1788,52 +1797,52 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: dwarf.c:525 dwarf.c:4422
+#: dwarf.c:506 dwarf.c:4673
 msgid "Badly formed extended line op encountered!\n"
 msgstr ""
 
-#: dwarf.c:532
+#: dwarf.c:512
 #, c-format
 msgid "  Extended opcode %d: "
 msgstr ""
 
-#: dwarf.c:537
+#: dwarf.c:517
 #, c-format
 msgid ""
 "End of Sequence\n"
 "\n"
 msgstr ""
 
-#: dwarf.c:545
+#: dwarf.c:525
 #, c-format
-msgid "Length (%d) of DW_LNE_set_address op is too long\n"
+msgid "Length (%lu) of DW_LNE_set_address op is too long\n"
 msgstr ""
 
-#: dwarf.c:551
+#: dwarf.c:531
 #, c-format
 msgid "set Address to 0x%s\n"
 msgstr ""
 
-#: dwarf.c:558
+#: dwarf.c:538
 #, c-format
 msgid "define new File Table entry\n"
 msgstr ""
 
-#: dwarf.c:559 dwarf.c:3711
+#: dwarf.c:539 dwarf.c:3989
 #, c-format
 msgid "  Entry\tDir\tTime\tSize\tName\n"
 msgstr ""
 
-#: dwarf.c:578
+#: dwarf.c:558
 msgid "DW_LNE_define_file: Bad opcode length\n"
 msgstr ""
 
-#: dwarf.c:582
+#: dwarf.c:563
 #, c-format
 msgid "set Discriminator to %s\n"
 msgstr ""
 
-#: dwarf.c:657
+#: dwarf.c:629
 #, c-format
 msgid "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n"
 msgstr ""
@@ -1842,1360 +1851,1364 @@ msgstr ""
 #. the limited range of the unsigned char data type used
 #. for op_code.
 #. && op_code <= DW_LNE_hi_user
-#: dwarf.c:674
+#: dwarf.c:646
 #, c-format
 msgid "user defined: "
 msgstr ""
 
-#: dwarf.c:676
+#: dwarf.c:648
 #, c-format
 msgid "UNKNOWN: "
 msgstr ""
 
-#: dwarf.c:677
+#: dwarf.c:649
 #, c-format
 msgid "length %d ["
 msgstr ""
 
-#: dwarf.c:695 dwarf.c:771 dwarf.c:1728
+#: dwarf.c:667 dwarf.c:743
 msgid "<no .debug_str section>"
 msgstr ""
 
-#: dwarf.c:699
+#: dwarf.c:671
 #, c-format
 msgid "DW_FORM_strp offset too big: %s\n"
 msgstr ""
 
-#: dwarf.c:701 dwarf.c:729 dwarf.c:1733
+#: dwarf.c:673 dwarf.c:701 dwarf.c:1694
 msgid "<offset is too big>"
 msgstr ""
 
-#: dwarf.c:711 dwarf.c:1742
+#: dwarf.c:683
 msgid "<no NUL byte at end of .debug_str section>"
 msgstr ""
 
-#: dwarf.c:723
+#: dwarf.c:695
 msgid "<no .debug_line_str section>"
 msgstr ""
 
-#: dwarf.c:727
+#: dwarf.c:699
 #, c-format
 msgid "DW_FORM_line_strp offset too big: %s\n"
 msgstr ""
 
-#: dwarf.c:739
+#: dwarf.c:711
 msgid "<no NUL byte at end of .debug_line_str section>"
 msgstr ""
 
-#: dwarf.c:757
+#: dwarf.c:729
 msgid "<no .debug_str_offsets.dwo section>"
 msgstr ""
 
-#: dwarf.c:758
+#: dwarf.c:730
 msgid "<no .debug_str_offsets section>"
 msgstr ""
 
-#: dwarf.c:764
+#: dwarf.c:736
 #, c-format
 msgid "DW_FORM_GNU_str_index offset too big: %s\n"
 msgstr ""
 
-#: dwarf.c:766
+#: dwarf.c:738
 msgid "<index offset is too big>"
 msgstr ""
 
-#: dwarf.c:770
+#: dwarf.c:742
 msgid "<no .debug_str.dwo section>"
 msgstr ""
 
-#: dwarf.c:777
+#: dwarf.c:749
 #, c-format
 msgid "DW_FORM_GNU_str_index indirect offset too big: %s\n"
 msgstr ""
 
-#: dwarf.c:779
+#: dwarf.c:751
 msgid "<indirect index offset is too big>"
 msgstr ""
 
-#: dwarf.c:788
+#: dwarf.c:760
 msgid "<no NUL byte at end of section>"
 msgstr ""
 
-#: dwarf.c:799
+#: dwarf.c:771
 msgid "<no .debug_addr section>"
 msgstr ""
 
-#: dwarf.c:803
+#: dwarf.c:775
 #, c-format
 msgid "Offset into section %s too big: %s\n"
 msgstr ""
 
 #. Report the missing single zero which ends the section.
-#: dwarf.c:981
+#: dwarf.c:947
 msgid ".debug_abbrev section not zero terminated\n"
 msgstr ""
 
-#: dwarf.c:996
+#: dwarf.c:962
 #, c-format
 msgid "User TAG value: %#lx"
 msgstr ""
 
-#: dwarf.c:998
+#: dwarf.c:964
 #, c-format
 msgid "Unknown TAG value: %#lx"
 msgstr ""
 
-#: dwarf.c:1018
+#: dwarf.c:984
 #, c-format
 msgid "Unknown FORM value: %lx"
 msgstr ""
 
-#: dwarf.c:1034
+#: dwarf.c:1000
 #, c-format
 msgid "Unknown IDX value: %lx"
 msgstr ""
 
-#: dwarf.c:1048
+#: dwarf.c:1014
 #, c-format
 msgid "%c%s byte block: "
 msgstr ""
 
-#: dwarf.c:1402
+#: dwarf.c:1358
 #, c-format
 msgid "(DW_OP_call_ref in frame info)"
 msgstr ""
 
-#: dwarf.c:1424
+#: dwarf.c:1381
 #, c-format
 msgid "size: %s "
 msgstr ""
 
-#: dwarf.c:1427
+#: dwarf.c:1383
 #, c-format
 msgid "offset: %s "
 msgstr ""
 
-#: dwarf.c:1446
+#: dwarf.c:1399
 #, c-format
 msgid "DW_OP_GNU_push_tls_address or DW_OP_HP_unknown"
 msgstr ""
 
-#: dwarf.c:1471
+#: dwarf.c:1424
 #, c-format
 msgid "(%s in frame info)"
 msgstr ""
 
-#: dwarf.c:1583
+#: dwarf.c:1526
 #, c-format
 msgid "(DW_OP_GNU_variable_value in frame info)"
 msgstr ""
 
-#: dwarf.c:1636
+#: dwarf.c:1579
 #, c-format
 msgid "(User defined location op 0x%x)"
 msgstr ""
 
-#: dwarf.c:1638
+#: dwarf.c:1581
 #, c-format
 msgid "(Unknown location op 0x%x)"
 msgstr ""
 
-#: dwarf.c:1721
-msgid "<following link not possible>"
+#: dwarf.c:1663
+msgid "<no links available>"
 msgstr ""
 
-#: dwarf.c:1724
-msgid "<could not load separate string section>"
+#: dwarf.c:1687
+msgid "<no NUL byte at end of alt .debug_str section>"
 msgstr ""
 
-#: dwarf.c:1732
+#: dwarf.c:1692
 #, c-format
-msgid "DW_FORM_GNU_strp_alt offset too big: %s\n"
+msgid ""
+"DW_FORM_GNU_strp_alt offset (%s) too big or no string sections available\n"
 msgstr ""
 
-#: dwarf.c:1765
+#: dwarf.c:1715
 #, c-format
 msgid "Unknown AT value: %lx"
 msgstr ""
 
-#: dwarf.c:1796
+#: dwarf.c:1780
+#, c-format
+msgid "Corrupt attribute block length: %lx\n"
+msgstr ""
+
+#: dwarf.c:2036
+msgid "corrupt discr_list - not using a block form\n"
+msgstr ""
+
+#: dwarf.c:2043
+msgid "corrupt discr_list - block not long enough\n"
+msgstr ""
+
+#: dwarf.c:2088
+#, c-format
+msgid "corrupt discr_list - unrecognised discriminant byte %#x\n"
+msgstr ""
+
+#: dwarf.c:2128
 msgid "Corrupt attribute\n"
 msgstr ""
 
-#: dwarf.c:1811
+#: dwarf.c:2143
 msgid "Internal error: DWARF version is not 2, 3 or 4.\n"
 msgstr ""
 
-#: dwarf.c:1949
+#: dwarf.c:2270
 msgid "DW_FORM_data8 is unsupported when sizeof (dwarf_vma) != 8\n"
 msgstr ""
 
-#: dwarf.c:1993 dwarf.c:2018 dwarf.c:2039 dwarf.c:2061
+#: dwarf.c:2315
 msgid "Block ends prematurely\n"
 msgstr ""
 
-#: dwarf.c:2004 dwarf.c:2025 dwarf.c:2046 dwarf.c:2070
-#, c-format
-msgid "Corrupt attribute block length: %lx\n"
-msgstr ""
-
-#: dwarf.c:2081
+#: dwarf.c:2342
 #, c-format
 msgid "%c(indirect string, offset: 0x%s): %s"
 msgstr ""
 
-#: dwarf.c:2088
+#: dwarf.c:2349
 #, c-format
 msgid "%c(indirect line string, offset: 0x%s): %s"
 msgstr ""
 
-#: dwarf.c:2099
+#: dwarf.c:2360
 #, c-format
 msgid "%c(indexed string: 0x%s): %s"
 msgstr ""
 
-#: dwarf.c:2108
+#: dwarf.c:2369
 #, c-format
 msgid "%c(alt indirect string, offset: 0x%s) %s"
 msgstr ""
 
-#: dwarf.c:2133
+#: dwarf.c:2394
 #, c-format
 msgid "%c(addr_index: 0x%s): %s"
 msgstr ""
 
-#: dwarf.c:2139
+#: dwarf.c:2400
 #, c-format
 msgid "Unrecognized form: %lu\n"
 msgstr ""
 
-#: dwarf.c:2200
+#: dwarf.c:2461
 msgid "More location offset attributes than DW_AT_GNU_locview attributes\n"
 msgstr ""
 
-#: dwarf.c:2212
+#: dwarf.c:2473
 msgid "More DW_AT_GNU_locview attributes than location offset attributes\n"
 msgstr ""
 
-#: dwarf.c:2272 dwarf.c:2297 dwarf.c:2313
+#: dwarf.c:2533 dwarf.c:2557 dwarf.c:2572
 #, c-format
 msgid "Unsupported form (%s) for attribute %s\n"
 msgstr ""
 
-#: dwarf.c:2274 dwarf.c:2299 dwarf.c:4344 dwarf.c:4654 readelf.c:5849
-#: readelf.c:5924 readelf.c:5942 readelf.c:5960 readelf.c:10408 readelf.c:11040
-#: readelf.c:15684 readelf.c:15716
-msgid "<unknown>"
-msgstr ""
-
-#: dwarf.c:2336
+#: dwarf.c:2606
 #, c-format
 msgid "(not inlined)"
 msgstr ""
 
-#: dwarf.c:2339
+#: dwarf.c:2609
 #, c-format
 msgid "(inlined)"
 msgstr ""
 
-#: dwarf.c:2342
+#: dwarf.c:2612
 #, c-format
 msgid "(declared as inline but ignored)"
 msgstr ""
 
-#: dwarf.c:2345
+#: dwarf.c:2615
 #, c-format
 msgid "(declared as inline and inlined)"
 msgstr ""
 
-#: dwarf.c:2348
+#: dwarf.c:2618
 #, c-format
 msgid "  (Unknown inline attribute value: %s)"
 msgstr ""
 
-#: dwarf.c:2405
+#: dwarf.c:2675
 #, c-format
 msgid "(implementation defined: %s)"
 msgstr ""
 
-#: dwarf.c:2408
+#: dwarf.c:2678
 #, c-format
 msgid "(Unknown: %s)"
 msgstr ""
 
-#: dwarf.c:2453
+#: dwarf.c:2723
 #, c-format
 msgid "(user defined type)"
 msgstr ""
 
-#: dwarf.c:2455
+#: dwarf.c:2725
 #, c-format
 msgid "(unknown type)"
 msgstr ""
 
-#: dwarf.c:2468
+#: dwarf.c:2738
 #, c-format
 msgid "(unknown accessibility)"
 msgstr ""
 
-#: dwarf.c:2480
+#: dwarf.c:2750
 #, c-format
 msgid "(unknown visibility)"
 msgstr ""
 
-#: dwarf.c:2493
+#: dwarf.c:2763
 #, c-format
 msgid "(user specified)"
 msgstr ""
 
-#: dwarf.c:2495
+#: dwarf.c:2765
 #, c-format
 msgid "(unknown endianity)"
 msgstr ""
 
-#: dwarf.c:2507
+#: dwarf.c:2777
 #, c-format
 msgid "(unknown virtuality)"
 msgstr ""
 
-#: dwarf.c:2519
+#: dwarf.c:2789
 #, c-format
 msgid "(unknown case)"
 msgstr ""
 
-#: dwarf.c:2537
+#: dwarf.c:2807
 #, c-format
 msgid "(user defined)"
 msgstr ""
 
-#: dwarf.c:2539
+#: dwarf.c:2809
 #, c-format
 msgid "(unknown convention)"
 msgstr ""
 
-#: dwarf.c:2548
+#: dwarf.c:2818
 #, c-format
 msgid "(undefined)"
 msgstr ""
 
-#: dwarf.c:2558
+#: dwarf.c:2828
 #, c-format
 msgid "(unsigned)"
 msgstr ""
 
-#: dwarf.c:2559
+#: dwarf.c:2829
 #, c-format
 msgid "(leading overpunch)"
 msgstr ""
 
-#: dwarf.c:2560
+#: dwarf.c:2830
 #, c-format
 msgid "(trailing overpunch)"
 msgstr ""
 
-#: dwarf.c:2561
+#: dwarf.c:2831
 #, c-format
 msgid "(leading separate)"
 msgstr ""
 
-#: dwarf.c:2562
+#: dwarf.c:2832
 #, c-format
 msgid "(trailing separate)"
 msgstr ""
 
-#: dwarf.c:2563 dwarf.c:2574 dwarf.c:2584
+#: dwarf.c:2833 dwarf.c:2844
 #, c-format
 msgid "(unrecognised)"
 msgstr ""
 
-#: dwarf.c:2571
+#: dwarf.c:2841
 #, c-format
 msgid "(no)"
 msgstr ""
 
-#: dwarf.c:2572
+#: dwarf.c:2842
 #, c-format
 msgid "(in class)"
 msgstr ""
 
-#: dwarf.c:2573
+#: dwarf.c:2843
 #, c-format
 msgid "(out of class)"
 msgstr ""
 
-#: dwarf.c:2582
-#, c-format
-msgid "(label)"
-msgstr ""
-
-#: dwarf.c:2583
-#, c-format
-msgid "(range)"
-msgstr ""
-
-#: dwarf.c:2610
+#: dwarf.c:2875
 #, c-format
 msgid " (location list)"
 msgstr ""
 
-#: dwarf.c:2631 dwarf.c:5616 dwarf.c:5773 dwarf.c:5955
+#: dwarf.c:2896 dwarf.c:5823 dwarf.c:5972 dwarf.c:6147
 #, c-format
 msgid " [without DW_AT_frame_base]"
 msgstr ""
 
-#: dwarf.c:2664
+#: dwarf.c:2929
 #, c-format
 msgid ""
 "Offset %s used as value for DW_AT_import attribute of DIE at offset 0x%lx is "
 "too big.\n"
 msgstr ""
 
-#: dwarf.c:2674
+#: dwarf.c:2940
 #, c-format
 msgid "\t[Abbrev Number: %ld"
 msgstr ""
 
-#: dwarf.c:2759
+#: dwarf.c:3045
 #, c-format
 msgid ""
 "Raw dump of debug contents of section %s (loaded from %s):\n"
 "\n"
 msgstr ""
 
-#: dwarf.c:2762
+#: dwarf.c:3048
 #, c-format
 msgid ""
 "Raw dump of debug contents of section %s:\n"
 "\n"
 msgstr ""
 
-#: dwarf.c:2767
+#: dwarf.c:3053
 #, c-format
 msgid ""
 "Contents of the %s section (loaded from %s):\n"
 "\n"
 msgstr ""
 
-#: dwarf.c:2770
+#: dwarf.c:3056
 #, c-format
 msgid ""
 "Contents of the %s section:\n"
 "\n"
 msgstr ""
 
-#: dwarf.c:2819
+#: dwarf.c:3105
 #, c-format
 msgid "Reserved length value (0x%s) found in section %s\n"
 msgstr ""
 
-#: dwarf.c:2831
+#: dwarf.c:3117
 #, c-format
 msgid "Corrupt unit length (0x%s) found in section %s\n"
 msgstr ""
 
-#: dwarf.c:2839
+#: dwarf.c:3125
 #, c-format
 msgid "No comp units in %s section ?\n"
 msgstr ""
 
-#: dwarf.c:2848
+#: dwarf.c:3134
 #, c-format
 msgid "Not enough memory for a debug info array of %u entries\n"
 msgstr ""
 
-#: dwarf.c:2877
+#: dwarf.c:3163
 #, c-format
 msgid "Unable to locate %s section!\n"
 msgstr ""
 
-#: dwarf.c:2957
+#: dwarf.c:3243
 #, c-format
 msgid "Invalid pointer size (%d) in compunit header, using %d instead\n"
 msgstr ""
 
-#: dwarf.c:3000
+#: dwarf.c:3286
 #, c-format
 msgid "  Compilation Unit @ offset 0x%s:\n"
 msgstr ""
 
-#: dwarf.c:3002
+#: dwarf.c:3288
 #, c-format
 msgid "   Length:        0x%s (%s)\n"
 msgstr ""
 
-#: dwarf.c:3005
+#: dwarf.c:3291
 #, c-format
 msgid "   Version:       %d\n"
 msgstr ""
 
-#: dwarf.c:3006
+#: dwarf.c:3292
 #, c-format
 msgid "   Abbrev Offset: 0x%s\n"
 msgstr ""
 
-#: dwarf.c:3008
+#: dwarf.c:3294
 #, c-format
 msgid "   Pointer Size:  %d\n"
 msgstr ""
 
-#: dwarf.c:3013
+#: dwarf.c:3299
 #, c-format
 msgid "   Signature:     0x%s\n"
 msgstr ""
 
-#: dwarf.c:3016
+#: dwarf.c:3302
 #, c-format
 msgid "   Type Offset:   0x%s\n"
 msgstr ""
 
-#: dwarf.c:3024
+#: dwarf.c:3310
 #, c-format
 msgid "   Section contributions:\n"
 msgstr ""
 
-#: dwarf.c:3025
+#: dwarf.c:3311
 #, c-format
 msgid "    .debug_abbrev.dwo:       0x%s  0x%s\n"
 msgstr ""
 
-#: dwarf.c:3028
+#: dwarf.c:3314
 #, c-format
 msgid "    .debug_line.dwo:         0x%s  0x%s\n"
 msgstr ""
 
-#: dwarf.c:3031
+#: dwarf.c:3317
 #, c-format
 msgid "    .debug_loc.dwo:          0x%s  0x%s\n"
 msgstr ""
 
-#: dwarf.c:3034
+#: dwarf.c:3320
 #, c-format
 msgid "    .debug_str_offsets.dwo:  0x%s  0x%s\n"
 msgstr ""
 
-#: dwarf.c:3044 dwarf.c:4833 dwarf.c:6381 dwarf.c:8487
+#: dwarf.c:3330 dwarf.c:5072 dwarf.c:6573 dwarf.c:8789
 #, c-format
 msgid "Debug info is corrupted, %s header at %#lx has length %s\n"
 msgstr ""
 
-#: dwarf.c:3057
+#: dwarf.c:3343
 #, c-format
 msgid "CU at offset %s contains corrupt or unsupported version number: %d.\n"
 msgstr ""
 
-#: dwarf.c:3066
+#: dwarf.c:3352
 #, c-format
 msgid "CU at offset %s contains corrupt or unsupported unit type: %d.\n"
 msgstr ""
 
-#: dwarf.c:3076
+#: dwarf.c:3362
 #, c-format
 msgid ""
 "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section "
 "size (%lx)\n"
 msgstr ""
 
-#: dwarf.c:3082
+#: dwarf.c:3368
 #, c-format
 msgid ""
 "Debug info is corrupted, abbrev size (%lx) is larger than abbrev section "
 "size (%lx)\n"
 msgstr ""
 
-#: dwarf.c:3128
+#: dwarf.c:3412
 #, c-format
 msgid " <%d><%lx>: Abbrev Number: 0\n"
 msgstr ""
 
-#: dwarf.c:3138
+#: dwarf.c:3422
 #, c-format
 msgid "Bogus end-of-siblings marker detected at offset %lx in %s section\n"
 msgstr ""
 
-#: dwarf.c:3142
+#: dwarf.c:3426
 msgid "Further warnings about bogus end-of-sibling markers suppressed\n"
 msgstr ""
 
-#: dwarf.c:3161
+#: dwarf.c:3445
 #, c-format
 msgid " <%d><%lx>: Abbrev Number: %lu"
 msgstr ""
 
-#: dwarf.c:3165
+#: dwarf.c:3449
 #, c-format
 msgid " <%d><%lx>: ...\n"
 msgstr ""
 
-#: dwarf.c:3184
+#: dwarf.c:3468
 #, c-format
 msgid ""
 "DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"
 msgstr ""
 
-#: dwarf.c:3257
+#: dwarf.c:3542
 msgid "DIE has locviews without loclist\n"
 msgstr ""
 
-#: dwarf.c:3372
+#: dwarf.c:3657
 #, c-format
 msgid ""
 "The length field (0x%lx) in the debug_line header is wrong - the section is "
 "too small\n"
 msgstr ""
 
-#: dwarf.c:3386
+#: dwarf.c:3671
 msgid "Only DWARF version 2, 3, 4 and 5 line info is currently supported.\n"
 msgstr ""
 
-#: dwarf.c:3398 dwarf.c:6048 dwarf.c:6794
+#: dwarf.c:3683 dwarf.c:6240 dwarf.c:6983
 #, c-format
 msgid "The %s section contains unsupported segment selector size: %d.\n"
 msgstr ""
 
-#: dwarf.c:3415
+#: dwarf.c:3700
 msgid "Invalid maximum operations per insn.\n"
 msgstr ""
 
-#: dwarf.c:3431
+#: dwarf.c:3716
 #, c-format
 msgid "Line length %s extends beyond end of section\n"
 msgstr ""
 
-#: dwarf.c:3463
+#: dwarf.c:3746
 msgid "Corrupt directory format table entry\n"
 msgstr ""
 
-#: dwarf.c:3465
+#: dwarf.c:3748
 msgid "Corrupt file name format table entry\n"
 msgstr ""
 
-#: dwarf.c:3475
+#: dwarf.c:3757
 msgid "Corrupt directory list\n"
 msgstr ""
 
-#: dwarf.c:3477 dwarf.c:4160 dwarf.c:4183 dwarf.c:4230
+#: dwarf.c:3759 dwarf.c:4423 dwarf.c:4445 dwarf.c:4492
 msgid "Corrupt file name list\n"
 msgstr ""
 
-#: dwarf.c:3484 dwarf.c:3681
+#: dwarf.c:3766 dwarf.c:3959
 #, c-format
 msgid ""
 "\n"
 " The Directory Table is empty.\n"
 msgstr ""
 
-#: dwarf.c:3486 dwarf.c:3706
+#: dwarf.c:3768 dwarf.c:3984
 #, c-format
 msgid ""
 "\n"
 " The File Name Table is empty.\n"
 msgstr ""
 
-#: dwarf.c:3491 dwarf.c:3686
+#: dwarf.c:3773 dwarf.c:3964
 #, c-format
 msgid ""
 "\n"
 " The Directory Table (offset 0x%lx):\n"
 msgstr ""
 
-#: dwarf.c:3494 dwarf.c:3709
+#: dwarf.c:3776 dwarf.c:3987
 #, c-format
 msgid ""
 "\n"
 " The File Name Table (offset 0x%lx):\n"
 msgstr ""
 
-#: dwarf.c:3497
+#: dwarf.c:3779
 #, c-format
 msgid "  Entry"
 msgstr ""
 
-#: dwarf.c:3512
+#: dwarf.c:3793
 #, c-format
 msgid "\tName"
 msgstr ""
 
-#: dwarf.c:3515
+#: dwarf.c:3796
 #, c-format
 msgid "\tDir"
 msgstr ""
 
-#: dwarf.c:3518
+#: dwarf.c:3799
 #, c-format
 msgid "\tTime"
 msgstr ""
 
-#: dwarf.c:3521
+#: dwarf.c:3802
 #, c-format
 msgid "\tSize"
 msgstr ""
 
-#: dwarf.c:3524
+#: dwarf.c:3805
 #, c-format
 msgid "\tMD5"
 msgstr ""
 
-#: dwarf.c:3527
+#: dwarf.c:3808
 #, c-format
 msgid "\t(Unknown format content type %s)"
 msgstr ""
 
-#: dwarf.c:3564
+#: dwarf.c:3842
 msgid "Corrupt directory entries list\n"
 msgstr ""
 
-#: dwarf.c:3566
+#: dwarf.c:3844
 msgid "Corrupt file name entries list\n"
 msgstr ""
 
-#: dwarf.c:3614 dwarf.c:4030
+#: dwarf.c:3892 dwarf.c:4302
 msgid ""
 "Partial .debug_line. section encountered without a prior full .debug_line "
 "section\n"
 msgstr ""
 
-#: dwarf.c:3627 dwarf.c:5151
+#: dwarf.c:3905 dwarf.c:5379
 #, c-format
 msgid "  Offset:                      0x%lx\n"
 msgstr ""
 
-#: dwarf.c:3628
+#: dwarf.c:3906
 #, c-format
 msgid "  Length:                      %ld\n"
 msgstr ""
 
-#: dwarf.c:3629
+#: dwarf.c:3907
 #, c-format
 msgid "  DWARF Version:               %d\n"
 msgstr ""
 
-#: dwarf.c:3630
+#: dwarf.c:3908
 #, c-format
 msgid "  Prologue Length:             %d\n"
 msgstr ""
 
-#: dwarf.c:3631
+#: dwarf.c:3909
 #, c-format
 msgid "  Minimum Instruction Length:  %d\n"
 msgstr ""
 
-#: dwarf.c:3633
+#: dwarf.c:3911
 #, c-format
 msgid "  Maximum Ops per Instruction: %d\n"
 msgstr ""
 
-#: dwarf.c:3634
+#: dwarf.c:3912
 #, c-format
 msgid "  Initial value of 'is_stmt':  %d\n"
 msgstr ""
 
-#: dwarf.c:3635
+#: dwarf.c:3913
 #, c-format
 msgid "  Line Base:                   %d\n"
 msgstr ""
 
-#: dwarf.c:3636
+#: dwarf.c:3914
 #, c-format
 msgid "  Line Range:                  %d\n"
 msgstr ""
 
-#: dwarf.c:3637
+#: dwarf.c:3915
 #, c-format
 msgid "  Opcode Base:                 %d\n"
 msgstr ""
 
-#: dwarf.c:3642 dwarf.c:4046
+#: dwarf.c:3920 dwarf.c:4318
 msgid "Line range of 0 is invalid, using 1 instead\n"
 msgstr ""
 
-#: dwarf.c:3654
+#: dwarf.c:3932
 msgid "Line Base extends beyond end of section\n"
 msgstr ""
 
-#: dwarf.c:3658
+#: dwarf.c:3936
 #, c-format
 msgid ""
 "\n"
 " Opcodes:\n"
 msgstr ""
 
-#: dwarf.c:3661
+#: dwarf.c:3939
 #, c-format
 msgid "  Opcode %d has %d arg\n"
 msgid_plural "  Opcode %d has %d args\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: dwarf.c:3735
+#: dwarf.c:4010
 msgid "Corrupt file name table entry\n"
 msgstr ""
 
-#: dwarf.c:3751
+#: dwarf.c:4026
 #, c-format
 msgid " No Line Number Statements.\n"
 msgstr ""
 
-#: dwarf.c:3754
+#: dwarf.c:4029
 #, c-format
 msgid " Line Number Statements:\n"
 msgstr ""
 
-#: dwarf.c:3777
+#: dwarf.c:4051
 #, c-format
 msgid "  Special opcode %d: advance Address by %s to 0x%s%s"
 msgstr ""
 
-#: dwarf.c:3782 dwarf.c:3803 dwarf.c:3843 dwarf.c:3863 dwarf.c:3916
-#: dwarf.c:3936
+#: dwarf.c:4056 dwarf.c:4077 dwarf.c:4119 dwarf.c:4139 dwarf.c:4189
+#: dwarf.c:4209
 msgid " (reset view)"
 msgstr ""
 
-#: dwarf.c:3797
+#: dwarf.c:4071
 #, c-format
 msgid "  Special opcode %d: advance Address by %s to 0x%s[%d]%s"
 msgstr ""
 
-#: dwarf.c:3807
+#: dwarf.c:4081
 #, c-format
 msgid " and Line by %s to %d"
 msgstr ""
 
-#: dwarf.c:3810 dwarf.c:3824
+#: dwarf.c:4084 dwarf.c:4101
 #, c-format
 msgid " (view %u)\n"
 msgstr ""
 
-#: dwarf.c:3822
+#: dwarf.c:4099
 #, c-format
 msgid "  Copy"
 msgstr ""
 
-#: dwarf.c:3839
+#: dwarf.c:4115
 #, c-format
 msgid "  Advance PC by %s to 0x%s%s\n"
 msgstr ""
 
-#: dwarf.c:3858
+#: dwarf.c:4134
 #, c-format
 msgid "  Advance PC by %s to 0x%s[%d]%s\n"
 msgstr ""
 
-#: dwarf.c:3871
+#: dwarf.c:4146
 #, c-format
 msgid "  Advance Line by %s to %d\n"
 msgstr ""
 
-#: dwarf.c:3879
+#: dwarf.c:4153
 #, c-format
 msgid "  Set File Name to entry %s in the File Name Table\n"
 msgstr ""
 
-#: dwarf.c:3887
+#: dwarf.c:4160
 #, c-format
 msgid "  Set column to %s\n"
 msgstr ""
 
-#: dwarf.c:3895
+#: dwarf.c:4168
 #, c-format
 msgid "  Set is_stmt to %s\n"
 msgstr ""
 
-#: dwarf.c:3900
+#: dwarf.c:4173
 #, c-format
 msgid "  Set basic block\n"
 msgstr ""
 
-#: dwarf.c:3912
+#: dwarf.c:4185
 #, c-format
 msgid "  Advance PC by constant %s to 0x%s%s\n"
 msgstr ""
 
-#: dwarf.c:3931
+#: dwarf.c:4204
 #, c-format
 msgid "  Advance PC by constant %s to 0x%s[%d]%s\n"
 msgstr ""
 
-#: dwarf.c:3944
+#: dwarf.c:4217
 #, c-format
 msgid "  Advance PC by fixed size amount %s to 0x%s\n"
 msgstr ""
 
-#: dwarf.c:3951
+#: dwarf.c:4224
 #, c-format
 msgid "  Set prologue_end to true\n"
 msgstr ""
 
-#: dwarf.c:3955
+#: dwarf.c:4228
 #, c-format
 msgid "  Set epilogue_begin to true\n"
 msgstr ""
 
-#: dwarf.c:3961
+#: dwarf.c:4233
 #, c-format
 msgid "  Set ISA to %s\n"
 msgstr ""
 
-#: dwarf.c:3965 dwarf.c:4617
+#: dwarf.c:4237 dwarf.c:4855
 #, c-format
 msgid "  Unknown opcode %d with operands: "
 msgstr ""
 
-#: dwarf.c:4059
+#: dwarf.c:4331
 #, c-format
 msgid "opcode base of %d extends beyond end of section\n"
 msgstr ""
 
-#: dwarf.c:4087 dwarf.c:4110 dwarf.c:4140
+#: dwarf.c:4355 dwarf.c:4376 dwarf.c:4406
 msgid "Corrupt directories list\n"
 msgstr ""
 
-#: dwarf.c:4250
+#: dwarf.c:4512
 msgid "directory table ends unexpectedly\n"
 msgstr ""
 
-#: dwarf.c:4295
+#: dwarf.c:4551
 msgid "file table ends unexpectedly\n"
 msgstr ""
 
-#: dwarf.c:4334
+#: dwarf.c:4586
 #, c-format
 msgid "CU: %s:\n"
 msgstr ""
 
-#: dwarf.c:4347 dwarf.c:4545
+#: dwarf.c:4596 dwarf.c:4893 readelf.c:5949 readelf.c:6024 readelf.c:6042
+#: readelf.c:6060 readelf.c:10552 readelf.c:11180 readelf.c:11193
+#: readelf.c:16033 readelf.c:16065
+msgid "<unknown>"
+msgstr ""
+
+#: dwarf.c:4599 dwarf.c:4785
 #, c-format
 msgid "directory index %u > number of directories %s\n"
 msgstr ""
 
-#: dwarf.c:4349 dwarf.c:4648 elfcomm.c:891 readelf.c:309 readelf.c:650
-#: readelf.c:6844 readelf.c:7395 readelf.c:9389 readelf.c:11440 readelf.c:11507
-#: readelf.c:11511 readelf.c:11853 readelf.c:14540 readelf.c:14635
-#: readelf.c:15217 readelf.c:15236 readelf.c:15360 readelf.c:15693
-#: readelf.c:16808 readelf.c:16811
+#: dwarf.c:4601 dwarf.c:4887 elfcomm.c:891 readelf.c:319 readelf.c:663
+#: readelf.c:6944 readelf.c:7490 readelf.c:9525 readelf.c:11613 readelf.c:11679
+#: readelf.c:11683 readelf.c:12054 readelf.c:14908 readelf.c:14997
+#: readelf.c:15552 readelf.c:15571 readelf.c:15690 readelf.c:16042
+#: readelf.c:17194 readelf.c:17197
 #, c-format
 msgid "<corrupt>"
 msgstr ""
 
-#: dwarf.c:4355
+#: dwarf.c:4607
 #, c-format
 msgid "CU: %s/%s:\n"
 msgstr ""
 
-#: dwarf.c:4360
+#: dwarf.c:4612
 #, c-format
 msgid ""
 "File name                            Line number    Starting address    "
 "View    Stmt\n"
 msgstr ""
 
-#: dwarf.c:4476
+#: dwarf.c:4719
 #, c-format
-msgid "UNKNOWN (%u): length %d\n"
+msgid "UNKNOWN (%u): length %ld\n"
 msgstr ""
 
-#: dwarf.c:4529
+#: dwarf.c:4769
 #, c-format
 msgid ""
 "\n"
 " [Use file table entry %d]\n"
 msgstr ""
 
-#: dwarf.c:4533
+#: dwarf.c:4773
 #, c-format
 msgid "file index %u > number of files %u\n"
 msgstr ""
 
-#: dwarf.c:4534
+#: dwarf.c:4774
 #, c-format
 msgid ""
 "\n"
 " <over large file table index %u>"
 msgstr ""
 
-#: dwarf.c:4540
+#: dwarf.c:4780
 #, c-format
 msgid ""
 "\n"
 " [Use file %s in directory table entry %d]\n"
 msgstr ""
 
-#: dwarf.c:4547
+#: dwarf.c:4787
 #, c-format
 msgid ""
 "\n"
 " <over large directory table entry %u>\n"
 msgstr ""
 
-#: dwarf.c:4613
+#: dwarf.c:4851
 #, c-format
 msgid "  Set ISA to %lu\n"
 msgstr ""
 
-#: dwarf.c:4647
+#: dwarf.c:4886
 #, c-format
 msgid "corrupt file index %u encountered\n"
 msgstr ""
 
-#: dwarf.c:4782
+#: dwarf.c:5021
 msgid "no info"
 msgstr ""
 
-#: dwarf.c:4783
+#: dwarf.c:5022
 msgid "type"
 msgstr ""
 
-#: dwarf.c:4784
+#: dwarf.c:5023
 msgid "variable"
 msgstr ""
 
-#: dwarf.c:4785
+#: dwarf.c:5024
 msgid "function"
 msgstr ""
 
-#: dwarf.c:4786
+#: dwarf.c:5025
 msgid "other"
 msgstr ""
 
-#: dwarf.c:4787
+#: dwarf.c:5026
 msgid "unused5"
 msgstr ""
 
-#: dwarf.c:4788
+#: dwarf.c:5027
 msgid "unused6"
 msgstr ""
 
-#: dwarf.c:4789
+#: dwarf.c:5028
 msgid "unused7"
 msgstr ""
 
-#: dwarf.c:4849 dwarf.c:6394
+#: dwarf.c:5088 dwarf.c:6586
 #, c-format
 msgid ""
 ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"
 msgstr ""
 
-#: dwarf.c:4854
+#: dwarf.c:5093
 #, c-format
 msgid "  Length:                              %ld\n"
 msgstr ""
 
-#: dwarf.c:4856
+#: dwarf.c:5095
 #, c-format
 msgid "  Version:                             %d\n"
 msgstr ""
 
-#: dwarf.c:4858
+#: dwarf.c:5097
 #, c-format
 msgid "  Offset into .debug_info section:     0x%lx\n"
 msgstr ""
 
-#: dwarf.c:4860
+#: dwarf.c:5099
 #, c-format
 msgid "  Size of area in .debug_info section: %ld\n"
 msgstr ""
 
-#: dwarf.c:4869
+#: dwarf.c:5108
 msgid "Only DWARF 2 and 3 pubnames are currently supported\n"
 msgstr ""
 
-#: dwarf.c:4877
+#: dwarf.c:5116
 #, c-format
 msgid ""
 "\n"
 "    Offset  Kind          Name\n"
 msgstr ""
 
-#: dwarf.c:4879
+#: dwarf.c:5118
 #, c-format
 msgid ""
 "\n"
 "    Offset\tName\n"
 msgstr ""
 
-#: dwarf.c:4915
+#: dwarf.c:5154
 msgid "s"
 msgstr ""
 
-#: dwarf.c:4915
+#: dwarf.c:5154
 msgid "g"
 msgstr ""
 
-#: dwarf.c:4975
+#: dwarf.c:5210
 #, c-format
 msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n"
 msgstr ""
 
-#: dwarf.c:4981
+#: dwarf.c:5216
 #, c-format
 msgid " DW_MACINFO_end_file\n"
 msgstr ""
 
-#: dwarf.c:4989
+#: dwarf.c:5223
 #, c-format
 msgid " DW_MACINFO_define - lineno : %d macro : %s\n"
 msgstr ""
 
-#: dwarf.c:4998
+#: dwarf.c:5231
 #, c-format
 msgid " DW_MACINFO_undef - lineno : %d macro : %s\n"
 msgstr ""
 
-#: dwarf.c:5010
+#: dwarf.c:5242
 #, c-format
 msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n"
 msgstr ""
 
-#: dwarf.c:5143
+#: dwarf.c:5371
 #, c-format
 msgid "Only GNU extension to DWARF 4 or 5 of %s is currently supported.\n"
 msgstr ""
 
-#: dwarf.c:5153
+#: dwarf.c:5381
 #, c-format
 msgid "  Version:                     %d\n"
 msgstr ""
 
-#: dwarf.c:5154
+#: dwarf.c:5382
 #, c-format
 msgid "  Offset size:                 %d\n"
 msgstr ""
 
-#: dwarf.c:5158
+#: dwarf.c:5386
 #, c-format
 msgid "  Offset into .debug_line:     0x%lx\n"
 msgstr ""
 
-#: dwarf.c:5172
+#: dwarf.c:5400
 #, c-format
 msgid "  Extension opcode arguments:\n"
 msgstr ""
 
-#: dwarf.c:5180
+#: dwarf.c:5407
 #, c-format
 msgid "    DW_MACRO_%02x has no arguments\n"
 msgstr ""
 
-#: dwarf.c:5183
+#: dwarf.c:5410
 #, c-format
 msgid "    DW_MACRO_%02x arguments: "
 msgstr ""
 
-#: dwarf.c:5209
+#: dwarf.c:5436
 #, c-format
 msgid "Invalid extension opcode form %s\n"
 msgstr ""
 
-#: dwarf.c:5226
+#: dwarf.c:5453
 msgid ".debug_macro section not zero terminated\n"
 msgstr ""
 
-#: dwarf.c:5247
+#: dwarf.c:5472
 msgid "DW_MACRO_start_file used, but no .debug_line offset provided.\n"
 msgstr ""
 
-#: dwarf.c:5253
+#: dwarf.c:5478
 #, c-format
 msgid " DW_MACRO_start_file - lineno: %d filenum: %d\n"
 msgstr ""
 
-#: dwarf.c:5256
+#: dwarf.c:5481
 #, c-format
 msgid " DW_MACRO_start_file - lineno: %d filenum: %d filename: %s%s%s\n"
 msgstr ""
 
-#: dwarf.c:5264
+#: dwarf.c:5489
 #, c-format
 msgid " DW_MACRO_end_file\n"
 msgstr ""
 
-#: dwarf.c:5272
+#: dwarf.c:5496
 #, c-format
 msgid " DW_MACRO_define - lineno : %d macro : %s\n"
 msgstr ""
 
-#: dwarf.c:5281
+#: dwarf.c:5504
 #, c-format
 msgid " DW_MACRO_undef - lineno : %d macro : %s\n"
 msgstr ""
 
-#: dwarf.c:5290
+#: dwarf.c:5512
 #, c-format
 msgid " DW_MACRO_define_strp - lineno : %d macro : %s\n"
 msgstr ""
 
-#: dwarf.c:5299
+#: dwarf.c:5520
 #, c-format
 msgid " DW_MACRO_undef_strp - lineno : %d macro : %s\n"
 msgstr ""
 
-#: dwarf.c:5305
+#: dwarf.c:5526
 #, c-format
 msgid " DW_MACRO_import - offset : 0x%lx\n"
 msgstr ""
 
-#: dwarf.c:5313
+#: dwarf.c:5533
 #, c-format
 msgid " DW_MACRO_define_sup - lineno : %d macro offset : 0x%lx\n"
 msgstr ""
 
-#: dwarf.c:5321
+#: dwarf.c:5540
 #, c-format
 msgid " DW_MACRO_undef_sup - lineno : %d macro offset : 0x%lx\n"
 msgstr ""
 
-#: dwarf.c:5327
+#: dwarf.c:5546
 #, c-format
 msgid " DW_MACRO_import_sup - offset : 0x%lx\n"
 msgstr ""
 
-#: dwarf.c:5334
+#: dwarf.c:5553
 #, c-format
 msgid " Unknown macro opcode %02x seen\n"
 msgstr ""
 
-#: dwarf.c:5346
+#: dwarf.c:5564
 #, c-format
 msgid " DW_MACRO_%02x\n"
 msgstr ""
 
-#: dwarf.c:5349
+#: dwarf.c:5567
 #, c-format
 msgid " DW_MACRO_%02x -"
 msgstr ""
 
-#: dwarf.c:5398
+#: dwarf.c:5616
 #, c-format
 msgid "  Number TAG (0x%lx)\n"
 msgstr ""
 
-#: dwarf.c:5407
+#: dwarf.c:5625
 msgid "has children"
 msgstr ""
 
-#: dwarf.c:5407
+#: dwarf.c:5625
 msgid "no children"
 msgstr ""
 
-#: dwarf.c:5476
+#: dwarf.c:5687
 #, c-format
 msgid "location view pair\n"
 msgstr ""
 
-#: dwarf.c:5508
+#: dwarf.c:5719
 #, c-format
 msgid "No debug information available for loc lists of entry: %u\n"
 msgstr ""
 
-#: dwarf.c:5520 dwarf.c:5672 dwarf.c:5842
+#: dwarf.c:5731 dwarf.c:5878 dwarf.c:6040
 #, c-format
 msgid "Invalid pointer size (%d) in debug info for entry %d\n"
 msgstr ""
 
-#: dwarf.c:5532 dwarf.c:5589 dwarf.c:5598 dwarf.c:5684 dwarf.c:5752
-#: dwarf.c:5853 dwarf.c:5932 dwarf.c:5940
+#: dwarf.c:5743 dwarf.c:5796 dwarf.c:5805 dwarf.c:5890 dwarf.c:5952
+#: dwarf.c:6051 dwarf.c:6124 dwarf.c:6132
 #, c-format
 msgid "Location list starting at offset 0x%lx is not terminated.\n"
 msgstr ""
 
-#: dwarf.c:5553 dwarf.c:5712 dwarf.c:5893 dwarf.c:6616 dwarf.c:6672
+#: dwarf.c:5764 dwarf.c:5916 dwarf.c:6089 dwarf.c:6809 dwarf.c:6864
 #, c-format
 msgid "<End of list>\n"
 msgstr ""
 
-#: dwarf.c:5565 dwarf.c:5724 dwarf.c:6677
+#: dwarf.c:5776 dwarf.c:5926 dwarf.c:6869
 #, c-format
 msgid "(base address)\n"
 msgstr ""
 
-#: dwarf.c:5583 dwarf.c:5705 dwarf.c:5881
+#: dwarf.c:5790 dwarf.c:5909 dwarf.c:6077
 #, c-format
 msgid ""
 "views at %8.8lx for:\n"
 "    %*s "
 msgstr ""
 
-#: dwarf.c:5619 dwarf.c:5776
+#: dwarf.c:5826 dwarf.c:5975
 msgid " (start == end)"
 msgstr ""
 
-#: dwarf.c:5621 dwarf.c:5778
+#: dwarf.c:5828 dwarf.c:5977
 msgid " (start > end)"
 msgstr ""
 
-#: dwarf.c:5659
+#: dwarf.c:5865
 #, c-format
 msgid "No debug information available for loclists lists of entry: %u\n"
 msgstr ""
 
-#: dwarf.c:5729
+#: dwarf.c:5931
 #, c-format
 msgid "View pair entry in loclist with locviews attribute\n"
 msgstr ""
 
-#: dwarf.c:5738
+#: dwarf.c:5938
 #, c-format
 msgid "views for:\n"
 msgstr ""
 
-#: dwarf.c:5742
+#: dwarf.c:5942
 #, c-format
 msgid "Invalid location list entry type %d\n"
 msgstr ""
 
-#: dwarf.c:5787
+#: dwarf.c:5986
 #, c-format
 msgid "Trailing view pair not used in a range"
 msgstr ""
 
-#: dwarf.c:5830
+#: dwarf.c:6028
 #, c-format
 msgid "No debug information for loc lists of entry: %u\n"
 msgstr ""
 
-#: dwarf.c:5900
+#: dwarf.c:6095
 #, c-format
 msgid "(base address selection entry)\n"
 msgstr ""
 
-#: dwarf.c:5924
+#: dwarf.c:6116
 #, c-format
 msgid "Unknown location list entry type 0x%x.\n"
 msgstr ""
 
-#: dwarf.c:6017 dwarf.c:6270 dwarf.c:6491 dwarf.c:6563 dwarf.c:6734
+#: dwarf.c:6209 dwarf.c:6462 dwarf.c:6683 dwarf.c:6756 dwarf.c:6923
 #, c-format
 msgid ""
 "\n"
 "The %s section is empty.\n"
 msgstr ""
 
-#: dwarf.c:6037
+#: dwarf.c:6229
 #, c-format
 msgid "The %s section contains corrupt or unsupported version number: %d.\n"
 msgstr ""
 
-#: dwarf.c:6057
+#: dwarf.c:6249
 #, c-format
 msgid "The %s section contains unsupported offset entry count: %d.\n"
 msgstr ""
 
-#: dwarf.c:6068 dwarf.c:6497 dwarf.c:6812
+#: dwarf.c:6260 dwarf.c:6689 dwarf.c:7001
 #, c-format
 msgid ""
 "Unable to load/parse the .debug_info section, so cannot interpret the %s "
 "section.\n"
 msgstr ""
 
-#: dwarf.c:6116
+#: dwarf.c:6308
 msgid "No location lists in .debug_info section!\n"
 msgstr ""
 
-#: dwarf.c:6121
+#: dwarf.c:6313
 #, c-format
 msgid "Location lists in %s section start at 0x%s\n"
 msgstr ""
 
-#: dwarf.c:6131
+#: dwarf.c:6323
 #, c-format
 msgid ""
 " Warning: This section has relocations - addresses seen here may not be "
@@ -3203,775 +3216,774 @@ msgid ""
 "\n"
 msgstr ""
 
-#: dwarf.c:6133
+#: dwarf.c:6325
 #, c-format
 msgid "    Offset   Begin            End              Expression\n"
 msgstr ""
 
-#: dwarf.c:6188
+#: dwarf.c:6380
 #, c-format
 msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"
 msgstr ""
 
-#: dwarf.c:6192
+#: dwarf.c:6384
 #, c-format
 msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"
 msgstr ""
 
-#: dwarf.c:6201
+#: dwarf.c:6393
 #, c-format
 msgid "Offset 0x%lx is bigger than .debug_loc section size.\n"
 msgstr ""
 
-#: dwarf.c:6208
+#: dwarf.c:6400
 #, c-format
 msgid "View Offset 0x%lx is bigger than .debug_loc section size.\n"
 msgstr ""
 
-#: dwarf.c:6225
+#: dwarf.c:6417
 msgid "DWO is not yet supported.\n"
 msgstr ""
 
-#: dwarf.c:6242
+#: dwarf.c:6434
 msgid "Hole and overlap detection requires adjacent view lists and loclists.\n"
 msgstr ""
 
-#: dwarf.c:6251
+#: dwarf.c:6443
 #, c-format
 msgid "There is %ld unused byte at the end of section %s\n"
 msgid_plural "There are %ld unused bytes at the end of section %s\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: dwarf.c:6407
+#: dwarf.c:6599
 msgid "Only DWARF 2 and 3 aranges are currently supported.\n"
 msgstr ""
 
-#: dwarf.c:6411
+#: dwarf.c:6603
 #, c-format
 msgid "  Length:                   %ld\n"
 msgstr ""
 
-#: dwarf.c:6413
+#: dwarf.c:6605
 #, c-format
 msgid "  Version:                  %d\n"
 msgstr ""
 
-#: dwarf.c:6414
+#: dwarf.c:6606
 #, c-format
 msgid "  Offset into .debug_info:  0x%lx\n"
 msgstr ""
 
-#: dwarf.c:6416
+#: dwarf.c:6608
 #, c-format
 msgid "  Pointer Size:             %d\n"
 msgstr ""
 
-#: dwarf.c:6417
+#: dwarf.c:6609
 #, c-format
 msgid "  Segment Size:             %d\n"
 msgstr ""
 
-#: dwarf.c:6424
+#: dwarf.c:6616
 #, c-format
 msgid "Invalid address size in %s section!\n"
 msgstr ""
 
-#: dwarf.c:6434
+#: dwarf.c:6626
 msgid "Pointer size + Segment size is not a power of two.\n"
 msgstr ""
 
-#: dwarf.c:6439
+#: dwarf.c:6631
 #, c-format
 msgid ""
 "\n"
 "    Address            Length\n"
 msgstr ""
 
-#: dwarf.c:6441
+#: dwarf.c:6633
 #, c-format
 msgid ""
 "\n"
 "    Address    Length\n"
 msgstr ""
 
-#: dwarf.c:6517
+#: dwarf.c:6709
 #, c-format
 msgid "Corrupt address base (%lx) found in debug section %u\n"
 msgstr ""
 
-#: dwarf.c:6533
+#: dwarf.c:6725
 #, c-format
 msgid "  For compilation unit at offset 0x%s:\n"
 msgstr ""
 
-#: dwarf.c:6536
+#: dwarf.c:6728
 #, c-format
 msgid "\tIndex\tAddress\n"
 msgstr ""
 
-#: dwarf.c:6543
+#: dwarf.c:6735
 #, c-format
 msgid "\t%d:\t"
 msgstr ""
 
-#: dwarf.c:6635 dwarf.c:6709
+#: dwarf.c:6828 dwarf.c:6898
 msgid "(start == end)"
 msgstr ""
 
-#: dwarf.c:6637 dwarf.c:6711
+#: dwarf.c:6830 dwarf.c:6900
 msgid "(start > end)"
 msgstr ""
 
-#: dwarf.c:6660
+#: dwarf.c:6852
 #, c-format
 msgid "Range list starting at offset 0x%lx is not terminated.\n"
 msgstr ""
 
-#: dwarf.c:6696
+#: dwarf.c:6885
 #, c-format
 msgid "Invalid range list entry type %d\n"
 msgstr ""
 
-#: dwarf.c:6773
+#: dwarf.c:6962
 #, c-format
 msgid ""
 "The length field (0x%lx) in the debug_rnglists header is wrong - the section "
 "is too small\n"
 msgstr ""
 
-#: dwarf.c:6784
+#: dwarf.c:6973
 msgid "Only DWARF version 5 debug_rnglists info is currently supported.\n"
 msgstr ""
 
-#: dwarf.c:6803
+#: dwarf.c:6992
 #, c-format
 msgid "The %s section contains unsupported offset entry count: %u.\n"
 msgstr ""
 
 #. This can happen when the file was compiled with -gsplit-debug
 #. which removes references to range lists from the primary .o file.
-#: dwarf.c:6825
+#: dwarf.c:7014
 #, c-format
 msgid "No range lists in .debug_info section.\n"
 msgstr ""
 
-#: dwarf.c:6850
+#: dwarf.c:7039
 #, c-format
 msgid "Range lists in %s section start at 0x%lx\n"
 msgstr ""
 
-#: dwarf.c:6855
+#: dwarf.c:7044
 #, c-format
 msgid "    Offset   Begin    End\n"
 msgstr ""
 
-#: dwarf.c:6874
+#: dwarf.c:7063
 #, c-format
 msgid "Corrupt pointer size (%d) in debug entry at offset %8.8lx\n"
 msgstr ""
 
-#: dwarf.c:6881
+#: dwarf.c:7070
 #, c-format
 msgid "Corrupt offset (%#8.8lx) in range entry %u\n"
 msgstr ""
 
-#: dwarf.c:6889
+#: dwarf.c:7078
 #, c-format
 msgid "There is a hole [0x%lx - 0x%lx] in %s section.\n"
 msgstr ""
 
-#: dwarf.c:6896
+#: dwarf.c:7085
 #, c-format
 msgid "There is an overlap [0x%lx - 0x%lx] in %s section.\n"
 msgstr ""
 
-#: dwarf.c:6969
+#: dwarf.c:7161
 #, c-format
 msgid "Unfeasibly large register number: %u\n"
 msgstr ""
 
-#: dwarf.c:6982
+#: dwarf.c:7174
 #, c-format
 msgid "Out of memory allocating %u columns in dwarf frame arrays\n"
 msgstr ""
 
-#: dwarf.c:7325
+#: dwarf.c:7626
 msgid "No terminator for augmentation name\n"
 msgstr ""
 
-#: dwarf.c:7337
+#: dwarf.c:7638
 #, c-format
 msgid "Invalid pointer size (%d) in CIE data\n"
 msgstr ""
 
-#: dwarf.c:7345
+#: dwarf.c:7646
 #, c-format
 msgid "Invalid segment size (%d) in CIE data\n"
 msgstr ""
 
-#: dwarf.c:7376
+#: dwarf.c:7677 dwarf.c:8048
 #, c-format
 msgid "Augmentation data too long: 0x%s, expected at most %#lx\n"
 msgstr ""
 
-#: dwarf.c:7463
+#: dwarf.c:7764
 #, c-format
 msgid "  Augmentation data:    "
 msgstr ""
 
-#: dwarf.c:7480
+#: dwarf.c:7780
 msgid "bad register: "
 msgstr ""
 
-#: dwarf.c:7650
+#: dwarf.c:7950
 msgid "Failed to read CIE information\n"
 msgstr ""
 
-#: dwarf.c:7661 dwarf.c:7685 dwarf.c:7712
+#: dwarf.c:7961 dwarf.c:7985 dwarf.c:8012
 msgid "Invalid max register\n"
 msgstr ""
 
 #. PR 17512: file: 9e196b3e.
-#: dwarf.c:7727
+#: dwarf.c:8027
 #, c-format
 msgid "Probably corrupt segment size: %d - using 4 instead\n"
 msgstr ""
 
-#: dwarf.c:7751
-#, c-format
-msgid "Corrupt augmentation data length: 0x%s\n"
-msgstr ""
-
-#: dwarf.c:7873
+#: dwarf.c:8173
 #, c-format
 msgid "Corrupt CFA_def expression value: %lu\n"
 msgstr ""
 
 #. PR 17512: file:306-192417-0.005.
-#: dwarf.c:7887
+#: dwarf.c:8187
 #, c-format
 msgid "Corrupt CFA expression value: %lu\n"
 msgstr ""
 
-#: dwarf.c:8190
+#: dwarf.c:8490
 msgid "Invalid column number in saved frame state\n"
 msgstr ""
 
-#: dwarf.c:8237
+#: dwarf.c:8537
 #, c-format
 msgid "  DW_CFA_def_cfa_expression: <corrupt len %lu>\n"
 msgstr ""
 
-#: dwarf.c:8261
+#: dwarf.c:8561
 #, c-format
 msgid "  DW_CFA_expression: <corrupt len %lu>\n"
 msgstr ""
 
-#: dwarf.c:8393
+#: dwarf.c:8693
 #, c-format
 msgid "  DW_CFA_??? (User defined call frame op: %#x)\n"
 msgstr ""
 
-#: dwarf.c:8395
+#: dwarf.c:8695
 #, c-format
 msgid "Unsupported or unknown Dwarf Call Frame Instruction number: %#x\n"
 msgstr ""
 
-#: dwarf.c:8496 dwarf.c:8893
+#: dwarf.c:8798 dwarf.c:9202
 #, c-format
 msgid "Version %ld\n"
 msgstr ""
 
-#: dwarf.c:8502
+#: dwarf.c:8804
 msgid "Only DWARF version 5 .debug_names is currently supported.\n"
 msgstr ""
 
-#: dwarf.c:8509
+#: dwarf.c:8811
 #, c-format
 msgid "Padding field of .debug_names must be 0 (found 0x%x)\n"
 msgstr ""
 
-#: dwarf.c:8514
+#: dwarf.c:8816
 msgid "Compilation unit count must be >= 1 in .debug_names\n"
 msgstr ""
 
-#: dwarf.c:8525
+#: dwarf.c:8827
 #, c-format
 msgid ""
 "Augmentation string length %u must be rounded up to a multiple of 4 in ."
 "debug_names.\n"
 msgstr ""
 
-#: dwarf.c:8530
+#: dwarf.c:8833
 #, c-format
 msgid "Augmentation string:"
 msgstr ""
 
-#: dwarf.c:8541
+#: dwarf.c:8860
 #, c-format
 msgid "CU table:\n"
 msgstr ""
 
-#: dwarf.c:8547 dwarf.c:8557
+#: dwarf.c:8866 dwarf.c:8876
 #, c-format
 msgid "[%3u] 0x%lx\n"
 msgstr ""
 
-#: dwarf.c:8551
+#: dwarf.c:8870
 #, c-format
 msgid "TU table:\n"
 msgstr ""
 
-#: dwarf.c:8561
+#: dwarf.c:8880
 #, c-format
 msgid "Foreign TU table:\n"
 msgstr ""
 
-#: dwarf.c:8567
+#: dwarf.c:8886
 #, c-format
 msgid "[%3u] "
 msgstr ""
 
-#: dwarf.c:8587
+#: dwarf.c:8906
 #, c-format
 msgid ""
 "Entry pool offset (0x%lx) exceeds unit size 0x%lx for unit 0x%lx in the "
 "debug_names\n"
 msgstr ""
 
-#: dwarf.c:8604
+#: dwarf.c:8923
 #, c-format
 msgid "Used %zu of %lu bucket.\n"
 msgid_plural "Used %zu of %lu buckets.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: dwarf.c:8631
+#: dwarf.c:8950
 #, c-format
 msgid ""
 "Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"
 msgstr ""
 
-#: dwarf.c:8669
+#: dwarf.c:8987
 #, c-format
 msgid "Duplicate abbreviation tag %lu in unit 0x%lx in the debug_names\n"
 msgstr ""
 
-#: dwarf.c:8695 dwarf.c:9019
+#: dwarf.c:9009 dwarf.c:9328
 #, c-format
 msgid ""
 "\n"
 "Symbol table:\n"
 msgstr ""
 
-#: dwarf.c:8748
+#: dwarf.c:9062
 #, c-format
 msgid "Undefined abbreviation tag %lu in unit 0x%lx in the debug_names\n"
 msgstr ""
 
-#: dwarf.c:8784
+#: dwarf.c:9093
 #, c-format
 msgid " <no entries>"
 msgstr ""
 
-#: dwarf.c:8816
+#: dwarf.c:9125
 msgid "The debuglink filename is corrupt/missing\n"
 msgstr ""
 
-#: dwarf.c:8820
+#: dwarf.c:9129
 #, c-format
 msgid "  Separate debug info file: %s\n"
 msgstr ""
 
-#: dwarf.c:8831
+#: dwarf.c:9140
 msgid "CRC offset missing/truncated\n"
 msgstr ""
 
-#: dwarf.c:8837
+#: dwarf.c:9146
 #, c-format
 msgid "  CRC value: %#x\n"
 msgstr ""
 
-#: dwarf.c:8841
+#: dwarf.c:9150
 #, c-format
 msgid "There are %#lx extraneous bytes at the end of the section\n"
 msgstr ""
 
-#: dwarf.c:8855
+#: dwarf.c:9164
 #, c-format
 msgid "Build-ID is too short (%#lx bytes)\n"
 msgstr ""
 
-#: dwarf.c:8859
+#: dwarf.c:9168
 #, c-format
 msgid "  Build-ID (%#lx bytes):"
 msgstr ""
 
-#: dwarf.c:8888
+#: dwarf.c:9197
 #, c-format
 msgid "Truncated header in the %s section.\n"
 msgstr ""
 
-#: dwarf.c:8899
+#: dwarf.c:9208
 #, c-format
 msgid "Unsupported version %lu.\n"
 msgstr ""
 
-#: dwarf.c:8903
+#: dwarf.c:9212
 msgid "The address table data in version 3 may be wrong.\n"
 msgstr ""
 
-#: dwarf.c:8905
+#: dwarf.c:9214
 msgid "Version 4 does not support case insensitive lookups.\n"
 msgstr ""
 
-#: dwarf.c:8907
+#: dwarf.c:9216
 msgid "Version 5 does not include inlined functions.\n"
 msgstr ""
 
-#: dwarf.c:8909
+#: dwarf.c:9218
 msgid "Version 6 does not include symbol attributes.\n"
 msgstr ""
 
-#: dwarf.c:8927
+#: dwarf.c:9236
 #, c-format
 msgid "Corrupt header in the %s section.\n"
 msgstr ""
 
-#: dwarf.c:8934
+#: dwarf.c:9243
 #, c-format
 msgid "TU offset (%x) is less than CU offset (%x)\n"
 msgstr ""
 
-#: dwarf.c:8943
+#: dwarf.c:9252
 #, c-format
 msgid "Address table offset (%x) is less than TU offset (%x)\n"
 msgstr ""
 
-#: dwarf.c:8953
+#: dwarf.c:9262
 #, c-format
 msgid "Symbol table offset (%x) is less then Address table offset (%x)\n"
 msgstr ""
 
-#: dwarf.c:8962
+#: dwarf.c:9271
 #, c-format
 msgid "Constant pool offset (%x) is less than symbol table offset (%x)\n"
 msgstr ""
 
-#: dwarf.c:8977
+#: dwarf.c:9286
 msgid "Address table extends beyond end of section.\n"
 msgstr ""
 
-#: dwarf.c:8981
+#: dwarf.c:9290
 #, c-format
 msgid ""
 "\n"
 "CU table:\n"
 msgstr ""
 
-#: dwarf.c:8987
+#: dwarf.c:9296
 #, c-format
 msgid "[%3u] 0x%lx - 0x%lx\n"
 msgstr ""
 
-#: dwarf.c:8992
+#: dwarf.c:9301
 #, c-format
 msgid ""
 "\n"
 "TU table:\n"
 msgstr ""
 
-#: dwarf.c:8999
+#: dwarf.c:9308
 #, c-format
 msgid "[%3u] 0x%lx 0x%lx "
 msgstr ""
 
-#: dwarf.c:9006
+#: dwarf.c:9315
 #, c-format
 msgid ""
 "\n"
 "Address table:\n"
 msgstr ""
 
-#: dwarf.c:9016
+#: dwarf.c:9325
 #, c-format
 msgid "%lu\n"
 msgstr ""
 
-#: dwarf.c:9036
+#: dwarf.c:9345
 #, c-format
 msgid "[%3u] <corrupt offset: %x>"
 msgstr ""
 
-#: dwarf.c:9037
+#: dwarf.c:9346
 #, c-format
 msgid "Corrupt name offset of 0x%x found for symbol table slot %d\n"
 msgstr ""
 
-#: dwarf.c:9048
+#: dwarf.c:9357
 #, c-format
 msgid "<invalid CU vector offset: %x>\n"
 msgstr ""
 
-#: dwarf.c:9049
+#: dwarf.c:9358
 #, c-format
 msgid "Corrupt CU vector offset of 0x%x found for symbol table slot %d\n"
 msgstr ""
 
-#: dwarf.c:9062
+#: dwarf.c:9371
 #, c-format
 msgid "Invalid number of CUs (0x%x) for symbol table slot %d\n"
 msgstr ""
 
-#: dwarf.c:9087
+#: dwarf.c:9396
 msgid "static"
 msgstr ""
 
-#: dwarf.c:9087
+#: dwarf.c:9396
 msgid "global"
 msgstr ""
 
-#: dwarf.c:9125 dwarf.c:9136
+#: dwarf.c:9434 dwarf.c:9445
 msgid "Internal error: out of space in the shndx pool.\n"
 msgstr ""
 
-#: dwarf.c:9200
+#: dwarf.c:9509
 #, c-format
 msgid "Section %s is empty\n"
 msgstr ""
 
-#: dwarf.c:9206
+#: dwarf.c:9515
 #, c-format
 msgid "Section %s is too small to contain a CU/TU header\n"
 msgstr ""
 
-#: dwarf.c:9224
-#, c-format
-msgid "Section %s is too small for %d slot\n"
-msgid_plural "Section %s is too small for %d slots\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: dwarf.c:9235
+#: dwarf.c:9534
 #, c-format
-msgid "  Version:                 %d\n"
+msgid "  Version:                 %u\n"
 msgstr ""
 
-#: dwarf.c:9237
+#: dwarf.c:9536
 #, c-format
-msgid "  Number of columns:       %d\n"
+msgid "  Number of columns:       %u\n"
 msgstr ""
 
-#: dwarf.c:9238
+#: dwarf.c:9537
 #, c-format
-msgid "  Number of used entries:  %d\n"
+msgid "  Number of used entries:  %u\n"
 msgstr ""
 
-#: dwarf.c:9239
+#: dwarf.c:9538
 #, c-format
 msgid ""
-"  Number of slots:         %d\n"
+"  Number of slots:         %u\n"
 "\n"
 msgstr ""
 
-#: dwarf.c:9244
+#: dwarf.c:9547
 #, c-format
-msgid "Section %s too small for %d hash table entries\n"
-msgstr ""
+msgid "Section %s is too small for %u slot\n"
+msgid_plural "Section %s is too small for %u slots\n"
+msgstr[0] ""
+msgstr[1] ""
 
-#: dwarf.c:9266
+#: dwarf.c:9571
 msgid "Section index pool located before start of section\n"
 msgstr ""
 
-#: dwarf.c:9271
+#: dwarf.c:9576
 #, c-format
 msgid "  [%3d] Signature:  0x%s  Sections: "
 msgstr ""
 
-#: dwarf.c:9278
+#: dwarf.c:9583
 #, c-format
 msgid "Section %s too small for shndx pool\n"
 msgstr ""
 
-#: dwarf.c:9320
-#, c-format
-msgid "Overlarge number of columns: %x\n"
-msgstr ""
-
-#: dwarf.c:9326
+#: dwarf.c:9631
 #, c-format
 msgid "Section %s too small for offset and size tables\n"
 msgstr ""
 
-#: dwarf.c:9333
+#: dwarf.c:9638
 #, c-format
 msgid "  Offset table\n"
 msgstr ""
 
-#: dwarf.c:9335 dwarf.c:9436
+#: dwarf.c:9640 dwarf.c:9741
 msgid "signature"
 msgstr ""
 
-#: dwarf.c:9335 dwarf.c:9436
+#: dwarf.c:9640 dwarf.c:9741
 msgid "dwo_id"
 msgstr ""
 
-#: dwarf.c:9373
+#: dwarf.c:9678
 #, c-format
 msgid "Row index (%u) is larger than number of used entries (%u)\n"
 msgstr ""
 
-#: dwarf.c:9387
+#: dwarf.c:9692
 #, c-format
 msgid "Signature (%p) extends beyond end of space in section\n"
 msgstr ""
 
-#: dwarf.c:9396
+#: dwarf.c:9701
 #, c-format
 msgid "Row index (%u) * num columns (%u) > space remaining in section\n"
 msgstr ""
 
-#: dwarf.c:9402 dwarf.c:9459
+#: dwarf.c:9707 dwarf.c:9764
 #, c-format
 msgid "  [%3d] 0x%s"
 msgstr ""
 
-#: dwarf.c:9416 dwarf.c:9472
+#: dwarf.c:9721 dwarf.c:9777
 #, c-format
 msgid "Overlarge Dwarf section index detected: %u\n"
 msgstr ""
 
-#: dwarf.c:9434
+#: dwarf.c:9739
 #, c-format
 msgid "  Size table\n"
 msgstr ""
 
-#: dwarf.c:9487
+#: dwarf.c:9792
 #, c-format
 msgid "  Unsupported version (%d)\n"
 msgstr ""
 
-#: dwarf.c:9559
+#: dwarf.c:9864
 #, c-format
 msgid "Displaying the debug contents of section %s is not yet supported.\n"
 msgstr ""
 
-#: dwarf.c:9590
+#: dwarf.c:9895
 #, c-format
 msgid ""
 "Attempt to allocate an array with an excessive number of elements: 0x%lx\n"
 msgstr ""
 
-#: dwarf.c:9608
+#: dwarf.c:9913
 #, c-format
 msgid ""
 "Attempt to re-allocate an array with an excessive number of elements: 0x%lx\n"
 msgstr ""
 
-#: dwarf.c:9624
+#: dwarf.c:9929
 #, c-format
 msgid ""
 "Attempt to allocate a zero'ed array with an excessive number of elements: 0x"
 "%lx\n"
 msgstr ""
 
-#: dwarf.c:9722
+#: dwarf.c:10027
 #, c-format
 msgid "Unable to reopen separate debug info file: %s\n"
 msgstr ""
 
-#: dwarf.c:9734
+#: dwarf.c:10039
 #, c-format
 msgid "Separate debug info file %s found, but CRC does not match - ignoring\n"
 msgstr ""
 
-#: dwarf.c:9829
+#: dwarf.c:10146
 #, c-format
 msgid "Corrupt debuglink section: %s\n"
 msgstr ""
 
-#: dwarf.c:9867
+#: dwarf.c:10184
 msgid "Out of memory"
 msgstr ""
 
 #. Failed to find the file.
-#: dwarf.c:9917
+#: dwarf.c:10239
 #, c-format
 msgid "could not find separate debug file '%s'\n"
 msgstr ""
 
-#: dwarf.c:9918 dwarf.c:9922 dwarf.c:9927 dwarf.c:9931 dwarf.c:9934
-#: dwarf.c:9937 dwarf.c:9940
+#: dwarf.c:10240 dwarf.c:10244 dwarf.c:10249 dwarf.c:10252 dwarf.c:10256
+#: dwarf.c:10259 dwarf.c:10262 dwarf.c:10265
 #, c-format
 msgid "tried: %s\n"
 msgstr ""
 
-#: dwarf.c:9952
+#: dwarf.c:10279
 #, c-format
 msgid "failed to open separate debug file: %s\n"
 msgstr ""
 
 #. FIXME: We do not check to see if there are any other separate debug info
 #. files that would also match.
-#: dwarf.c:9960
+#: dwarf.c:10287
 #, c-format
 msgid ""
 "%s: Found separate debug info file: %s\n"
 "\n"
 msgstr ""
 
-#: dwarf.c:9979
+#: dwarf.c:10307
 msgid "Out of memory allocating dwo filename\n"
 msgstr ""
 
-#: dwarf.c:9985
+#: dwarf.c:10313
 #, c-format
 msgid "Unable to load dwo file: %s\n"
 msgstr ""
 
 #. FIXME: We should check the dwo_id.
-#: dwarf.c:9992
+#: dwarf.c:10320
 #, c-format
 msgid ""
 "%s: Found separate debug object file: %s\n"
 "\n"
 msgstr ""
 
-#: dwarf.c:10024
+#: dwarf.c:10361
 #, c-format
-msgid "The %s section contains a link to a dwo file:\n"
+msgid ""
+"The %s section contains link(s) to dwo file(s):\n"
+"\n"
 msgstr ""
 
-#: dwarf.c:10026
+#: dwarf.c:10366
 #, c-format
 msgid "  Name:      %s\n"
 msgstr ""
 
-#: dwarf.c:10027
+#: dwarf.c:10367
 #, c-format
 msgid "  Directory: %s\n"
 msgstr ""
 
-#: dwarf.c:10027
+#: dwarf.c:10367
 msgid "<not-found>"
 msgstr ""
 
-#: dwarf.c:10029
+#: dwarf.c:10369
 #, c-format
 msgid "  ID:       "
 msgstr ""
 
-#: dwarf.c:10031
+#: dwarf.c:10371
 #, c-format
 msgid "  ID: <unknown>\n"
 msgstr ""
 
-#: dwarf.c:10190 dwarf.c:10232
+#: dwarf.c:10388
+msgid "Unexpected DWO INFO type"
+msgstr ""
+
+#: dwarf.c:10551 dwarf.c:10593
 #, c-format
 msgid "Unrecognized debug option '%s'\n"
 msgstr ""
 
+#: dwarf.h:263
+msgid "LEB end of data\n"
+msgstr ""
+
+#: dwarf.h:265
+msgid "LEB value too large\n"
+msgstr ""
+
 #: elfcomm.c:42
 #, c-format
 msgid "%s: Error: "
@@ -4057,7 +4069,7 @@ msgstr ""
 
 #. PR 24049 - we cannot use filedata->file_name as this will
 #. have already been freed.
-#: elfcomm.c:640 elfcomm.c:867 elfedit.c:584 readelf.c:19511
+#: elfcomm.c:640 elfcomm.c:867 elfedit.c:587 readelf.c:20078
 #, c-format
 msgid "%s: failed to read archive header\n"
 msgstr ""
@@ -4104,7 +4116,7 @@ msgstr ""
 msgid "%s: failed to seek to next file name\n"
 msgstr ""
 
-#: elfcomm.c:872 elfedit.c:591 readelf.c:19518
+#: elfcomm.c:872 elfedit.c:594 readelf.c:20085
 #, c-format
 msgid "%s: did not find a valid archive header\n"
 msgstr ""
@@ -4129,128 +4141,133 @@ msgstr ""
 msgid "%s: Invalid PT_NOTE segment\n"
 msgstr ""
 
-#: elfedit.c:309
+#: elfedit.c:264
+#, c-format
+msgid "Unknown x86 feature: %s\n"
+msgstr ""
+
+#: elfedit.c:312
 #, c-format
 msgid "%s: Unsupported EI_VERSION: %d is not %d\n"
 msgstr ""
 
-#: elfedit.c:330
+#: elfedit.c:333
 #, c-format
 msgid "%s: Unmatched input EI_CLASS: %d is not %d\n"
 msgstr ""
 
-#: elfedit.c:339
+#: elfedit.c:342
 #, c-format
 msgid "%s: Unmatched output EI_CLASS: %d is not %d\n"
 msgstr ""
 
-#: elfedit.c:348
+#: elfedit.c:351
 #, c-format
 msgid "%s: Unmatched e_machine: %d is not %d\n"
 msgstr ""
 
-#: elfedit.c:359
+#: elfedit.c:362
 #, c-format
 msgid "%s: Unmatched e_type: %d is not %d\n"
 msgstr ""
 
-#: elfedit.c:370
+#: elfedit.c:373
 #, c-format
 msgid "%s: Unmatched EI_OSABI: %d is not %d\n"
 msgstr ""
 
-#: elfedit.c:403
+#: elfedit.c:406
 #, c-format
 msgid "%s: Failed to update ELF header: %s\n"
 msgstr ""
 
-#: elfedit.c:473
+#: elfedit.c:476
 msgid ""
 "This executable has been built without support for a\n"
 "64 bit data type and so it cannot process 64 bit ELF files.\n"
 msgstr ""
 
-#: elfedit.c:514
+#: elfedit.c:517
 #, c-format
 msgid "%s: Failed to read ELF header\n"
 msgstr ""
 
-#: elfedit.c:521
+#: elfedit.c:524
 #, c-format
 msgid "%s: Failed to seek to ELF header\n"
 msgstr ""
 
-#: elfedit.c:575 readelf.c:19501
+#: elfedit.c:578 readelf.c:20068
 #, c-format
 msgid "%s: failed to seek to next archive header\n"
 msgstr ""
 
-#: elfedit.c:606 elfedit.c:615 readelf.c:19532 readelf.c:19541
+#: elfedit.c:609 elfedit.c:618 readelf.c:20099 readelf.c:20108
 #, c-format
 msgid "%s: bad archive file name\n"
 msgstr ""
 
-#: elfedit.c:635 elfedit.c:727
+#: elfedit.c:638 elfedit.c:730
 #, c-format
 msgid "Input file '%s' is not readable\n"
 msgstr ""
 
-#: elfedit.c:659
+#: elfedit.c:662
 #, c-format
 msgid "%s: failed to seek to archive member\n"
 msgstr ""
 
-#: elfedit.c:698 readelf.c:19650
+#: elfedit.c:701 readelf.c:20217
 #, c-format
 msgid "'%s': No such file\n"
 msgstr ""
 
-#: elfedit.c:700 readelf.c:19652
+#: elfedit.c:703 readelf.c:20219
 #, c-format
 msgid "Could not locate '%s'.  System error message: %s\n"
 msgstr ""
 
-#: elfedit.c:707 readelf.c:19659
+#: elfedit.c:710 readelf.c:20226
 #, c-format
 msgid "'%s' is not an ordinary file\n"
 msgstr ""
 
-#: elfedit.c:733 readelf.c:19681
+#: elfedit.c:736 readelf.c:20248
 #, c-format
 msgid "%s: Failed to read file's magic number\n"
 msgstr ""
 
-#: elfedit.c:797
+#: elfedit.c:800
 #, c-format
 msgid "Unknown OSABI: %s\n"
 msgstr ""
 
-#: elfedit.c:822
+#: elfedit.c:825
 #, c-format
 msgid "Unknown machine type: %s\n"
 msgstr ""
 
-#: elfedit.c:841
+#: elfedit.c:844
 #, c-format
 msgid "Unknown type: %s\n"
 msgstr ""
 
-#: elfedit.c:882
+#: elfedit.c:885
 #, c-format
 msgid "Usage: %s <option(s)> elffile(s)\n"
 msgstr ""
 
-#: elfedit.c:884
+#: elfedit.c:887
 #, c-format
 msgid " Update the ELF header of ELF files\n"
 msgstr ""
 
-#: elfedit.c:885 objcopy.c:539 objcopy.c:675 strings.c:700
+#: elfedit.c:888 objcopy.c:560 objcopy.c:700 strings.c:700
 #, c-format
 msgid " The options are:\n"
 msgstr ""
 
-#: elfedit.c:886
+#: elfedit.c:889
 #, c-format
 msgid ""
 "  --input-mach <machine>      Set input machine type to <machine>\n"
@@ -4261,7 +4278,7 @@ msgid ""
 "  --output-osabi <osabi>      Set output OSABI to <osabi>\n"
 msgstr ""
 
-#: elfedit.c:894
+#: elfedit.c:897
 #, c-format
 msgid ""
 "  --enable-x86-feature <feature>\n"
@@ -4270,7 +4287,7 @@ msgid ""
 "                              Disable x86 feature <feature>\n"
 msgstr ""
 
-#: elfedit.c:900
+#: elfedit.c:903
 #, c-format
 msgid ""
 "  -h --help                   Display this information\n"
@@ -4301,17 +4318,17 @@ msgstr ""
 msgid "Duplicate symbol entered into keyword list."
 msgstr ""
 
-#: nm.c:248 size.c:76 strings.c:698
+#: nm.c:239 size.c:88 strings.c:698
 #, c-format
 msgid "Usage: %s [option(s)] [file(s)]\n"
 msgstr ""
 
-#: nm.c:249
+#: nm.c:240
 #, c-format
 msgid " List symbols in [file(s)] (a.out by default).\n"
 msgstr ""
 
-#: nm.c:250
+#: nm.c:241
 #, c-format
 msgid ""
 " The options are:\n"
@@ -4345,12 +4362,12 @@ msgid ""
 "  -r, --reverse-sort     Reverse the sense of the sort\n"
 msgstr ""
 
-#: nm.c:275
+#: nm.c:266
 #, c-format
 msgid "      --plugin NAME      Load the specified plugin\n"
 msgstr ""
 
-#: nm.c:278
+#: nm.c:269
 #, c-format
 msgid ""
 "  -S, --print-size       Print size of defined symbols\n"
@@ -4369,49 +4386,49 @@ msgid ""
 "\n"
 msgstr ""
 
-#: nm.c:327
+#: nm.c:302
 #, c-format
 msgid "%s: invalid radix"
 msgstr ""
 
-#: nm.c:351
+#: nm.c:328
 #, c-format
 msgid "%s: invalid output format"
 msgstr ""
 
-#: nm.c:375 readelf.c:10957 readelf.c:11002
+#: nm.c:353 readelf.c:11101 readelf.c:11144
 #, c-format
 msgid "<processor specific>: %d"
 msgstr ""
 
-#: nm.c:377 readelf.c:10966 readelf.c:11021
+#: nm.c:355 readelf.c:11108 readelf.c:11161
 #, c-format
 msgid "<OS specific>: %d"
 msgstr ""
 
-#: nm.c:379 readelf.c:10969 readelf.c:11024
+#: nm.c:357 readelf.c:11111 readelf.c:11164
 #, c-format
 msgid "<unknown>: %d"
 msgstr ""
 
-#: nm.c:409
+#: nm.c:387
 #, c-format
 msgid "<unknown>: %d/%d"
 msgstr ""
 
-#: nm.c:450
+#: nm.c:428
 #, c-format
 msgid ""
 "\n"
 "Archive index:\n"
 msgstr ""
 
-#: nm.c:497
+#: nm.c:482 nm.c:1181
 #, c-format
 msgid "%s: plugin needed to handle lto object"
 msgstr ""
 
-#: nm.c:1376
+#: nm.c:1418
 #, c-format
 msgid ""
 "\n"
@@ -4420,7 +4437,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: nm.c:1378
+#: nm.c:1420
 #, c-format
 msgid ""
 "\n"
@@ -4429,7 +4446,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: nm.c:1380 nm.c:1431
+#: nm.c:1422 nm.c:1473
 #, c-format
 msgid ""
 "Name                  Value   Class        Type         Size     Line  "
@@ -4437,7 +4454,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: nm.c:1383 nm.c:1434
+#: nm.c:1425 nm.c:1476
 #, c-format
 msgid ""
 "Name                  Value           Class        Type         "
@@ -4445,7 +4462,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: nm.c:1427
+#: nm.c:1469
 #, c-format
 msgid ""
 "\n"
@@ -4454,7 +4471,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: nm.c:1429
+#: nm.c:1471
 #, c-format
 msgid ""
 "\n"
@@ -4463,34 +4480,34 @@ msgid ""
 "\n"
 msgstr ""
 
-#: nm.c:1521
+#: nm.c:1563
 #, c-format
 msgid "Print width has not been initialized (%d)"
 msgstr ""
 
-#: nm.c:1770
+#: nm.c:1812
 msgid "Only -X 32_64 is supported"
 msgstr ""
 
-#: nm.c:1798
+#: nm.c:1840
 msgid "Using the --size-sort and --undefined-only options together"
 msgstr ""
 
-#: nm.c:1799
+#: nm.c:1841
 msgid "will produce no output, since undefined symbols have no size."
 msgstr ""
 
-#: objcopy.c:537 srconv.c:1695
+#: objcopy.c:558 srconv.c:1695
 #, c-format
 msgid "Usage: %s [option(s)] in-file [out-file]\n"
 msgstr ""
 
-#: objcopy.c:538
+#: objcopy.c:559
 #, c-format
 msgid " Copies a binary file, possibly transforming it in the process\n"
 msgstr ""
 
-#: objcopy.c:540
+#: objcopy.c:561
 #, c-format
 msgid ""
 "  -I --input-target <bfdname>      Assume input file is in format <bfdname>\n"
@@ -4505,7 +4522,7 @@ msgid ""
 "output\n"
 msgstr ""
 
-#: objcopy.c:548 objcopy.c:683
+#: objcopy.c:569 objcopy.c:708
 #, c-format
 msgid ""
 "  -D --enable-deterministic-archives\n"
@@ -4515,7 +4532,7 @@ msgid ""
 "                                   Disable -D behavior\n"
 msgstr ""
 
-#: objcopy.c:554 objcopy.c:689
+#: objcopy.c:575 objcopy.c:714
 #, c-format
 msgid ""
 "  -D --enable-deterministic-archives\n"
@@ -4525,7 +4542,7 @@ msgid ""
 "                                   Disable -D behavior (default)\n"
 msgstr ""
 
-#: objcopy.c:559
+#: objcopy.c:580
 #, c-format
 msgid ""
 "  -j --only-section <name>         Only copy section <name> into the output\n"
@@ -4548,6 +4565,7 @@ msgid ""
 "information\n"
 "     --extract-dwo                 Copy only DWO sections\n"
 "     --extract-symbol              Remove section contents but keep symbols\n"
+"     --keep-section <name>         Do not strip section <name>\n"
 "  -K --keep-symbol <name>          Do not strip symbol <name>\n"
 "     --keep-file-symbols           Do not strip file symbol(s)\n"
 "     --localize-hidden             Turn all ELF hidden symbols into locals\n"
@@ -4590,6 +4608,9 @@ msgid ""
 "     --set-section-flags <name>=<flags>\n"
 "                                   Set section <name>'s properties to "
 "<flags>\n"
+"     --set-section-alignment <name>=<align>\n"
+"                                   Set section <name>'s alignment to <align> "
+"bytes\n"
 "     --add-section <name>=<file>   Add section <name> found in <file> to "
 "output\n"
 "     --update-section <name>=<file>\n"
@@ -4656,6 +4677,8 @@ msgid ""
 "     --elf-stt-common=[yes|no]     Generate ELF common symbols with "
 "STT_COMMON\n"
 "                                     type\n"
+"     --verilog-data-width <number> Specifies data width, in bytes, for "
+"verilog output\n"
 "  -M  --merge-notes                Remove redundant entries in note "
 "sections\n"
 "      --no-merge-notes             Do not attempt to remove redundant notes "
@@ -4668,17 +4691,17 @@ msgid ""
 "supported\n"
 msgstr ""
 
-#: objcopy.c:673
+#: objcopy.c:698
 #, c-format
 msgid "Usage: %s <option(s)> in-file(s)\n"
 msgstr ""
 
-#: objcopy.c:674
+#: objcopy.c:699
 #, c-format
 msgid " Removes symbols and sections from files\n"
 msgstr ""
 
-#: objcopy.c:676
+#: objcopy.c:701
 #, c-format
 msgid ""
 "  -I --input-target=<bfdname>      Assume input file is in format <bfdname>\n"
@@ -4690,7 +4713,7 @@ msgid ""
 "output\n"
 msgstr ""
 
-#: objcopy.c:694
+#: objcopy.c:719
 #, c-format
 msgid ""
 "  -R --remove-section=<name>       Also remove section <name> from the "
@@ -4708,6 +4731,7 @@ msgid ""
 "(default)\n"
 "      --no-merge-notes             Do not attempt to remove redundant notes\n"
 "  -N --strip-symbol=<name>         Do not copy symbol <name>\n"
+"     --keep-section=<name>         Do not strip section <name>\n"
 "  -K --keep-symbol=<name>          Do not strip symbol <name>\n"
 "     --keep-file-symbols           Do not strip file symbol(s)\n"
 "  -w --wildcard                    Permit wildcard in symbol comparison\n"
@@ -4721,524 +4745,575 @@ msgid ""
 "  -o <file>                        Place stripped output into <file>\n"
 msgstr ""
 
-#: objcopy.c:769
+#: objcopy.c:795
 #, c-format
 msgid "unrecognized section flag `%s'"
 msgstr ""
 
-#: objcopy.c:770 objcopy.c:842
+#: objcopy.c:796 objcopy.c:868
 #, c-format
 msgid "supported flags: %s"
 msgstr ""
 
-#: objcopy.c:841
+#: objcopy.c:867
 #, c-format
 msgid "unrecognized symbol flag `%s'"
 msgstr ""
 
-#: objcopy.c:900
+#: objcopy.c:926
 #, c-format
 msgid "error: %s both copied and removed"
 msgstr ""
 
-#: objcopy.c:906
+#: objcopy.c:932
 #, c-format
 msgid "error: %s both sets and alters VMA"
 msgstr ""
 
-#: objcopy.c:912
+#: objcopy.c:938
 #, c-format
 msgid "error: %s both sets and alters LMA"
 msgstr ""
 
-#: objcopy.c:1063
+#: objcopy.c:1090
 #, c-format
 msgid "cannot open '%s': %s"
 msgstr ""
 
-#: objcopy.c:1066 objcopy.c:4742
+#: objcopy.c:1093 objcopy.c:4966
 #, c-format
 msgid "%s: fread failed"
 msgstr ""
 
-#: objcopy.c:1139
+#: objcopy.c:1166
 #, c-format
 msgid "%s:%d: Ignoring rubbish found on this line"
 msgstr ""
 
-#: objcopy.c:1304
+#: objcopy.c:1335
 #, c-format
 msgid "error: section %s matches both remove and copy options"
 msgstr ""
 
-#: objcopy.c:1307
+#: objcopy.c:1338
 #, c-format
 msgid "error: section %s matches both update and remove options"
 msgstr ""
 
-#: objcopy.c:1460
+#: objcopy.c:1491
 #, c-format
 msgid "Section %s not found"
 msgstr ""
 
-#: objcopy.c:1608
+#: objcopy.c:1639
 #, c-format
 msgid "not stripping symbol `%s' because it is named in a relocation"
 msgstr ""
 
-#: objcopy.c:1668
+#: objcopy.c:1699
 #, c-format
 msgid "'before=%s' not found"
 msgstr ""
 
-#: objcopy.c:1707
+#: objcopy.c:1738
 #, c-format
 msgid "%s: Multiple redefinition of symbol \"%s\""
 msgstr ""
 
-#: objcopy.c:1711
+#: objcopy.c:1742
 #, c-format
 msgid "%s: Symbol \"%s\" is target of more than one redefinition"
 msgstr ""
 
-#: objcopy.c:1738
+#: objcopy.c:1769
 #, c-format
 msgid "couldn't open symbol redefinition file %s (error: %s)"
 msgstr ""
 
-#: objcopy.c:1816
+#: objcopy.c:1847
 #, c-format
 msgid "%s:%d: garbage found at end of line"
 msgstr ""
 
-#: objcopy.c:1819
+#: objcopy.c:1850
 #, c-format
 msgid "%s:%d: missing new symbol name"
 msgstr ""
 
-#: objcopy.c:1829
+#: objcopy.c:1860
 #, c-format
 msgid "%s:%d: premature end of file"
 msgstr ""
 
-#: objcopy.c:1856
+#: objcopy.c:1887
 #, c-format
 msgid "stat returns negative size for `%s'"
 msgstr ""
 
-#: objcopy.c:1868
+#: objcopy.c:1899
 #, c-format
 msgid "copy from `%s' [unknown] to `%s' [unknown]\n"
 msgstr ""
 
-#: objcopy.c:2021
+#: objcopy.c:2144
+#, c-format
+msgid "%s[%s]: Cannot merge - there are relocations against this section"
+msgstr ""
+
+#: objcopy.c:2166
+msgid "corrupt GNU build attribute note: description size not a factor of 4"
+msgstr ""
+
+#: objcopy.c:2173
 msgid "corrupt GNU build attribute note: wrong note type"
 msgstr ""
 
-#: objcopy.c:2027
+#: objcopy.c:2179
 msgid "corrupt GNU build attribute note: note too big"
 msgstr ""
 
-#: objcopy.c:2033
+#: objcopy.c:2185
 msgid "corrupt GNU build attribute note: name too small"
 msgstr ""
 
-#: objcopy.c:2060
+#: objcopy.c:2208
 msgid "corrupt GNU build attribute note: unsupported version"
 msgstr ""
 
-#: objcopy.c:2109
+#: objcopy.c:2257
 msgid "corrupt GNU build attribute note: bad description size"
 msgstr ""
 
-#: objcopy.c:2140
+#: objcopy.c:2288
 msgid "corrupt GNU build attribute note: name not NUL terminated"
 msgstr ""
 
-#: objcopy.c:2152
+#: objcopy.c:2300
 msgid "corrupt GNU build attribute notes: excess data at end"
 msgstr ""
 
-#: objcopy.c:2158
+#: objcopy.c:2307
 msgid "bad GNU build attribute notes: no known versions detected"
 msgstr ""
 
-#: objcopy.c:2166
-msgid "bad GNU build attribute notes: multiple different versions"
+#. This happens with glibc.  No idea why.
+#: objcopy.c:2311
+#, c-format
+msgid "%s[%s]: Warning: version note missing - assuming version 3"
 msgstr ""
 
-#: objcopy.c:2180
-msgid "bad GNU build attribute notes: first note not version note"
+#: objcopy.c:2321
+msgid "bad GNU build attribute notes: multiple different versions"
 msgstr ""
 
 #. PR 17636: Call non-fatal so that we return to our parent who
 #. may need to tidy temporary files.
-#: objcopy.c:2473
+#: objcopy.c:2576
 msgid "Unable to change endianness of input file(s)"
 msgstr ""
 
-#: objcopy.c:2485
+#: objcopy.c:2588
 #, c-format
 msgid "error: the input file '%s' has no sections"
 msgstr ""
 
-#: objcopy.c:2495
+#: objcopy.c:2598
 #, c-format
 msgid ""
 "--compress-debug-sections=[zlib|zlib-gnu|zlib-gabi] is unsupported on `%s'"
 msgstr ""
 
-#: objcopy.c:2502
+#: objcopy.c:2605
 #, c-format
 msgid "--elf-stt-common=[yes|no] is unsupported on `%s'"
 msgstr ""
 
-#: objcopy.c:2509
+#: objcopy.c:2612
 #, c-format
 msgid "copy from `%s' [%s] to `%s' [%s]\n"
 msgstr ""
 
-#: objcopy.c:2558
+#: objcopy.c:2660
 #, c-format
 msgid "Input file `%s' ignores binary architecture parameter."
 msgstr ""
 
-#: objcopy.c:2566
+#: objcopy.c:2676
 #, c-format
 msgid "Unable to recognise the format of the input file `%s'"
 msgstr ""
 
-#: objcopy.c:2569
+#: objcopy.c:2679
 #, c-format
 msgid "Output file cannot represent architecture `%s'"
 msgstr ""
 
-#: objcopy.c:2632
+#: objcopy.c:2742
 #, c-format
 msgid "warning: file alignment (0x%s) > section alignment (0x%s)"
 msgstr ""
 
-#: objcopy.c:2698
+#: objcopy.c:2808
 #, c-format
 msgid "can't add section '%s'"
 msgstr ""
 
-#: objcopy.c:2712
+#: objcopy.c:2822
 #, c-format
 msgid "can't create section `%s'"
 msgstr ""
 
-#: objcopy.c:2761
+#: objcopy.c:2870
 #, c-format
 msgid "error: %s not found, can't be updated"
 msgstr ""
 
-#: objcopy.c:2786
+#: objcopy.c:2903
 msgid "warning: note section is empty"
 msgstr ""
 
-#: objcopy.c:2791
+#: objcopy.c:2912
 msgid "warning: could not load note section"
 msgstr ""
 
-#: objcopy.c:2812
+#: objcopy.c:2928
 msgid "warning: failed to set merged notes size"
 msgstr ""
 
-#: objcopy.c:2833
+#: objcopy.c:2951
 #, c-format
 msgid "can't dump section '%s' - it does not exist"
 msgstr ""
 
-#: objcopy.c:2841
+#: objcopy.c:2959
 msgid "can't dump section - it has no contents"
 msgstr ""
 
-#: objcopy.c:2849
+#: objcopy.c:2967
 msgid "can't dump section - it is empty"
 msgstr ""
 
-#: objcopy.c:2858
+#: objcopy.c:2976
 msgid "could not open section dump file"
 msgstr ""
 
-#: objcopy.c:2867
+#: objcopy.c:2985
 #, c-format
 msgid "error writing section contents to %s (error: %s)"
 msgstr ""
 
-#: objcopy.c:2877
+#: objcopy.c:2995
 msgid "could not retrieve section contents"
 msgstr ""
 
-#: objcopy.c:2891
+#: objcopy.c:3009
 #, c-format
 msgid "%s: debuglink section already exists"
 msgstr ""
 
-#: objcopy.c:2903
+#: objcopy.c:3021
 #, c-format
 msgid "cannot create debug link section `%s'"
 msgstr ""
 
-#: objcopy.c:2995
+#: objcopy.c:3113
 msgid "Can't fill gap after section"
 msgstr ""
 
-#: objcopy.c:3019
+#: objcopy.c:3136
 msgid "can't add padding"
 msgstr ""
 
-#: objcopy.c:3152
+#: objcopy.c:3291
+msgid "error: failed to locate merged notes"
+msgstr ""
+
+#: objcopy.c:3300
+msgid "error: failed to merge notes"
+msgstr ""
+
+#: objcopy.c:3309
 msgid "error: failed to copy merged notes into output"
 msgstr ""
 
-#: objcopy.c:3157
-msgid "could not find any mergeable note sections"
+#: objcopy.c:3326
+#, c-format
+msgid "%s: Could not find any mergeable note sections"
 msgstr ""
 
-#: objcopy.c:3169
+#: objcopy.c:3335
 #, c-format
 msgid "cannot fill debug link section `%s'"
 msgstr ""
 
-#: objcopy.c:3231
+#: objcopy.c:3397
 msgid "error copying private BFD data"
 msgstr ""
 
-#: objcopy.c:3242
+#: objcopy.c:3408
 #, c-format
 msgid "this target does not support %lu alternative machine codes"
 msgstr ""
 
-#: objcopy.c:3246
+#: objcopy.c:3412
 msgid "treating that number as an absolute e_machine value instead"
 msgstr ""
 
-#: objcopy.c:3250
+#: objcopy.c:3416
 msgid "ignoring the alternative value"
 msgstr ""
 
-#: objcopy.c:3282 objcopy.c:3337
+#: objcopy.c:3462
+msgid "sorry: copying thin archives is not currently supported"
+msgstr ""
+
+#: objcopy.c:3469 objcopy.c:3524
 #, c-format
 msgid "cannot create tempdir for archive copying (error: %s)"
 msgstr ""
 
-#: objcopy.c:3370
+#: objcopy.c:3506
+#, c-format
+msgid "illegal pathname found in archive member: %s"
+msgstr ""
+
+#: objcopy.c:3557
 msgid "Unable to recognise the format of file"
 msgstr ""
 
-#: objcopy.c:3503
+#: objcopy.c:3690
 #, c-format
 msgid "error: the input file '%s' is empty"
 msgstr ""
 
-#: objcopy.c:3671
+#: objcopy.c:3763
+#, c-format
+msgid "--add-gnu-debuglink ignored for archive %s"
+msgstr ""
+
+#: objcopy.c:3866
 #, c-format
 msgid "Multiple renames of section %s"
 msgstr ""
 
-#: objcopy.c:3717
+#: objcopy.c:3912
 msgid "error in private header data"
 msgstr ""
 
-#: objcopy.c:3795
+#: objcopy.c:3996
 msgid "failed to create output section"
 msgstr ""
 
-#: objcopy.c:3810
+#: objcopy.c:4011
 msgid "failed to set size"
 msgstr ""
 
-#: objcopy.c:3829
+#: objcopy.c:4030
 msgid "failed to set vma"
 msgstr ""
 
-#: objcopy.c:3854
+#: objcopy.c:4060
 msgid "failed to set alignment"
 msgstr ""
 
-#: objcopy.c:3886
+#: objcopy.c:4092
 msgid "failed to copy private data"
 msgstr ""
 
-#: objcopy.c:4043
+#: objcopy.c:4249
 msgid "relocation count is negative"
 msgstr ""
 
 #. User must pad the section up in order to do this.
-#: objcopy.c:4140
+#: objcopy.c:4346
 #, c-format
 msgid ""
 "cannot reverse bytes: length of section %s must be evenly divisible by %d"
 msgstr ""
 
-#: objcopy.c:4345
+#: objcopy.c:4555
 msgid "can't create debugging section"
 msgstr ""
 
-#: objcopy.c:4359
+#: objcopy.c:4569
 msgid "can't set debugging section contents"
 msgstr ""
 
-#: objcopy.c:4368
+#: objcopy.c:4578
 #, c-format
 msgid "don't know how to write debugging information for %s"
 msgstr ""
 
-#: objcopy.c:4539
+#: objcopy.c:4763
 msgid "could not create temporary file to hold stripped copy"
 msgstr ""
 
-#: objcopy.c:4611
+#: objcopy.c:4835
 #, c-format
 msgid "%s: bad version in PE subsystem"
 msgstr ""
 
-#: objcopy.c:4641
+#: objcopy.c:4865
 #, c-format
 msgid "unknown PE subsystem: %s"
 msgstr ""
 
-#: objcopy.c:4695 objcopy.c:4961 objcopy.c:5041 objcopy.c:5182 objcopy.c:5214
-#: objcopy.c:5237 objcopy.c:5241 objcopy.c:5261
+#: objcopy.c:4919 objcopy.c:5189 objcopy.c:5269 objcopy.c:5410 objcopy.c:5442
+#: objcopy.c:5505 objcopy.c:5509 objcopy.c:5529
 #, c-format
 msgid "bad format for %s"
 msgstr ""
 
-#: objcopy.c:4724
+#: objcopy.c:4948
 #, c-format
 msgid "cannot open: %s: %s"
 msgstr ""
 
-#: objcopy.c:4777
+#: objcopy.c:5001
 msgid "byte number must be non-negative"
 msgstr ""
 
-#: objcopy.c:4783
+#: objcopy.c:5007
 #, c-format
 msgid "architecture %s unknown"
 msgstr ""
 
-#: objcopy.c:4791
+#: objcopy.c:5015
 msgid "interleave must be positive"
 msgstr ""
 
-#: objcopy.c:4800
+#: objcopy.c:5024
 msgid "interleave width must be positive"
 msgstr ""
 
-#: objcopy.c:5114
+#: objcopy.c:5342
 #, c-format
 msgid "unrecognized --compress-debug-sections type `%s'"
 msgstr ""
 
-#: objcopy.c:5135
+#: objcopy.c:5363
 #, c-format
 msgid "unrecognized --elf-stt-common= option `%s'"
 msgstr ""
 
-#: objcopy.c:5151
+#: objcopy.c:5379
 #, c-format
 msgid "Warning: truncating gap-fill from 0x%s to 0x%x"
 msgstr ""
 
-#: objcopy.c:5316
+#: objcopy.c:5465
+msgid "bad format for --set-section-alignment: argument needed"
+msgstr ""
+
+#: objcopy.c:5469
+msgid "bad format for --set-section-alignment: numeric argument needed"
+msgstr ""
+
+#. Number has more than on 1, i.e. wasn't a power of 2.
+#: objcopy.c:5481
+msgid "bad format for --set-section-alignment: alignment is not a power of two"
+msgstr ""
+
+#: objcopy.c:5584
 #, c-format
 msgid "unknown long section names option '%s'"
 msgstr ""
 
-#: objcopy.c:5339
+#: objcopy.c:5607
 msgid "unable to parse alternative machine code"
 msgstr ""
 
-#: objcopy.c:5388
+#: objcopy.c:5656
 msgid "number of bytes to reverse must be positive and even"
 msgstr ""
 
-#: objcopy.c:5391
+#: objcopy.c:5659
 #, c-format
 msgid "Warning: ignoring previous --reverse-bytes value of %d"
 msgstr ""
 
-#: objcopy.c:5406
+#: objcopy.c:5674
 #, c-format
 msgid "%s: invalid reserve value for --heap"
 msgstr ""
 
-#: objcopy.c:5412
+#: objcopy.c:5680
 #, c-format
 msgid "%s: invalid commit value for --heap"
 msgstr ""
 
-#: objcopy.c:5437
+#: objcopy.c:5705
 #, c-format
 msgid "%s: invalid reserve value for --stack"
 msgstr ""
 
-#: objcopy.c:5443
+#: objcopy.c:5711
 #, c-format
 msgid "%s: invalid commit value for --stack"
 msgstr ""
 
-#: objcopy.c:5463
+#: objcopy.c:5720
+msgid "verilog data width must be at least 1 byte"
+msgstr ""
+
+#: objcopy.c:5737
 msgid "--globalize-symbol(s) is incompatible with -G/--keep-global-symbol(s)"
 msgstr ""
 
-#: objcopy.c:5475
+#: objcopy.c:5749
 msgid "interleave start byte must be set with --byte"
 msgstr ""
 
-#: objcopy.c:5478
+#: objcopy.c:5752
 msgid "byte number must be less than interleave"
 msgstr ""
 
-#: objcopy.c:5481
+#: objcopy.c:5755
 msgid "interleave width must be less than or equal to interleave - byte`"
 msgstr ""
 
-#: objcopy.c:5510
+#: objcopy.c:5784
 #, c-format
 msgid "unknown input EFI target: %s"
 msgstr ""
 
-#: objcopy.c:5541
+#: objcopy.c:5815
 #, c-format
 msgid "unknown output EFI target: %s"
 msgstr ""
 
-#: objcopy.c:5554
+#: objcopy.c:5828
 #, c-format
 msgid "warning: could not locate '%s'.  System error message: %s"
 msgstr ""
 
-#: objcopy.c:5566
+#: objcopy.c:5840
 #, c-format
 msgid ""
 "warning: could not create temporary file whilst copying '%s', (error: %s)"
 msgstr ""
 
-#: objcopy.c:5599 objcopy.c:5613
+#: objcopy.c:5873 objcopy.c:5887
 #, c-format
 msgid "%s %s%c0x%s never used"
 msgstr ""
 
-#: objdump.c:204
+#: objdump.c:206
 #, c-format
 msgid "Usage: %s <option(s)> <file(s)>\n"
 msgstr ""
 
-#: objdump.c:205
+#: objdump.c:207
 #, c-format
 msgid " Display information from object <file(s)>.\n"
 msgstr ""
 
-#: objdump.c:206
+#: objdump.c:208
 #, c-format
 msgid " At least one of the following switches must be given:\n"
 msgstr ""
 
-#: objdump.c:207
+#: objdump.c:209
 #, c-format
 msgid ""
 "  -a, --archive-headers    Display archive header information\n"
@@ -5253,6 +5328,7 @@ msgid ""
 "  -D, --disassemble-all    Display assembler contents of all sections\n"
 "      --disassemble=<sym>  Display assembler contents from <sym>\n"
 "  -S, --source             Intermix source code with disassembly\n"
+"      --source-comment[=<txt>] Prefix lines of source code with <txt>\n"
 "  -s, --full-contents      Display the full contents of all sections "
 "requested\n"
 "  -g, --debugging          Display debug information in object file\n"
@@ -5265,6 +5341,7 @@ msgid ""
 "          =gdb_index,=trace_info,=trace_abbrev,=trace_aranges,\n"
 "          =addr,=cu_index,=links,=follow-links]\n"
 "                           Display DWARF info in the file\n"
+"  --ctf=SECTION            Display CTF info from SECTION\n"
 "  -t, --syms               Display the contents of the symbol table(s)\n"
 "  -T, --dynamic-syms       Display the contents of the dynamic symbol table\n"
 "  -r, --reloc              Display the relocation entries in the file\n"
@@ -5276,14 +5353,14 @@ msgid ""
 "  -H, --help               Display this information\n"
 msgstr ""
 
-#: objdump.c:241
+#: objdump.c:245
 #, c-format
 msgid ""
 "\n"
 " The following switches are optional:\n"
 msgstr ""
 
-#: objdump.c:242
+#: objdump.c:246
 #, c-format
 msgid ""
 "  -b, --target=BFDNAME           Specify the target object format as "
@@ -5316,7 +5393,7 @@ msgid ""
 "  -z, --disassemble-zeroes       Do not skip blocks of zeroes when "
 "disassembling\n"
 "      --start-address=ADDR       Only process data whose address is >= ADDR\n"
-"      --stop-address=ADDR        Only process data whose address is <= ADDR\n"
+"      --stop-address=ADDR        Only process data whose address is < ADDR\n"
 "      --prefix-addresses         Print complete address alongside "
 "disassembly\n"
 "      --[no-]show-raw-insn       Display hex alongside symbolic disassembly\n"
@@ -5331,7 +5408,7 @@ msgid ""
 "      --prefix-strip=LEVEL       Strip initial directory names for -S\n"
 msgstr ""
 
-#: objdump.c:271
+#: objdump.c:275
 #, c-format
 msgid ""
 "      --dwarf-depth=N        Do not display DIEs at depth N or greater\n"
@@ -5340,235 +5417,268 @@ msgid ""
 "                             or deeper\n"
 "      --dwarf-check          Make additional dwarf internal consistency "
 "checks.      \n"
+"      --ctf-parent=SECTION     Use SECTION as the CTF parent\n"
 "\n"
 msgstr ""
 
-#: objdump.c:285
+#: objdump.c:290
 #, c-format
 msgid ""
 "\n"
 "Options supported for -P/--private switch:\n"
 msgstr ""
 
-#: objdump.c:508
+#: objdump.c:519
 #, c-format
 msgid "section '%s' mentioned in a -j option, but not found in any input file"
 msgstr ""
 
-#: objdump.c:659
+#: objdump.c:674
 #, c-format
 msgid "Sections:\n"
 msgstr ""
 
-#: objdump.c:665
+#: objdump.c:680
 #, c-format
 msgid "Idx %-*s Size      %-*s%-*sFile off  Algn"
 msgstr ""
 
-#: objdump.c:671
+#: objdump.c:686
 #, c-format
 msgid "  Flags"
 msgstr ""
 
-#: objdump.c:693
+#: objdump.c:708
 #, c-format
 msgid "failed to read symbol table from: %s"
 msgstr ""
 
-#: objdump.c:694 objdump.c:3675
+#: objdump.c:709 objdump.c:3862
 msgid "error message was"
 msgstr ""
 
-#: objdump.c:718
+#: objdump.c:723
+#, c-format
+msgid "error: symbol table size (%#lx) is larger than filesize (%#lx)"
+msgstr ""
+
+#: objdump.c:752
 #, c-format
 msgid "%s: not a dynamic object"
 msgstr ""
 
-#: objdump.c:1265 objdump.c:1289
+#: objdump.c:1338 objdump.c:1362
 #, c-format
 msgid " (File Offset: 0x%lx)"
 msgstr ""
 
-#: objdump.c:1531
+#: objdump.c:1605
 #, c-format
 msgid "source file %s is more recent than object file\n"
 msgstr ""
 
-#: objdump.c:1987
+#: objdump.c:2088
 #, c-format
 msgid "disassemble_fn returned length %d"
 msgstr ""
 
-#: objdump.c:2300 objdump.c:3294
+#: objdump.c:2401 objdump.c:3500
 #, c-format
 msgid "Reading section %s failed because: %s"
 msgstr ""
 
-#: objdump.c:2317
+#: objdump.c:2421
 #, c-format
 msgid ""
 "\n"
 "Disassembly of section %s:\n"
 msgstr ""
 
-#: objdump.c:2575
+#: objdump.c:2676
 #, c-format
 msgid "can't use supplied machine %s"
 msgstr ""
 
-#: objdump.c:2596
+#: objdump.c:2697
 #, c-format
 msgid "can't disassemble for architecture %s\n"
 msgstr ""
 
-#: objdump.c:2682
+#: objdump.c:2786
 #, c-format
 msgid ""
 "\n"
 "Section '%s' has an invalid size: %#llx.\n"
 msgstr ""
 
-#: objdump.c:2692 objdump.c:2714
+#: objdump.c:2796 objdump.c:2819
 #, c-format
 msgid ""
 "\n"
 "Can't get contents for section '%s'.\n"
 msgstr ""
 
-#: objdump.c:2898
+#: objdump.c:2993
 #, c-format
 msgid "File %s does not contain any dwarf debug information\n"
 msgstr ""
 
-#: objdump.c:2971
+#: objdump.c:3030
 #, c-format
 msgid ""
 "No %s section present\n"
 "\n"
 msgstr ""
 
-#: objdump.c:2978
+#: objdump.c:3037
 #, c-format
 msgid "reading %s section of %s failed: %s"
 msgstr ""
 
-#: objdump.c:3022
+#: objdump.c:3083
 #, c-format
 msgid ""
 "Contents of %s section:\n"
 "\n"
 msgstr ""
 
-#: objdump.c:3156
+#: objdump.c:3217
 #, c-format
 msgid "architecture: %s, "
 msgstr ""
 
-#: objdump.c:3159
+#: objdump.c:3220
 #, c-format
 msgid "flags 0x%08x:\n"
 msgstr ""
 
-#: objdump.c:3172
+#: objdump.c:3233
 #, c-format
 msgid ""
 "\n"
 "start address 0x"
 msgstr ""
 
-#: objdump.c:3198
+#: objdump.c:3292
+#, c-format
+msgid ""
+"\n"
+"CTF archive member: %s:\n"
+msgstr ""
+
+#: objdump.c:3311 readelf.c:14067
+#, c-format
+msgid "Iteration failed: %s, %s\n"
+msgstr ""
+
+#: objdump.c:3344 objdump.c:3353 objdump.c:3367 readelf.c:14032 readelf.c:14040
+#, c-format
+msgid "CTF open failure: %s\n"
+msgstr ""
+
+#: objdump.c:3371
+#, c-format
+msgid "Contents of CTF section %s:\n"
+msgstr ""
+
+#: objdump.c:3386
+#, c-format
+msgid "warning: private headers incomplete: %s"
+msgstr ""
+
+#: objdump.c:3404
 msgid "option -P/--private not supported by this file"
 msgstr ""
 
-#: objdump.c:3222
+#: objdump.c:3428
 #, c-format
 msgid "target specific dump '%s' not supported"
 msgstr ""
 
-#: objdump.c:3286
+#: objdump.c:3492
 #, c-format
 msgid "Contents of section %s:"
 msgstr ""
 
-#: objdump.c:3288
+#: objdump.c:3494
 #, c-format
 msgid "  (Starting at file offset: 0x%lx)"
 msgstr ""
 
-#: objdump.c:3398
+#: objdump.c:3604
 #, c-format
 msgid "no symbols\n"
 msgstr ""
 
-#: objdump.c:3405
+#: objdump.c:3611
 #, c-format
 msgid "no information for symbol number %ld\n"
 msgstr ""
 
-#: objdump.c:3408
+#: objdump.c:3614
 #, c-format
 msgid "could not determine the type of symbol number %ld\n"
 msgstr ""
 
-#: objdump.c:3674
+#: objdump.c:3860
 #, c-format
 msgid "failed to read relocs in: %s"
 msgstr ""
 
-#: objdump.c:3774
+#: objdump.c:4017
 #, c-format
 msgid ""
 "\n"
 "%s:     file format %s\n"
 msgstr ""
 
-#: objdump.c:3837
+#: objdump.c:4116
 #, c-format
 msgid "%s: printing debugging information failed"
 msgstr ""
 
-#: objdump.c:3930
+#: objdump.c:4212
 #, c-format
 msgid "In archive %s:\n"
 msgstr ""
 
 #. Prevent corrupted files from spinning us into an
 #. infinite loop.  100 is an arbitrary heuristic.
-#: objdump.c:3935
+#: objdump.c:4217
 msgid "Archive nesting is too deep"
 msgstr ""
 
-#: objdump.c:3939
+#: objdump.c:4221
 #, c-format
 msgid "In nested archive %s:\n"
 msgstr ""
 
-#: objdump.c:4104
+#: objdump.c:4386
 msgid "error: the start address should be before the end address"
 msgstr ""
 
-#: objdump.c:4109
+#: objdump.c:4391
 msgid "error: the stop address should be after the start address"
 msgstr ""
 
-#: objdump.c:4121
+#: objdump.c:4403
 msgid "error: prefix strip must be non-negative"
 msgstr ""
 
-#: objdump.c:4126
+#: objdump.c:4408
 msgid "error: instruction width must be positive"
 msgstr ""
 
-#: objdump.c:4138
+#: objdump.c:4420
 msgid "unrecognized -E option"
 msgstr ""
 
-#: objdump.c:4149
+#: objdump.c:4431
 #, c-format
 msgid "unrecognized --endian type `%s'"
 msgstr ""
 
-#: od-macho.c:73
+#: od-macho.c:74
 #, c-format
 msgid ""
 "For Mach-O files:\n"
@@ -5586,229 +5696,229 @@ msgid ""
 "  dyld_info        Display dyld information\n"
 msgstr ""
 
-#: od-macho.c:319
+#: od-macho.c:320
 msgid "Mach-O header:\n"
 msgstr ""
 
-#: od-macho.c:320
+#: od-macho.c:321
 #, c-format
 msgid " magic     : %08lx\n"
 msgstr ""
 
-#: od-macho.c:321
+#: od-macho.c:322
 #, c-format
 msgid " cputype   : %08lx (%s)\n"
 msgstr ""
 
-#: od-macho.c:323
+#: od-macho.c:324
 #, c-format
 msgid " cpusubtype: %08lx\n"
 msgstr ""
 
-#: od-macho.c:324
+#: od-macho.c:325
 #, c-format
 msgid " filetype  : %08lx (%s)\n"
 msgstr ""
 
-#: od-macho.c:327
+#: od-macho.c:328
 #, c-format
 msgid " ncmds     : %08lx (%lu)\n"
 msgstr ""
 
-#: od-macho.c:328
+#: od-macho.c:329
 #, c-format
 msgid " sizeofcmds: %08lx (%lu)\n"
 msgstr ""
 
-#: od-macho.c:329
+#: od-macho.c:330
 #, c-format
 msgid " flags     : %08lx ("
 msgstr ""
 
-#: od-macho.c:331
+#: od-macho.c:332
 msgid ")\n"
 msgstr ""
 
-#: od-macho.c:332
+#: od-macho.c:333
 #, c-format
 msgid " reserved  : %08x\n"
 msgstr ""
 
-#: od-macho.c:351
+#: od-macho.c:352
 msgid "Segments and Sections:\n"
 msgstr ""
 
-#: od-macho.c:352
+#: od-macho.c:353
 msgid " #: Segment name     Section name     Address\n"
 msgstr ""
 
-#: od-macho.c:994
+#: od-macho.c:995
 msgid "cannot read rebase dyld info"
 msgstr ""
 
-#: od-macho.c:999
+#: od-macho.c:1000
 msgid "cannot read bind dyld info"
 msgstr ""
 
-#: od-macho.c:1004
+#: od-macho.c:1005
 msgid "cannot read weak bind dyld info"
 msgstr ""
 
-#: od-macho.c:1009
+#: od-macho.c:1010
 msgid "cannot read lazy bind dyld info"
 msgstr ""
 
-#: od-macho.c:1014
+#: od-macho.c:1015
 msgid "cannot read export symbols dyld info"
 msgstr ""
 
-#: od-macho.c:1094 od-macho.c:1104 od-macho.c:1178 od-macho.c:1230
+#: od-macho.c:1095 od-macho.c:1105 od-macho.c:1179 od-macho.c:1231
 #, c-format
 msgid "  [bad block length]\n"
 msgstr ""
 
-#: od-macho.c:1098
+#: od-macho.c:1099
 #, c-format
 msgid "  %u index entry:\n"
 msgid_plural "  %u index entries:\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: od-macho.c:1114
+#: od-macho.c:1115
 #, c-format
 msgid "  index entry %u: type: %08x, offset: %08x\n"
 msgstr ""
 
-#: od-macho.c:1185
+#: od-macho.c:1186
 #, c-format
 msgid "  version:           %08x\n"
 msgstr ""
 
-#: od-macho.c:1186
+#: od-macho.c:1187
 #, c-format
 msgid "  flags:             %08x\n"
 msgstr ""
 
-#: od-macho.c:1187
+#: od-macho.c:1188
 #, c-format
 msgid "  hash offset:       %08x\n"
 msgstr ""
 
-#: od-macho.c:1189
+#: od-macho.c:1190
 #, c-format
 msgid "  ident offset:      %08x (- %08x)\n"
 msgstr ""
 
-#: od-macho.c:1191
+#: od-macho.c:1192
 #, c-format
 msgid "   identity: %s\n"
 msgstr ""
 
-#: od-macho.c:1192
+#: od-macho.c:1193
 #, c-format
 msgid "  nbr special slots: %08x (at offset %08x)\n"
 msgstr ""
 
-#: od-macho.c:1195
+#: od-macho.c:1196
 #, c-format
 msgid "  nbr code slots:    %08x\n"
 msgstr ""
 
-#: od-macho.c:1196
+#: od-macho.c:1197
 #, c-format
 msgid "  code limit:        %08x\n"
 msgstr ""
 
-#: od-macho.c:1197
+#: od-macho.c:1198
 #, c-format
 msgid "  hash size:         %02x\n"
 msgstr ""
 
-#: od-macho.c:1198
+#: od-macho.c:1199
 #, c-format
 msgid "  hash type:         %02x (%s)\n"
 msgstr ""
 
-#: od-macho.c:1201
+#: od-macho.c:1202
 #, c-format
 msgid "  spare1:            %02x\n"
 msgstr ""
 
-#: od-macho.c:1202
+#: od-macho.c:1203
 #, c-format
 msgid "  page size:         %02x\n"
 msgstr ""
 
-#: od-macho.c:1203
+#: od-macho.c:1204
 #, c-format
 msgid "  spare2:            %08x\n"
 msgstr ""
 
-#: od-macho.c:1205
+#: od-macho.c:1206
 #, c-format
 msgid "  scatter offset:    %08x\n"
 msgstr ""
 
-#: od-macho.c:1217
+#: od-macho.c:1218
 #, c-format
 msgid "  [truncated block]\n"
 msgstr ""
 
-#: od-macho.c:1225
+#: od-macho.c:1226
 #, c-format
 msgid " magic : %08x (%s)\n"
 msgstr ""
 
-#: od-macho.c:1227
+#: od-macho.c:1228
 #, c-format
 msgid " length: %08x\n"
 msgstr ""
 
-#: od-macho.c:1258
+#: od-macho.c:1259
 msgid "cannot read code signature data"
 msgstr ""
 
-#: od-macho.c:1286
+#: od-macho.c:1287
 msgid "cannot read segment split info"
 msgstr ""
 
-#: od-macho.c:1292
+#: od-macho.c:1293
 msgid "segment split info is not nul terminated"
 msgstr ""
 
-#: od-macho.c:1300
+#: od-macho.c:1301
 #, c-format
 msgid "  32 bit pointers:\n"
 msgstr ""
 
-#: od-macho.c:1303
+#: od-macho.c:1304
 #, c-format
 msgid "  64 bit pointers:\n"
 msgstr ""
 
-#: od-macho.c:1306
+#: od-macho.c:1307
 #, c-format
 msgid "  PPC hi-16:\n"
 msgstr ""
 
-#: od-macho.c:1309
+#: od-macho.c:1310
 #, c-format
 msgid "  Unhandled location type %u\n"
 msgstr ""
 
-#: od-macho.c:1333
+#: od-macho.c:1334
 msgid "cannot read function starts"
 msgstr ""
 
-#: od-macho.c:1397
+#: od-macho.c:1398
 msgid "cannot read data_in_code"
 msgstr ""
 
-#: od-macho.c:1435
+#: od-macho.c:1436
 msgid "cannot read twolevel hints"
 msgstr ""
 
-#: od-macho.c:1503
+#: od-macho.c:1504
 msgid "cannot read build tools"
 msgstr ""
 
@@ -5840,7 +5950,7 @@ msgstr ""
 msgid "  time and date: 0x%08x  - "
 msgstr ""
 
-#: od-xcoff.c:422 readelf.c:17664
+#: od-xcoff.c:422 readelf.c:18092
 #, c-format
 msgid "not set\n"
 msgstr ""
@@ -6204,47 +6314,47 @@ msgstr ""
 msgid "unknown magic"
 msgstr ""
 
-#: od-xcoff.c:1673 od-xcoff.c:1813
+#: od-xcoff.c:1673 od-xcoff.c:1815
 #, c-format
 msgid "  Unhandled magic\n"
 msgstr ""
 
-#: od-xcoff.c:1737
+#: od-xcoff.c:1739
 msgid "cannot read loader info table"
 msgstr ""
 
-#: od-xcoff.c:1769
+#: od-xcoff.c:1771
 #, c-format
 msgid ""
 "\n"
 "ldinfo dump not supported in 32 bits environments\n"
 msgstr ""
 
-#: od-xcoff.c:1787
+#: od-xcoff.c:1789
 msgid "cannot core read header"
 msgstr ""
 
-#: od-xcoff.c:1794
+#: od-xcoff.c:1796
 #, c-format
 msgid "Core header:\n"
 msgstr ""
 
-#: od-xcoff.c:1795
+#: od-xcoff.c:1797
 #, c-format
 msgid "  version:    0x%08x  "
 msgstr ""
 
-#: od-xcoff.c:1799
+#: od-xcoff.c:1801
 #, c-format
 msgid "(dumpx format - aix4.3 / 32 bits)"
 msgstr ""
 
-#: od-xcoff.c:1802
+#: od-xcoff.c:1804
 #, c-format
 msgid "(dumpxx format - aix5.0 / 64 bits)"
 msgstr ""
 
-#: od-xcoff.c:1805
+#: od-xcoff.c:1807
 #, c-format
 msgid "unknown format"
 msgstr ""
@@ -6303,292 +6413,296 @@ msgstr ""
 msgid "Last stabs entries before error:\n"
 msgstr ""
 
-#: readelf.c:307
+#: readelf.c:317
 msgid "<none>"
 msgstr ""
 
-#: readelf.c:308
+#: readelf.c:318
 msgid "<no-strings>"
 msgstr ""
 
-#: readelf.c:385
+#: readelf.c:399
 #, c-format
 msgid "Size truncation prevents reading %s elements of size %s for %s\n"
 msgstr ""
 
-#: readelf.c:395
+#: readelf.c:409
 #, c-format
 msgid "Size overflow prevents reading %s elements of size %s for %s\n"
 msgstr ""
 
-#: readelf.c:407
+#: readelf.c:422
 #, c-format
 msgid "Reading %s bytes extends past end of file for %s\n"
 msgstr ""
 
-#: readelf.c:415
+#: readelf.c:430
 #, c-format
 msgid "Unable to seek to 0x%lx for %s\n"
 msgstr ""
 
-#: readelf.c:431
+#: readelf.c:444
 #, c-format
 msgid "Out of memory allocating %s bytes for %s\n"
 msgstr ""
 
-#: readelf.c:442
+#: readelf.c:455
 #, c-format
 msgid "Unable to read in %s bytes of %s\n"
 msgstr ""
 
-#: readelf.c:884
+#: readelf.c:887
 msgid "Don't know about relocations on this machine architecture\n"
 msgstr ""
 
-#: readelf.c:911 readelf.c:1016
+#: readelf.c:914 readelf.c:1019
 msgid "32-bit relocation data"
 msgstr ""
 
-#: readelf.c:923 readelf.c:953 readelf.c:1027 readelf.c:1056
+#: readelf.c:926 readelf.c:956 readelf.c:1030 readelf.c:1059
 msgid "out of memory parsing relocs\n"
 msgstr ""
 
-#: readelf.c:941 readelf.c:1045
+#: readelf.c:944 readelf.c:1048
 msgid "64-bit relocation data"
 msgstr ""
 
-#: readelf.c:1175
+#: readelf.c:1178
 #, c-format
 msgid ""
 " Offset     Info    Type                Sym. Value  Symbol's Name + Addend\n"
 msgstr ""
 
-#: readelf.c:1177
+#: readelf.c:1180
 #, c-format
 msgid " Offset     Info    Type            Sym.Value  Sym. Name + Addend\n"
 msgstr ""
 
-#: readelf.c:1182
+#: readelf.c:1185
 #, c-format
 msgid " Offset     Info    Type                Sym. Value  Symbol's Name\n"
 msgstr ""
 
-#: readelf.c:1184
+#: readelf.c:1187
 #, c-format
 msgid " Offset     Info    Type            Sym.Value  Sym. Name\n"
 msgstr ""
 
-#: readelf.c:1192
+#: readelf.c:1195
 #, c-format
 msgid ""
 "    Offset             Info             Type               Symbol's Value  "
 "Symbol's Name + Addend\n"
 msgstr ""
 
-#: readelf.c:1194
+#: readelf.c:1197
 #, c-format
 msgid ""
 "  Offset          Info           Type           Sym. Value    Sym. Name + "
 "Addend\n"
 msgstr ""
 
-#: readelf.c:1199
+#: readelf.c:1202
 #, c-format
 msgid ""
 "    Offset             Info             Type               Symbol's Value  "
 "Symbol's Name\n"
 msgstr ""
 
-#: readelf.c:1201
+#: readelf.c:1204
 #, c-format
 msgid ""
 "  Offset          Info           Type           Sym. Value    Sym. Name\n"
 msgstr ""
 
-#: readelf.c:1586 readelf.c:1776 readelf.c:1784
+#: readelf.c:1597 readelf.c:1787 readelf.c:1795
 #, c-format
 msgid "unrecognized: %-7lx"
 msgstr ""
 
-#: readelf.c:1612
+#: readelf.c:1623
 #, c-format
 msgid "<unknown addend: %lx>"
 msgstr ""
 
-#: readelf.c:1621
+#: readelf.c:1632
 #, c-format
 msgid " bad symbol index: %08lx in reloc"
 msgstr ""
 
-#: readelf.c:1722
+#: readelf.c:1733
 #, c-format
 msgid "<string table index: %3ld>"
 msgstr ""
 
-#: readelf.c:1725
+#: readelf.c:1736
 #, c-format
 msgid "<corrupt string table index: %3ld>"
 msgstr ""
 
-#: readelf.c:2211
+#: readelf.c:2239
 #, c-format
 msgid "Processor Specific: %lx"
 msgstr ""
 
-#: readelf.c:2238
+#: readelf.c:2266
 #, c-format
 msgid "Operating System specific: %lx"
 msgstr ""
 
-#: readelf.c:2242 readelf.c:4008
+#: readelf.c:2270 readelf.c:4068
 #, c-format
 msgid "<unknown>: %lx"
 msgstr ""
 
-#: readelf.c:2255
+#: readelf.c:2283
 msgid "NONE (None)"
 msgstr ""
 
-#: readelf.c:2256
+#: readelf.c:2284
 msgid "REL (Relocatable file)"
 msgstr ""
 
-#: readelf.c:2257
+#: readelf.c:2285
 msgid "EXEC (Executable file)"
 msgstr ""
 
-#: readelf.c:2258
+#: readelf.c:2286
 msgid "DYN (Shared object file)"
 msgstr ""
 
-#: readelf.c:2259
+#: readelf.c:2287
 msgid "CORE (Core file)"
 msgstr ""
 
-#: readelf.c:2263
+#: readelf.c:2291
 #, c-format
 msgid "Processor Specific: (%x)"
 msgstr ""
 
-#: readelf.c:2265
+#: readelf.c:2293
 #, c-format
 msgid "OS Specific: (%x)"
 msgstr ""
 
-#: readelf.c:2267
+#: readelf.c:2295
 #, c-format
 msgid "<unknown>: %x"
 msgstr ""
 
 #. Please keep this switch table sorted by increasing EM_ value.
 #. 0
-#: readelf.c:2281 readelf.c:15773 readelf.c:15784
+#: readelf.c:2309 readelf.c:16122 readelf.c:16133
 msgid "None"
 msgstr ""
 
-#: readelf.c:2513
+#: readelf.c:2541
 #, c-format
 msgid "<unknown>: 0x%x"
 msgstr ""
 
-#: readelf.c:2799
+#: readelf.c:2827
 msgid ", <unknown>"
 msgstr ""
 
-#: readelf.c:3168 readelf.c:9685
+#: readelf.c:3196 readelf.c:9826
 msgid "unknown"
 msgstr ""
 
-#: readelf.c:3169
+#: readelf.c:3197
 msgid "unknown mac"
 msgstr ""
 
-#: readelf.c:3237
+#: readelf.c:3265
 msgid ", <unknown MeP cpu type>"
 msgstr ""
 
-#: readelf.c:3247
+#: readelf.c:3275
 msgid "<unknown MeP copro type>"
 msgstr ""
 
-#: readelf.c:3258
+#: readelf.c:3286
 #, c-format
 msgid ", unknown flags bits: %#x"
 msgstr ""
 
-#: readelf.c:3267
+#: readelf.c:3295
 msgid ", relocatable"
 msgstr ""
 
-#: readelf.c:3270
+#: readelf.c:3298
 msgid ", relocatable-lib"
 msgstr ""
 
-#: readelf.c:3352
+#: readelf.c:3380
 msgid ", unknown v850 architecture variant"
 msgstr ""
 
-#: readelf.c:3420
+#: readelf.c:3448
 msgid ", unknown CPU"
 msgstr ""
 
-#: readelf.c:3435
+#: readelf.c:3463
 msgid ", unknown ABI"
 msgstr ""
 
-#: readelf.c:3460 readelf.c:3531
+#: readelf.c:3488 readelf.c:3559
 msgid ", unknown ISA"
 msgstr ""
 
-#: readelf.c:3641
+#: readelf.c:3669
 #, c-format
 msgid "Unrecognised IA64 VMS Command Code: %x\n"
 msgstr ""
 
-#: readelf.c:3707
+#: readelf.c:3735
 msgid ": architecture variant: "
 msgstr ""
 
-#: readelf.c:3726
+#: readelf.c:3754
 msgid ": unknown"
 msgstr ""
 
-#: readelf.c:3730
+#: readelf.c:3758
 msgid ": unknown extra flag bits also present"
 msgstr ""
 
-#: readelf.c:3780
+#: readelf.c:3771
+msgid ", unknown"
+msgstr ""
+
+#: readelf.c:3823
 msgid "Standalone App"
 msgstr ""
 
-#: readelf.c:3789
+#: readelf.c:3832
 msgid "Bare-metal C6000"
 msgstr ""
 
-#: readelf.c:3799 readelf.c:4733 readelf.c:4749 readelf.c:17138 readelf.c:17235
-#: readelf.c:17266 readelf.c:17321
+#: readelf.c:3842 readelf.c:4826 readelf.c:4842 readelf.c:17524 readelf.c:17624
+#: readelf.c:17655 readelf.c:17710 readelf.c:17737
 #, c-format
 msgid "<unknown: %x>"
 msgstr ""
 
 #. This message is probably going to be displayed in a 15
 #. character wide field, so put the hex value first.
-#: readelf.c:4363
+#: readelf.c:4424
 #, c-format
 msgid "%08x: <unknown>"
 msgstr ""
 
-#: readelf.c:4421
+#: readelf.c:4492
 #, c-format
 msgid "Usage: readelf <option(s)> elf-file(s)\n"
 msgstr ""
 
-#: readelf.c:4422
+#: readelf.c:4493
 #, c-format
 msgid " Display information about the contents of ELF format files\n"
 msgstr ""
 
-#: readelf.c:4423
+#: readelf.c:4494
 #, c-format
 msgid ""
 " Options are:\n"
@@ -6632,7 +6746,7 @@ msgid ""
 "                         Display the contents of DWARF debug sections\n"
 msgstr ""
 
-#: readelf.c:4457
+#: readelf.c:4528
 #, c-format
 msgid ""
 "  --dwarf-depth=N        Do not display DIEs at depth N or greater\n"
@@ -6640,14 +6754,31 @@ msgid ""
 "                         or deeper\n"
 msgstr ""
 
-#: readelf.c:4462
+#: readelf.c:4532
+#, c-format
+msgid ""
+"  --ctf=<number|name>    Display CTF info from section <number|name>\n"
+"  --ctf-parent=<number|name>\n"
+"                         Use section <number|name> as the CTF parent\n"
+"\n"
+"  --ctf-symbols=<number|name>\n"
+"                         Use section <number|name> as the CTF external "
+"symtab\n"
+"\n"
+"  --ctf-strings=<number|name>\n"
+"                         Use section <number|name> as the CTF external "
+"strtab\n"
+"\n"
+msgstr ""
+
+#: readelf.c:4542
 #, c-format
 msgid ""
 "  -i --instruction-dump=<number|name>\n"
 "                         Disassemble the contents of section <number|name>\n"
 msgstr ""
 
-#: readelf.c:4466
+#: readelf.c:4546
 #, c-format
 msgid ""
 "  -I --histogram         Display histogram of bucket list lengths\n"
@@ -6657,562 +6788,562 @@ msgid ""
 "  -v --version           Display the version number of readelf\n"
 msgstr ""
 
-#: readelf.c:4495 readelf.c:4526 readelf.c:4530
+#: readelf.c:4575 readelf.c:4606 readelf.c:4610
 msgid "Out of memory allocating dump request table.\n"
 msgstr ""
 
-#: readelf.c:4707
+#: readelf.c:4800
 #, c-format
 msgid "Invalid option '-%c'\n"
 msgstr ""
 
-#: readelf.c:4729 readelf.c:4745 readelf.c:10382
+#: readelf.c:4822 readelf.c:4838 readelf.c:10526
 msgid "none"
 msgstr ""
 
-#: readelf.c:4746
+#: readelf.c:4839
 msgid "2's complement, little endian"
 msgstr ""
 
-#: readelf.c:4747
+#: readelf.c:4840
 msgid "2's complement, big endian"
 msgstr ""
 
-#: readelf.c:4767
+#: readelf.c:4860
 msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
 msgstr ""
 
-#: readelf.c:4777
+#: readelf.c:4870
 #, c-format
 msgid "ELF Header:\n"
 msgstr ""
 
-#: readelf.c:4778
+#: readelf.c:4871
 #, c-format
 msgid "  Magic:   "
 msgstr ""
 
-#: readelf.c:4782
+#: readelf.c:4875
 #, c-format
 msgid "  Class:                             %s\n"
 msgstr ""
 
-#: readelf.c:4784
+#: readelf.c:4877
 #, c-format
 msgid "  Data:                              %s\n"
 msgstr ""
 
-#: readelf.c:4786
+#: readelf.c:4879
 #, c-format
 msgid "  Version:                           %d%s\n"
 msgstr ""
 
-#: readelf.c:4789
+#: readelf.c:4882
 msgid " (current)"
 msgstr ""
 
-#: readelf.c:4791
+#: readelf.c:4884
 msgid " <unknown>"
 msgstr ""
 
-#: readelf.c:4793
+#: readelf.c:4886
 #, c-format
 msgid "  OS/ABI:                            %s\n"
 msgstr ""
 
-#: readelf.c:4795
+#: readelf.c:4888
 #, c-format
 msgid "  ABI Version:                       %d\n"
 msgstr ""
 
-#: readelf.c:4797
+#: readelf.c:4890
 #, c-format
 msgid "  Type:                              %s\n"
 msgstr ""
 
-#: readelf.c:4799
+#: readelf.c:4892
 #, c-format
 msgid "  Machine:                           %s\n"
 msgstr ""
 
-#: readelf.c:4801
+#: readelf.c:4894
 #, c-format
 msgid "  Version:                           0x%lx\n"
 msgstr ""
 
-#: readelf.c:4804
+#: readelf.c:4897
 #, c-format
 msgid "  Entry point address:               "
 msgstr ""
 
-#: readelf.c:4806
+#: readelf.c:4899
 #, c-format
 msgid ""
 "\n"
 "  Start of program headers:          "
 msgstr ""
 
-#: readelf.c:4808
+#: readelf.c:4901
 #, c-format
 msgid ""
 " (bytes into file)\n"
 "  Start of section headers:          "
 msgstr ""
 
-#: readelf.c:4810
+#: readelf.c:4903
 #, c-format
 msgid " (bytes into file)\n"
 msgstr ""
 
-#: readelf.c:4812
+#: readelf.c:4905
 #, c-format
 msgid "  Flags:                             0x%lx%s\n"
 msgstr ""
 
-#: readelf.c:4815
+#: readelf.c:4908
 #, c-format
 msgid "  Size of this header:               %u (bytes)\n"
 msgstr ""
 
-#: readelf.c:4817
+#: readelf.c:4910
 #, c-format
 msgid "  Size of program headers:           %u (bytes)\n"
 msgstr ""
 
-#: readelf.c:4819
+#: readelf.c:4912
 #, c-format
 msgid "  Number of program headers:         %u"
 msgstr ""
 
-#: readelf.c:4829
+#: readelf.c:4922
 #, c-format
 msgid "  Size of section headers:           %u (bytes)\n"
 msgstr ""
 
-#: readelf.c:4831
+#: readelf.c:4924
 #, c-format
 msgid "  Number of section headers:         %u"
 msgstr ""
 
-#: readelf.c:4839
+#: readelf.c:4932
 #, c-format
 msgid "  Section header string table index: %u"
 msgstr ""
 
-#: readelf.c:4851
+#: readelf.c:4944
 #, c-format
 msgid " <corrupt: out of range>"
 msgstr ""
 
-#: readelf.c:4892 readelf.c:4939
+#: readelf.c:4985 readelf.c:5032
 msgid ""
 "The e_phentsize field in the ELF header is less than the size of an ELF "
 "program header\n"
 msgstr ""
 
-#: readelf.c:4896 readelf.c:4943
+#: readelf.c:4989 readelf.c:5036
 msgid ""
 "The e_phentsize field in the ELF header is larger than the size of an ELF "
 "program header\n"
 msgstr ""
 
-#: readelf.c:4899 readelf.c:4946
+#: readelf.c:4992 readelf.c:5039
 msgid "program headers"
 msgstr ""
 
-#: readelf.c:4985
+#: readelf.c:5078
 #, c-format
 msgid "Too many program headers - %#x - the file is not that big\n"
 msgstr ""
 
-#: readelf.c:4994
+#: readelf.c:5087
 #, c-format
 msgid "Out of memory reading %u program headers\n"
 msgstr ""
 
-#: readelf.c:5025
+#: readelf.c:5121
 msgid ""
 "possibly corrupt ELF header - it has a non-zero program header offset, but "
 "no program headers\n"
 msgstr ""
 
-#: readelf.c:5030
+#: readelf.c:5126
 #, c-format
 msgid ""
 "\n"
 "There are no program headers in this file.\n"
 msgstr ""
 
-#: readelf.c:5036
+#: readelf.c:5132
 #, c-format
 msgid ""
 "\n"
 "Elf file type is %s\n"
 msgstr ""
 
-#: readelf.c:5037
+#: readelf.c:5133
 #, c-format
 msgid "Entry point 0x%s\n"
 msgstr ""
 
-#: readelf.c:5038
+#: readelf.c:5134
 #, c-format
 msgid "There is %d program header, starting at offset %s\n"
 msgid_plural "There are %d program headers, starting at offset %s\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:5051 readelf.c:5053
+#: readelf.c:5147 readelf.c:5149
 #, c-format
 msgid ""
 "\n"
 "Program Headers:\n"
 msgstr ""
 
-#: readelf.c:5057
+#: readelf.c:5153
 #, c-format
 msgid ""
 "  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align\n"
 msgstr ""
 
-#: readelf.c:5060
+#: readelf.c:5156
 #, c-format
 msgid ""
 "  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
 "MemSiz   Flg Align\n"
 msgstr ""
 
-#: readelf.c:5064
+#: readelf.c:5160
 #, c-format
 msgid "  Type           Offset             VirtAddr           PhysAddr\n"
 msgstr ""
 
-#: readelf.c:5066
+#: readelf.c:5162
 #, c-format
 msgid "                 FileSiz            MemSiz              Flags  Align\n"
 msgstr ""
 
-#: readelf.c:5165
+#: readelf.c:5258
 msgid "LOAD segments must be sorted in order of increasing VirtAddr\n"
 msgstr ""
 
-#: readelf.c:5168
+#: readelf.c:5261
 msgid "the segment's file size is larger than its memory size\n"
 msgstr ""
 
-#: readelf.c:5175
+#: readelf.c:5268
 msgid "the PHDR segment must occur before any LOAD segment\n"
 msgstr ""
 
-#: readelf.c:5187
+#: readelf.c:5286
 msgid "the PHDR segment is not covered by a LOAD segment\n"
 msgstr ""
 
-#: readelf.c:5193
+#: readelf.c:5292
 msgid "more than one dynamic segment\n"
 msgstr ""
 
-#: readelf.c:5212
+#: readelf.c:5311
 msgid "no .dynamic section in the dynamic segment\n"
 msgstr ""
 
-#: readelf.c:5227
+#: readelf.c:5326
 msgid "the .dynamic section is not contained within the dynamic segment\n"
 msgstr ""
 
-#: readelf.c:5230
+#: readelf.c:5329
 msgid "the .dynamic section is not the first section in the dynamic segment.\n"
 msgstr ""
 
-#: readelf.c:5240
+#: readelf.c:5340
 msgid "the dynamic segment offset + size exceeds the size of the file\n"
 msgstr ""
 
-#: readelf.c:5248
+#: readelf.c:5348
 msgid "Unable to find program interpreter name\n"
 msgstr ""
 
-#: readelf.c:5255
+#: readelf.c:5355
 msgid ""
 "Internal error: failed to create format string to display program "
 "interpreter\n"
 msgstr ""
 
-#: readelf.c:5259
+#: readelf.c:5359
 msgid "Unable to read program interpreter name\n"
 msgstr ""
 
-#: readelf.c:5262
+#: readelf.c:5362
 #, c-format
 msgid "      [Requesting program interpreter: %s]\n"
 msgstr ""
 
-#: readelf.c:5273
+#: readelf.c:5373
 #, c-format
 msgid ""
 "\n"
 " Section to Segment mapping:\n"
 msgstr ""
 
-#: readelf.c:5274
+#: readelf.c:5374
 #, c-format
 msgid "  Segment Sections...\n"
 msgstr ""
 
-#: readelf.c:5310
+#: readelf.c:5410
 msgid "Cannot interpret virtual addresses without program headers.\n"
 msgstr ""
 
-#: readelf.c:5326
+#: readelf.c:5426
 #, c-format
 msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n"
 msgstr ""
 
-#: readelf.c:5351 readelf.c:5416
+#: readelf.c:5451 readelf.c:5516
 msgid ""
 "The e_shentsize field in the ELF header is less than the size of an ELF "
 "section header\n"
 msgstr ""
 
-#: readelf.c:5355 readelf.c:5421
+#: readelf.c:5455 readelf.c:5521
 msgid ""
 "The e_shentsize field in the ELF header is larger than the size of an ELF "
 "section header\n"
 msgstr ""
 
-#: readelf.c:5359 readelf.c:5426
+#: readelf.c:5459 readelf.c:5526
 msgid "section headers"
 msgstr ""
 
-#: readelf.c:5369 readelf.c:5436
+#: readelf.c:5469 readelf.c:5536
 #, c-format
 msgid "Out of memory reading %u section headers\n"
 msgstr ""
 
-#: readelf.c:5389 readelf.c:5456
+#: readelf.c:5489 readelf.c:5556
 #, c-format
 msgid "Section %u has an out of range sh_link value of %u\n"
 msgstr ""
 
-#: readelf.c:5391 readelf.c:5458
+#: readelf.c:5491 readelf.c:5558
 #, c-format
 msgid "Section %u has an out of range sh_info value of %u\n"
 msgstr ""
 
-#: readelf.c:5488 readelf.c:5605
+#: readelf.c:5588 readelf.c:5705
 #, c-format
 msgid "Section %s has an invalid sh_entsize of 0x%lx\n"
 msgstr ""
 
-#: readelf.c:5496 readelf.c:5613
+#: readelf.c:5596 readelf.c:5713
 #, c-format
 msgid "Section %s has an invalid sh_size of 0x%lx\n"
 msgstr ""
 
-#: readelf.c:5506 readelf.c:5623
+#: readelf.c:5606 readelf.c:5723
 #, c-format
 msgid ""
 "Size (0x%lx) of section %s is not a multiple of its sh_entsize (0x%lx)\n"
 msgstr ""
 
-#: readelf.c:5514 readelf.c:5631
+#: readelf.c:5614 readelf.c:5731 readelf.c:13991
 msgid "symbols"
 msgstr ""
 
-#: readelf.c:5526 readelf.c:5643
+#: readelf.c:5626 readelf.c:5743
 msgid ""
 "Multiple symbol table index sections associated with the same symbol "
 "section\n"
 msgstr ""
 
-#: readelf.c:5533 readelf.c:5650
+#: readelf.c:5633 readelf.c:5750
 msgid "symbol table section indices"
 msgstr ""
 
-#: readelf.c:5540 readelf.c:5657
+#: readelf.c:5640 readelf.c:5757
 #, c-format
 msgid "Index section %s has an sh_size of 0x%lx - expected 0x%lx\n"
 msgstr ""
 
-#: readelf.c:5552 readelf.c:5669
+#: readelf.c:5652 readelf.c:5769
 #, c-format
 msgid "Out of memory reading %lu symbols\n"
 msgstr ""
 
-#: readelf.c:5848 readelf.c:5923 readelf.c:5941 readelf.c:5959
+#: readelf.c:5948 readelf.c:6023 readelf.c:6041 readelf.c:6059
 msgid "Internal error: not enough buffer room for section flag info"
 msgstr ""
 
-#: readelf.c:5966
+#: readelf.c:6066
 #, c-format
 msgid "UNKNOWN (%*.*lx)"
 msgstr ""
 
-#: readelf.c:5985 readelf.c:6000
+#: readelf.c:6085 readelf.c:6100
 msgid "Compressed section is too small even for a compression header\n"
 msgstr ""
 
-#: readelf.c:6024
+#: readelf.c:6124
 msgid ""
 "possibly corrupt ELF file header - it has a non-zero section header offset, "
 "but no section headers\n"
 msgstr ""
 
-#: readelf.c:6029
+#: readelf.c:6129
 #, c-format
 msgid ""
 "\n"
 "There are no sections in this file.\n"
 msgstr ""
 
-#: readelf.c:6035
+#: readelf.c:6135
 #, c-format
 msgid "There is %d section header, starting at offset 0x%lx:\n"
 msgid_plural "There are %d section headers, starting at offset 0x%lx:\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:6064 readelf.c:6840 readelf.c:7286 readelf.c:7704 readelf.c:8168
-#: readelf.c:9272 readelf.c:11822 readelf.c:13844 readelf.c:18041
+#: readelf.c:6164 readelf.c:6940 readelf.c:7386 readelf.c:7813 readelf.c:8277
+#: readelf.c:9393 readelf.c:12023 readelf.c:14225 readelf.c:18596
 msgid "string table"
 msgstr ""
 
 #. Note: coded this way so that there is a single string for        translation.
-#: readelf.c:6135
+#: readelf.c:6235
 #, c-format
 msgid "Section %d has invalid sh_entsize of %s\n"
 msgstr ""
 
-#: readelf.c:6136
+#: readelf.c:6236
 #, c-format
 msgid "(Using the expected size of %u for the rest of this dump)\n"
 msgstr ""
 
-#: readelf.c:6157
+#: readelf.c:6257
 msgid "File contains multiple dynamic symbol tables\n"
 msgstr ""
 
-#: readelf.c:6169
+#: readelf.c:6269
 msgid "File contains multiple dynamic string tables\n"
 msgstr ""
 
-#: readelf.c:6175
+#: readelf.c:6275
 msgid "dynamic strings"
 msgstr ""
 
-#: readelf.c:6265
+#: readelf.c:6365
 #, c-format
 msgid ""
 "\n"
 "Section Headers:\n"
 msgstr ""
 
-#: readelf.c:6267
+#: readelf.c:6367
 #, c-format
 msgid ""
 "\n"
 "Section Header:\n"
 msgstr ""
 
-#: readelf.c:6273 readelf.c:6284 readelf.c:6295
+#: readelf.c:6373 readelf.c:6384 readelf.c:6395
 #, c-format
 msgid "  [Nr] Name\n"
 msgstr ""
 
-#: readelf.c:6274
+#: readelf.c:6374
 #, c-format
 msgid "       Type            Addr     Off    Size   ES   Lk Inf Al\n"
 msgstr ""
 
-#: readelf.c:6278
+#: readelf.c:6378
 #, c-format
 msgid ""
 "  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk "
 "Inf Al\n"
 msgstr ""
 
-#: readelf.c:6285
+#: readelf.c:6385
 #, c-format
 msgid "       Type            Address          Off    Size   ES   Lk Inf Al\n"
 msgstr ""
 
-#: readelf.c:6289
+#: readelf.c:6389
 #, c-format
 msgid ""
 "  [Nr] Name              Type            Address          Off    Size   ES "
 "Flg Lk Inf Al\n"
 msgstr ""
 
-#: readelf.c:6296
+#: readelf.c:6396
 #, c-format
 msgid "       Type              Address          Offset            Link\n"
 msgstr ""
 
-#: readelf.c:6297
+#: readelf.c:6397
 #, c-format
 msgid "       Size              EntSize          Info              Align\n"
 msgstr ""
 
-#: readelf.c:6301
+#: readelf.c:6401
 #, c-format
 msgid "  [Nr] Name              Type             Address           Offset\n"
 msgstr ""
 
-#: readelf.c:6302
+#: readelf.c:6402
 #, c-format
 msgid "       Size              EntSize          Flags  Link  Info  Align\n"
 msgstr ""
 
-#: readelf.c:6307
+#: readelf.c:6407
 #, c-format
 msgid "       Flags\n"
 msgstr ""
 
-#: readelf.c:6336
+#: readelf.c:6436
 #, c-format
 msgid "[%2u]: Link field (%u) should index a symtab section.\n"
 msgstr ""
 
-#: readelf.c:6349
+#: readelf.c:6449
 #, c-format
 msgid "[%2u]: Link field (%u) should index a string section.\n"
 msgstr ""
 
-#: readelf.c:6357 readelf.c:6368
+#: readelf.c:6457 readelf.c:6468
 #, c-format
 msgid "[%2u]: Unexpected value (%u) in link field.\n"
 msgstr ""
 
-#: readelf.c:6395
+#: readelf.c:6495
 #, c-format
 msgid "[%2u]: Info field (%u) should index a relocatable section.\n"
 msgstr ""
 
-#: readelf.c:6406 readelf.c:6433
+#: readelf.c:6506 readelf.c:6533
 #, c-format
 msgid "[%2u]: Unexpected value (%u) in info field.\n"
 msgstr ""
 
-#: readelf.c:6428
+#: readelf.c:6528
 #, c-format
 msgid "[%2u]: Expected link to another section in info field"
 msgstr ""
 
-#: readelf.c:6443
+#: readelf.c:6543
 #, c-format
 msgid "Size of section %u is larger than the entire file!\n"
 msgstr ""
 
-#: readelf.c:6512
+#: readelf.c:6612
 #, c-format
 msgid "section %u: sh_link value of %u is larger than the number of sections\n"
 msgstr ""
 
-#: readelf.c:6613
+#: readelf.c:6713
 msgid "compression header"
 msgstr ""
 
-#: readelf.c:6622
+#: readelf.c:6722
 #, c-format
 msgid "       [<unknown>: 0x%x], "
 msgstr ""
@@ -7220,7 +7351,7 @@ msgstr ""
 #. The ordering of the letters shown here matches the ordering of the
 #. corresponding SHF_xxx values, and hence the order in which these
 #. letters will be displayed to the user.
-#: readelf.c:6636
+#: readelf.c:6736
 #, c-format
 msgid ""
 "Key to Flags:\n"
@@ -7230,276 +7361,281 @@ msgid ""
 "  "
 msgstr ""
 
-#: readelf.c:6643
+#: readelf.c:6743
 #, c-format
 msgid "l (large), "
 msgstr ""
 
-#: readelf.c:6645
+#: readelf.c:6745
 #, c-format
 msgid "y (purecode), "
 msgstr ""
 
-#: readelf.c:6647
+#: readelf.c:6747
 #, c-format
 msgid "v (VLE), "
 msgstr ""
 
-#: readelf.c:6664
+#: readelf.c:6764
 #, c-format
 msgid "[0x%x: "
 msgstr ""
 
-#: readelf.c:6706
+#: readelf.c:6806
 #, c-format
 msgid ""
 "\n"
 "There are no sections to group in this file.\n"
 msgstr ""
 
-#: readelf.c:6713
+#: readelf.c:6813
 msgid "Section headers are not available!\n"
 msgstr ""
 
-#: readelf.c:6723
+#: readelf.c:6823
 #, c-format
 msgid "Out of memory reading %u section group headers\n"
 msgstr ""
 
-#: readelf.c:6739
+#: readelf.c:6839
 #, c-format
 msgid ""
 "\n"
 "There are no section groups in this file.\n"
 msgstr ""
 
-#: readelf.c:6748
+#: readelf.c:6848
 #, c-format
 msgid "Out of memory reading %lu groups\n"
 msgstr ""
 
-#: readelf.c:6778
+#: readelf.c:6878
 #, c-format
 msgid "Bad sh_link in group section `%s'\n"
 msgstr ""
 
-#: readelf.c:6792
+#: readelf.c:6892
 #, c-format
 msgid "Corrupt header in group section `%s'\n"
 msgstr ""
 
-#: readelf.c:6798 readelf.c:6809
+#: readelf.c:6898 readelf.c:6909
 #, c-format
 msgid "Bad sh_info in group section `%s'\n"
 msgstr ""
 
-#: readelf.c:6850
+#: readelf.c:6950
 #, c-format
 msgid ""
 "Section %s has sh_entsize (0x%lx) which is larger than its size (0x%lx)\n"
 msgstr ""
 
-#: readelf.c:6859
+#: readelf.c:6959
 msgid "section data"
 msgstr ""
 
-#: readelf.c:6870
+#: readelf.c:6970
 #, c-format
 msgid ""
 "\n"
 "%sgroup section [%5u] `%s' [%s] contains %u sections:\n"
 msgstr ""
 
-#: readelf.c:6873
+#: readelf.c:6973
 #, c-format
 msgid "   [Index]    Name\n"
 msgstr ""
 
-#: readelf.c:6891
+#: readelf.c:6991
 #, c-format
 msgid "section [%5u] in group section [%5u] > maximum section [%5u]\n"
 msgstr ""
 
-#: readelf.c:6894
+#: readelf.c:6994
 msgid ""
 "Further error messages about overlarge group section indices suppressed\n"
 msgstr ""
 
-#: readelf.c:6907
+#: readelf.c:7007
 #, c-format
 msgid "section [%5u] in group section [%5u] already in group section [%5u]\n"
 msgstr ""
 
-#: readelf.c:6911
+#: readelf.c:7011
 msgid ""
 "Further error messages about already contained group sections suppressed\n"
 msgstr ""
 
-#: readelf.c:6923
+#: readelf.c:7023
 #, c-format
 msgid "section 0 in group section [%5u]\n"
 msgstr ""
 
-#: readelf.c:6992
+#: readelf.c:7092
 msgid "dynamic section image fixups"
 msgstr ""
 
-#: readelf.c:7000
+#: readelf.c:7100
 #, c-format
 msgid "corrupt library name index of 0x%lx found in dynamic entry"
 msgstr ""
 
-#: readelf.c:7004
+#: readelf.c:7104
 #, c-format
 msgid ""
 "\n"
 "Image fixups for needed library #%d: %s - ident: %lx\n"
 msgstr ""
 
-#: readelf.c:7007
+#: readelf.c:7107
 #, c-format
 msgid "Seg Offset           Type                             SymVec DataType\n"
 msgstr ""
 
-#: readelf.c:7040
+#: readelf.c:7140
 msgid "dynamic section image relocations"
 msgstr ""
 
-#: readelf.c:7044
+#: readelf.c:7144
 #, c-format
 msgid ""
 "\n"
 "Image relocs\n"
 msgstr ""
 
-#: readelf.c:7046
+#: readelf.c:7146
 #, c-format
 msgid ""
 "Seg Offset   Type                            Addend            Seg Sym Off\n"
 msgstr ""
 
-#: readelf.c:7102
+#: readelf.c:7202
 msgid "dynamic string section"
 msgstr ""
 
-#: readelf.c:7203
+#: readelf.c:7303
 #, c-format
 msgid ""
 "\n"
 "'%s' relocation section at offset 0x%lx contains %ld bytes:\n"
 msgstr ""
 
-#: readelf.c:7220
+#: readelf.c:7320
 #, c-format
 msgid ""
 "\n"
 "There are no dynamic relocations in this file.\n"
 msgstr ""
 
-#: readelf.c:7245
+#: readelf.c:7345
 #, c-format
 msgid ""
 "\n"
 "Relocation section "
 msgstr ""
 
-#: readelf.c:7253
+#: readelf.c:7353
 #, c-format
 msgid " at offset 0x%lx contains %lu entry:\n"
 msgid_plural " at offset 0x%lx contains %lu entries:\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:7314
+#: readelf.c:7414
 #, c-format
 msgid ""
 "\n"
 "There are no static relocations in this file."
 msgstr ""
 
-#: readelf.c:7315
+#: readelf.c:7415
 #, c-format
 msgid ""
 "\n"
 "To see the dynamic relocations add --use-dynamic to the command line.\n"
 msgstr ""
 
-#: readelf.c:7321
+#: readelf.c:7421
 #, c-format
 msgid ""
 "\n"
 "There are no relocations in this file.\n"
 msgstr ""
 
-#: readelf.c:7491
+#: readelf.c:7588
+#, c-format
+msgid "Invalid section %u in table entry %ld\n"
+msgstr ""
+
+#: readelf.c:7600
 #, c-format
 msgid "Invalid offset %lx in table entry %ld\n"
 msgstr ""
 
-#: readelf.c:7509
+#: readelf.c:7618
 #, c-format
 msgid "\tUnknown version.\n"
 msgstr ""
 
-#: readelf.c:7572 readelf.c:8005
+#: readelf.c:7681 readelf.c:8114
 msgid "unwind table"
 msgstr ""
 
-#: readelf.c:7623 readelf.c:8087
+#: readelf.c:7732 readelf.c:8196
 #, c-format
 msgid "Skipping unknown relocation type: %u\n"
 msgstr ""
 
-#: readelf.c:7629 readelf.c:8094
+#: readelf.c:7738 readelf.c:8203
 #, c-format
 msgid "Skipping unexpected relocation type: %s\n"
 msgstr ""
 
-#: readelf.c:7638 readelf.c:8101
+#: readelf.c:7747 readelf.c:8210
 #, c-format
 msgid "Skipping reloc with overlarge offset: %lx\n"
 msgstr ""
 
-#: readelf.c:7645 readelf.c:8108
+#: readelf.c:7754 readelf.c:8217
 #, c-format
 msgid "Skipping reloc with invalid symbol index: %u\n"
 msgstr ""
 
-#: readelf.c:7698 readelf.c:8162
+#: readelf.c:7807 readelf.c:8271
 msgid "Multiple auxillary string tables encountered\n"
 msgstr ""
 
-#: readelf.c:7712 readelf.c:8176 readelf.c:9280
+#: readelf.c:7821 readelf.c:8285 readelf.c:9401
 #, c-format
 msgid ""
 "\n"
 "There are no unwind sections in this file.\n"
 msgstr ""
 
-#: readelf.c:7786
+#: readelf.c:7895
 #, c-format
 msgid ""
 "\n"
 "Could not find unwind info section for "
 msgstr ""
 
-#: readelf.c:7798
+#: readelf.c:7907
 msgid "unwind info"
 msgstr ""
 
-#: readelf.c:7801
+#: readelf.c:7910
 #, c-format
 msgid ""
 "\n"
 "Unwind section "
 msgstr ""
 
-#: readelf.c:7808
+#: readelf.c:7917
 #, c-format
 msgid " at offset 0x%lx contains %lu entries:\n"
 msgstr ""
 
-#: readelf.c:8184 readelf.c:9287
+#: readelf.c:8293 readelf.c:9408
 #, c-format
 msgid ""
 "\n"
@@ -7510,188 +7646,193 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:8323
+#: readelf.c:8432
 msgid "unwind data"
 msgstr ""
 
-#: readelf.c:8396
+#: readelf.c:8505
 #, c-format
 msgid "Skipping unexpected relocation at offset 0x%lx\n"
 msgstr ""
 
-#: readelf.c:8418
+#: readelf.c:8527
 #, c-format
 msgid "Unknown section relocation type %d encountered\n"
 msgstr ""
 
-#: readelf.c:8426
+#: readelf.c:8535
 #, c-format
 msgid "Bad symbol index in unwind relocation (%lu > %lu)\n"
 msgstr ""
 
-#: readelf.c:8441
+#: readelf.c:8550
 #, c-format
 msgid "Skipping unknown ARM relocation type: %d\n"
 msgstr ""
 
-#: readelf.c:8451
+#: readelf.c:8560
 #, c-format
 msgid "Skipping unexpected ARM relocation type %s\n"
 msgstr ""
 
-#: readelf.c:8460
+#: readelf.c:8569
 #, c-format
 msgid "Skipping unknown C6000 relocation type: %d\n"
 msgstr ""
 
-#: readelf.c:8470
+#: readelf.c:8579
 #, c-format
 msgid "Skipping unexpected C6000 relocation type %s\n"
 msgstr ""
 
 #. This function currently only supports ARM and TI unwinders.
-#: readelf.c:8479
+#: readelf.c:8588
 msgid "Only TI and ARM unwinders are currently supported\n"
 msgstr ""
 
-#: readelf.c:8542
+#: readelf.c:8651
 #, c-format
 msgid "[Truncated opcode]\n"
 msgstr ""
 
-#: readelf.c:8590 readelf.c:8806
+#: readelf.c:8699 readelf.c:8915
 #, c-format
 msgid "Refuse to unwind"
 msgstr ""
 
-#: readelf.c:8613
+#: readelf.c:8722
 #, c-format
 msgid "     [Reserved]"
 msgstr ""
 
-#: readelf.c:8641
+#: readelf.c:8750
 #, c-format
 msgid "     finish"
 msgstr ""
 
-#: readelf.c:8646 readelf.c:8739
+#: readelf.c:8755 readelf.c:8848
 #, c-format
 msgid "[Spare]"
 msgstr ""
 
-#: readelf.c:8680
+#: readelf.c:8789
 msgid "corrupt change to vsp"
 msgstr ""
 
-#: readelf.c:8761 readelf.c:8911
+#: readelf.c:8870 readelf.c:9027
 #, c-format
 msgid "     [unsupported opcode]"
 msgstr ""
 
-#: readelf.c:8854
+#: readelf.c:8963
 #, c-format
 msgid "pop frame {"
 msgstr ""
 
-#: readelf.c:8865
+#: readelf.c:8966
+#, c-format
+msgid "*corrupt* - no registers specified"
+msgstr ""
+
+#: readelf.c:8980
 msgid "[pad]"
 msgstr ""
 
-#: readelf.c:8893
+#: readelf.c:9009
 msgid "Corrupt stack pointer adjustment detected\n"
 msgstr ""
 
-#: readelf.c:8900
+#: readelf.c:9016
 #, c-format
 msgid "sp = sp + %ld"
 msgstr ""
 
-#: readelf.c:8970
+#: readelf.c:9091
 #, c-format
 msgid "  Personality routine: "
 msgstr ""
 
-#: readelf.c:9002
+#: readelf.c:9123
 #, c-format
 msgid "  [Truncated data]\n"
 msgstr ""
 
-#: readelf.c:9026
+#: readelf.c:9147
 #, c-format
 msgid "Corrupt ARM compact model table entry: %x \n"
 msgstr ""
 
-#: readelf.c:9031
+#: readelf.c:9152
 #, c-format
 msgid "  Compact model index: %d\n"
 msgstr ""
 
-#: readelf.c:9057
+#: readelf.c:9178
 msgid "Unknown ARM compact model index encountered\n"
 msgstr ""
 
-#: readelf.c:9058
+#: readelf.c:9179
 #, c-format
 msgid "  [reserved]\n"
 msgstr ""
 
-#: readelf.c:9073
+#: readelf.c:9194
 #, c-format
 msgid "  Restore stack from frame pointer\n"
 msgstr ""
 
-#: readelf.c:9075
+#: readelf.c:9196
 #, c-format
 msgid "  Stack increment %d\n"
 msgstr ""
 
-#: readelf.c:9076
+#: readelf.c:9197
 #, c-format
 msgid "  Registers restored: "
 msgstr ""
 
-#: readelf.c:9081
+#: readelf.c:9202
 #, c-format
 msgid "  Return register: %s\n"
 msgstr ""
 
-#: readelf.c:9085
+#: readelf.c:9206
 #, c-format
 msgid "  [reserved (%d)]\n"
 msgstr ""
 
-#: readelf.c:9089
+#: readelf.c:9210
 #, c-format
 msgid ""
 "Unsupported architecture type %d encountered when decoding unwind table\n"
 msgstr ""
 
-#: readelf.c:9144
+#: readelf.c:9265
 #, c-format
 msgid "corrupt index table entry: %x\n"
 msgstr ""
 
-#: readelf.c:9184
+#: readelf.c:9305
 #, c-format
 msgid "Unwind entry contains corrupt offset (0x%lx) into section %s\n"
 msgstr ""
 
-#: readelf.c:9200
+#: readelf.c:9321
 #, c-format
 msgid "Could not locate .ARM.extab section containing 0x%lx.\n"
 msgstr ""
 
-#: readelf.c:9245
+#: readelf.c:9366
 #, c-format
 msgid ""
 "Unsupported architecture type %d encountered when processing unwind table\n"
 msgstr ""
 
-#: readelf.c:9267
+#: readelf.c:9388
 msgid "Multiple string tables found in file.\n"
 msgstr ""
 
-#: readelf.c:9333
+#: readelf.c:9454
 #, c-format
 msgid ""
 "\n"
@@ -7699,37 +7840,37 @@ msgid ""
 "supported.\n"
 msgstr ""
 
-#: readelf.c:9345
+#: readelf.c:9481
 #, c-format
 msgid "NONE"
 msgstr ""
 
-#: readelf.c:9370
+#: readelf.c:9506
 #, c-format
 msgid "Interface Version: %s"
 msgstr ""
 
 #. Note: coded this way so that there is a single string for translation.
-#: readelf.c:9376
+#: readelf.c:9512
 #, c-format
 msgid "<corrupt: %s>"
 msgstr ""
 
-#: readelf.c:9394
+#: readelf.c:9530
 #, c-format
 msgid "Time Stamp: %s"
 msgstr ""
 
-#: readelf.c:9572 readelf.c:9620
+#: readelf.c:9713 readelf.c:9761
 msgid "dynamic section"
 msgstr ""
 
-#: readelf.c:9592 readelf.c:9641
+#: readelf.c:9733 readelf.c:9782
 #, c-format
 msgid "Out of memory allocating space for %lu dynamic entries\n"
 msgstr ""
 
-#: readelf.c:9701
+#: readelf.c:9842
 #, c-format
 msgid ""
 "\n"
@@ -7737,50 +7878,50 @@ msgid ""
 msgstr ""
 
 #. See PR 21379 for a reproducer.
-#: readelf.c:9739
+#: readelf.c:9880
 #, c-format
 msgid "Invalid DT_SYMTAB entry: %lx"
 msgstr ""
 
-#: readelf.c:9756
+#: readelf.c:9897
 msgid "Multiple dynamic symbol table sections found\n"
 msgstr ""
 
-#: readelf.c:9762
+#: readelf.c:9903
 msgid "Unable to determine the number of symbols to load\n"
 msgstr ""
 
-#: readelf.c:9798
+#: readelf.c:9939
 msgid "Unable to determine the length of the dynamic string table\n"
 msgstr ""
 
-#: readelf.c:9804
+#: readelf.c:9945
 msgid "Multiple dynamic string tables found\n"
 msgstr ""
 
-#: readelf.c:9810
+#: readelf.c:9951
 msgid "dynamic string table"
 msgstr ""
 
-#: readelf.c:9831
+#: readelf.c:9972
 #, c-format
 msgid "Bad value (%d) for SYMINENT entry\n"
 msgstr ""
 
-#: readelf.c:9850
+#: readelf.c:9991
 msgid "symbol information"
 msgstr ""
 
-#: readelf.c:9856
+#: readelf.c:9997
 msgid "Multiple dynamic symbol information sections found\n"
 msgstr ""
 
-#: readelf.c:9862
+#: readelf.c:10003
 #, c-format
 msgid "Out of memory allocating %lu byte for dynamic symbol info\n"
 msgstr ""
 
-#: readelf.c:9881
+#: readelf.c:10022
 #, c-format
 msgid ""
 "\n"
@@ -7791,87 +7932,87 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:9888
+#: readelf.c:10029
 #, c-format
 msgid "  Tag        Type                         Name/Value\n"
 msgstr ""
 
-#: readelf.c:9922
+#: readelf.c:10063
 #, c-format
 msgid "Auxiliary library"
 msgstr ""
 
-#: readelf.c:9926
+#: readelf.c:10067
 #, c-format
 msgid "Filter library"
 msgstr ""
 
-#: readelf.c:9930
+#: readelf.c:10071
 #, c-format
 msgid "Configuration file"
 msgstr ""
 
-#: readelf.c:9934
+#: readelf.c:10075
 #, c-format
 msgid "Dependency audit library"
 msgstr ""
 
-#: readelf.c:9938
+#: readelf.c:10079
 #, c-format
 msgid "Audit library"
 msgstr ""
 
-#: readelf.c:9956 readelf.c:9984 readelf.c:10012
+#: readelf.c:10097 readelf.c:10125 readelf.c:10153
 #, c-format
 msgid "Flags:"
 msgstr ""
 
-#: readelf.c:9959 readelf.c:9987 readelf.c:10014
+#: readelf.c:10100 readelf.c:10128 readelf.c:10155
 #, c-format
 msgid " None\n"
 msgstr ""
 
-#: readelf.c:10220
+#: readelf.c:10361
 #, c-format
 msgid "Shared library: [%s]"
 msgstr ""
 
-#: readelf.c:10223
+#: readelf.c:10364
 #, c-format
 msgid " program interpreter"
 msgstr ""
 
-#: readelf.c:10227
+#: readelf.c:10368
 #, c-format
 msgid "Library soname: [%s]"
 msgstr ""
 
-#: readelf.c:10231
+#: readelf.c:10372
 #, c-format
 msgid "Library rpath: [%s]"
 msgstr ""
 
-#: readelf.c:10235
+#: readelf.c:10376
 #, c-format
 msgid "Library runpath: [%s]"
 msgstr ""
 
-#: readelf.c:10269
+#: readelf.c:10410
 #, c-format
 msgid " (bytes)\n"
 msgstr ""
 
-#: readelf.c:10299
+#: readelf.c:10440
 #, c-format
 msgid "Not needed object: [%s]\n"
 msgstr ""
 
-#: readelf.c:10324
+#: readelf.c:10465
 #, c-format
 msgid "<corrupt time val: %lx"
 msgstr ""
 
-#: readelf.c:10441
+#: readelf.c:10585
 #, c-format
 msgid ""
 "\n"
@@ -7882,71 +8023,71 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:10449
+#: readelf.c:10593 readelf.c:10729 readelf.c:10885
 #, c-format
-msgid "  Addr: 0x"
+msgid " Addr: 0x"
 msgstr ""
 
-#: readelf.c:10451 readelf.c:10587 readelf.c:10743
+#: readelf.c:10595 readelf.c:10731 readelf.c:10887
 #, c-format
 msgid "  Offset: %#08lx  Link: %u (%s)\n"
 msgstr ""
 
-#: readelf.c:10457
+#: readelf.c:10601
 msgid "version definition section"
 msgstr ""
 
-#: readelf.c:10486
+#: readelf.c:10630
 #, c-format
 msgid "  %#06lx: Rev: %d  Flags: %s"
 msgstr ""
 
-#: readelf.c:10489
+#: readelf.c:10633
 #, c-format
 msgid "  Index: %d  Cnt: %d  "
 msgstr ""
 
-#: readelf.c:10506
+#: readelf.c:10650
 #, c-format
 msgid "Name: %s\n"
 msgstr ""
 
-#: readelf.c:10508
+#: readelf.c:10652
 #, c-format
 msgid "Name index: %ld\n"
 msgstr ""
 
-#: readelf.c:10517
+#: readelf.c:10661
 #, c-format
 msgid "Invalid vda_next field of %lx\n"
 msgstr ""
 
-#: readelf.c:10537
+#: readelf.c:10681
 #, c-format
 msgid "  %#06lx: Parent %d: %s\n"
 msgstr ""
 
-#: readelf.c:10540
+#: readelf.c:10684
 #, c-format
 msgid "  %#06lx: Parent %d, name index: %ld\n"
 msgstr ""
 
-#: readelf.c:10545
+#: readelf.c:10689
 #, c-format
 msgid "  Version def aux past end of section\n"
 msgstr ""
 
-#: readelf.c:10552
+#: readelf.c:10696
 #, c-format
 msgid "Invalid vd_next field of %lx\n"
 msgstr ""
 
-#: readelf.c:10563
+#: readelf.c:10707
 #, c-format
 msgid "  Version definition past end of section\n"
 msgstr ""
 
-#: readelf.c:10578
+#: readelf.c:10722
 #, c-format
 msgid ""
 "\n"
@@ -7957,73 +8098,68 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:10585
-#, c-format
-msgid " Addr: 0x"
-msgstr ""
-
-#: readelf.c:10594
+#: readelf.c:10738
 msgid "Version Needs section"
 msgstr ""
 
-#: readelf.c:10619
+#: readelf.c:10763
 #, c-format
 msgid "  %#06lx: Version: %d"
 msgstr ""
 
-#: readelf.c:10622
+#: readelf.c:10766
 #, c-format
 msgid "  File: %s"
 msgstr ""
 
-#: readelf.c:10624
+#: readelf.c:10768
 #, c-format
 msgid "  File: %lx"
 msgstr ""
 
-#: readelf.c:10626
+#: readelf.c:10770
 #, c-format
 msgid "  Cnt: %d\n"
 msgstr ""
 
-#: readelf.c:10649
+#: readelf.c:10793
 #, c-format
 msgid "  %#06lx:   Name: %s"
 msgstr ""
 
-#: readelf.c:10652
+#: readelf.c:10796
 #, c-format
 msgid "  %#06lx:   Name index: %lx"
 msgstr ""
 
-#: readelf.c:10655
+#: readelf.c:10799
 #, c-format
 msgid "  Flags: %s  Version: %d\n"
 msgstr ""
 
-#: readelf.c:10661
+#: readelf.c:10805
 #, c-format
 msgid "Invalid vna_next field of %lx\n"
 msgstr ""
 
-#: readelf.c:10674
+#: readelf.c:10818
 msgid "Missing Version Needs auxillary information\n"
 msgstr ""
 
-#: readelf.c:10679
+#: readelf.c:10823
 #, c-format
 msgid "Invalid vn_next field of %lx\n"
 msgstr ""
 
-#: readelf.c:10689
+#: readelf.c:10833
 msgid "Missing Version Needs information\n"
 msgstr ""
 
-#: readelf.c:10727
+#: readelf.c:10871
 msgid "version string table"
 msgstr ""
 
-#: readelf.c:10734
+#: readelf.c:10878
 #, c-format
 msgid ""
 "\n"
@@ -8034,184 +8170,184 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:10741
-#, c-format
-msgid " Addr: "
-msgstr ""
-
-#: readelf.c:10752
+#: readelf.c:10896
 msgid "version symbol data"
 msgstr ""
 
-#: readelf.c:10772
+#: readelf.c:10916
 msgid "*invalid*"
 msgstr ""
 
-#: readelf.c:10780
+#: readelf.c:10924
 msgid "   0 (*local*)    "
 msgstr ""
 
-#: readelf.c:10784
+#: readelf.c:10928
 msgid "   1 (*global*)   "
 msgstr ""
 
-#: readelf.c:10795
+#: readelf.c:10939
 msgid "invalid index into symbol array\n"
 msgstr ""
 
-#: readelf.c:10817 readelf.c:11460
+#: readelf.c:10961 readelf.c:11632
 msgid "version need"
 msgstr ""
 
-#: readelf.c:10828
+#: readelf.c:10972
 msgid "version need aux (2)"
 msgstr ""
 
-#: readelf.c:10874 readelf.c:11400
+#: readelf.c:11018 readelf.c:11576
 msgid "version def"
 msgstr ""
 
-#: readelf.c:10902 readelf.c:11431
+#: readelf.c:11046 readelf.c:11607
 msgid "version def aux"
 msgstr ""
 
-#: readelf.c:10910
+#: readelf.c:11054
 msgid "*both*"
 msgstr ""
 
-#: readelf.c:10940
+#: readelf.c:11084
 #, c-format
 msgid ""
 "\n"
 "No version information found in this file.\n"
 msgstr ""
 
-#: readelf.c:11039
+#: readelf.c:11179
 #, c-format
 msgid "Unrecognized visibility value: %u"
 msgstr ""
 
-#: readelf.c:11100
+#: readelf.c:11192
+#, c-format
+msgid "Unrecognized alpah specific other value: %u"
+msgstr ""
+
+#: readelf.c:11269
 #, c-format
 msgid "Unrecognized IA64 VMS ST Function type: %d\n"
 msgstr ""
 
-#: readelf.c:11124
+#: readelf.c:11293
 #, c-format
 msgid "Unrecognized IA64 VMS ST Linkage: %d\n"
 msgstr ""
 
-#: readelf.c:11150
+#: readelf.c:11319
 #, c-format
 msgid "<localentry>: %d"
 msgstr ""
 
-#: readelf.c:11184
+#: readelf.c:11359
 #, c-format
 msgid "<other>: %x"
 msgstr ""
 
-#: readelf.c:11223
+#: readelf.c:11398
 #, c-format
 msgid "bad section index[%3d]"
 msgstr ""
 
-#: readelf.c:11244
+#: readelf.c:11419
 #, c-format
 msgid "Size truncation prevents reading %s elements of size %u\n"
 msgstr ""
 
-#: readelf.c:11253
+#: readelf.c:11428
 #, c-format
 msgid "Invalid number of dynamic entries: %s\n"
 msgstr ""
 
-#: readelf.c:11261
+#: readelf.c:11436
 #, c-format
 msgid "Out of memory reading %s dynamic entries\n"
 msgstr ""
 
-#: readelf.c:11268
+#: readelf.c:11443
 #, c-format
 msgid "Unable to read in %s bytes of dynamic data\n"
 msgstr ""
 
-#: readelf.c:11277
+#: readelf.c:11452
 #, c-format
 msgid "Out of memory allocating space for %s dynamic entries\n"
 msgstr ""
 
-#: readelf.c:11304
+#: readelf.c:11479
 #, c-format
 msgid "<No info available for dynamic symbol number %lu>\n"
 msgstr ""
 
-#: readelf.c:11336
+#: readelf.c:11511
 #, c-format
 msgid " <corrupt: %14ld>"
 msgstr ""
 
-#: readelf.c:11363
+#: readelf.c:11538
 msgid "version data"
 msgstr ""
 
-#: readelf.c:11478
+#: readelf.c:11650
 msgid "version need aux (3)"
 msgstr ""
 
-#: readelf.c:11556 readelf.c:11608 readelf.c:11632 readelf.c:11662
-#: readelf.c:11686
+#: readelf.c:11729 readelf.c:11781 readelf.c:11805 readelf.c:11835
+#: readelf.c:11859 readelf.c:11878
 msgid "Unable to seek to start of dynamic information\n"
 msgstr ""
 
-#: readelf.c:11562 readelf.c:11614
+#: readelf.c:11735 readelf.c:11787
 msgid "Failed to read in number of buckets\n"
 msgstr ""
 
-#: readelf.c:11568
+#: readelf.c:11741
 msgid "Failed to read in number of chains\n"
 msgstr ""
 
-#: readelf.c:11670
+#: readelf.c:11843
 msgid "Failed to determine last chain length\n"
 msgstr ""
 
-#: readelf.c:11717
+#: readelf.c:11914
 #, c-format
 msgid ""
 "\n"
 "Symbol table for image:\n"
 msgstr ""
 
-#: readelf.c:11719 readelf.c:11745
+#: readelf.c:11916 readelf.c:11943
 #, c-format
 msgid "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"
 msgstr ""
 
-#: readelf.c:11721 readelf.c:11747
+#: readelf.c:11918 readelf.c:11945
 #, c-format
 msgid "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"
 msgstr ""
 
-#: readelf.c:11732 readelf.c:11928
+#: readelf.c:11929 readelf.c:12129
 msgid "histogram chain is corrupt\n"
 msgstr ""
 
-#: readelf.c:11743
+#: readelf.c:11940
 #, c-format
 msgid ""
 "\n"
-"Symbol table of `.gnu.hash' for image:\n"
+"Symbol table of `%s' for image:\n"
 msgstr ""
 
-#: readelf.c:11788
+#: readelf.c:11989
 #, c-format
 msgid ""
 "\n"
 "Symbol table '%s' has a sh_entsize of zero!\n"
 msgstr ""
 
-#: readelf.c:11794
+#: readelf.c:11995
 #, c-format
 msgid ""
 "\n"
@@ -8222,29 +8358,29 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:11801
+#: readelf.c:12002
 #, c-format
 msgid "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"
 msgstr ""
 
-#: readelf.c:11803
+#: readelf.c:12004
 #, c-format
 msgid "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n"
 msgstr ""
 
-#: readelf.c:11878
+#: readelf.c:12079
 #, c-format
 msgid "local symbol %u found at index >= %s's sh_info value of %u\n"
 msgstr ""
 
-#: readelf.c:11889
+#: readelf.c:12090
 #, c-format
 msgid ""
 "\n"
 "Dynamic symbol information is not available for displaying symbols.\n"
 msgstr ""
 
-#: readelf.c:11902
+#: readelf.c:12103
 #, c-format
 msgid ""
 "\n"
@@ -8255,39 +8391,39 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:11912
+#: readelf.c:12113
 msgid "Out of memory allocating space for histogram buckets\n"
 msgstr ""
 
-#: readelf.c:11918 readelf.c:11994
+#: readelf.c:12119 readelf.c:12196
 #, c-format
 msgid " Length  Number     %% of total  Coverage\n"
 msgstr ""
 
-#: readelf.c:11940
+#: readelf.c:12141
 msgid "Out of memory allocating space for histogram counts\n"
 msgstr ""
 
-#: readelf.c:11980
+#: readelf.c:12181
 #, c-format
 msgid ""
 "\n"
-"Histogram for `.gnu.hash' bucket list length (total of %lu bucket):\n"
+"Histogram for `%s' bucket list length (total of %lu bucket):\n"
 msgid_plural ""
 "\n"
-"Histogram for `.gnu.hash' bucket list length (total of %lu buckets):\n"
+"Histogram for `%s' bucket list length (total of %lu buckets):\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:11990
+#: readelf.c:12192
 msgid "Out of memory allocating space for gnu histogram buckets\n"
 msgstr ""
 
-#: readelf.c:12016
+#: readelf.c:12218
 msgid "Out of memory allocating space for gnu histogram counts\n"
 msgstr ""
 
-#: readelf.c:12061
+#: readelf.c:12264
 #, c-format
 msgid ""
 "\n"
@@ -8298,173 +8434,203 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:12068
+#: readelf.c:12271
 #, c-format
 msgid " Num: Name                           BoundTo     Flags\n"
 msgstr ""
 
-#: readelf.c:12075
+#: readelf.c:12278
 #, c-format
 msgid "<corrupt index>"
 msgstr ""
 
-#: readelf.c:12079
+#: readelf.c:12282
 #, c-format
 msgid "<corrupt: %19ld>"
 msgstr ""
 
-#: readelf.c:12168
+#: readelf.c:12375
 #, c-format
 msgid "MSP430 SYM_DIFF reloc contains invalid symbol index %lu\n"
 msgstr ""
 
-#: readelf.c:12197
+#: readelf.c:12404
 #, c-format
 msgid "MSP430 reloc contains invalid symbol index %lu\n"
 msgstr ""
 
 #. PR 21137
-#: readelf.c:12208
+#: readelf.c:12415
 #, c-format
 msgid "MSP430 sym diff reloc contains invalid offset: 0x%lx\n"
 msgstr ""
 
-#: readelf.c:12219
+#: readelf.c:12426
 msgid "Unhandled MSP430 reloc type found after SYM_DIFF reloc\n"
 msgstr ""
 
-#: readelf.c:12242
+#: readelf.c:12449
 #, c-format
 msgid "MN10300_SYM_DIFF reloc contains invalid symbol index %lu\n"
 msgstr ""
 
-#: readelf.c:12256
+#: readelf.c:12463
 #, c-format
 msgid "MN10300 reloc contains invalid symbol index %lu\n"
 msgstr ""
 
-#: readelf.c:12266
+#: readelf.c:12473
 #, c-format
 msgid "MN10300 sym diff reloc contains invalid offset: 0x%lx\n"
 msgstr ""
 
-#: readelf.c:12276
+#: readelf.c:12483
 msgid "Unhandled MN10300 reloc type found after SYM_DIFF reloc\n"
 msgstr ""
 
-#: readelf.c:12299
+#: readelf.c:12506
 #, c-format
 msgid "RL78_SYM reloc contains invalid symbol index %lu\n"
 msgstr ""
 
-#: readelf.c:12318 readelf.c:12327
+#: readelf.c:12525 readelf.c:12534
 #, c-format
 msgid "RL78 sym diff reloc contains invalid offset: 0x%lx\n"
 msgstr ""
 
-#: readelf.c:12542
+#: readelf.c:12753
 #, c-format
 msgid ""
 "Missing knowledge of 32-bit reloc types used in DWARF sections of machine "
 "number %d\n"
 msgstr ""
 
-#: readelf.c:13209
+#: readelf.c:13429
 #, c-format
 msgid "unable to apply unsupported reloc type %d to section %s\n"
 msgstr ""
 
-#: readelf.c:13218
+#: readelf.c:13438
 #, c-format
 msgid "skipping invalid relocation offset 0x%lx in section %s\n"
 msgstr ""
 
-#: readelf.c:13227
+#: readelf.c:13447
 #, c-format
 msgid "skipping invalid relocation symbol index 0x%lx in section %s\n"
 msgstr ""
 
-#: readelf.c:13250
+#: readelf.c:13470
 #, c-format
 msgid "skipping unexpected symbol type %s in section %s relocation %ld\n"
 msgstr ""
 
-#: readelf.c:13327
+#: readelf.c:13547
 #, c-format
 msgid ""
 "\n"
 "Assembly dump of section %s\n"
 msgstr ""
 
-#: readelf.c:13345
+#: readelf.c:13565
 #, c-format
 msgid "Section '%s' has no data to dump.\n"
 msgstr ""
 
-#: readelf.c:13351
+#: readelf.c:13571
 msgid "section contents"
 msgstr ""
 
-#: readelf.c:13426
+#: readelf.c:13646
 #, c-format
 msgid ""
 "\n"
 "String dump of section '%s':\n"
 msgstr ""
 
-#: readelf.c:13442 readelf.c:13583 readelf.c:13752
+#: readelf.c:13662 readelf.c:13803 readelf.c:14133
 #, c-format
 msgid "section '%s' has unsupported compress type: %d\n"
 msgstr ""
 
-#: readelf.c:13474 readelf.c:13617 readelf.c:13789
+#: readelf.c:13694 readelf.c:13837 readelf.c:14170
 #, c-format
 msgid "Unable to decompress section %s\n"
 msgstr ""
 
-#: readelf.c:13499
+#: readelf.c:13719
 #, c-format
 msgid ""
 "  Note: This section has relocations against it, but these have NOT been "
 "applied to this dump.\n"
 msgstr ""
 
-#: readelf.c:13532 readelf.c:14621 readelf.c:14664 readelf.c:14712
-#: readelf.c:14744
+#: readelf.c:13752 readelf.c:14983 readelf.c:15023 readelf.c:15070
+#: readelf.c:15101 readelf.c:16608 readelf.c:16638
 #, c-format
 msgid "<corrupt>\n"
 msgstr ""
 
-#: readelf.c:13540
+#: readelf.c:13760
 #, c-format
 msgid "  No strings found in this section."
 msgstr ""
 
-#: readelf.c:13568
+#: readelf.c:13788
 #, c-format
 msgid ""
 "\n"
 "Hex dump of section '%s':\n"
 msgstr ""
 
-#: readelf.c:13650
+#: readelf.c:13870
 #, c-format
 msgid ""
 " NOTE: This section has relocations against it, but these have NOT been "
 "applied to this dump.\n"
 msgstr ""
 
-#: readelf.c:13719
+#: readelf.c:13985
+#, c-format
+msgid "No symbol section named %s\n"
+msgstr ""
+
+#: readelf.c:14000
+#, c-format
+msgid "No string table section named %s\n"
+msgstr ""
+
+#: readelf.c:14007
+msgid "strings"
+msgstr ""
+
+#: readelf.c:14016
+#, c-format
+msgid "No CTF parent section named %s\n"
+msgstr ""
+
+#: readelf.c:14022
+msgid "CTF parent"
+msgstr ""
+
+#: readelf.c:14049
+#, c-format
+msgid ""
+"\n"
+"Dump of CTF section '%s':\n"
+msgstr ""
+
+#: readelf.c:14100
 #, c-format
 msgid "%s section data"
 msgstr ""
 
-#: readelf.c:13743
+#: readelf.c:14124
 #, c-format
 msgid "compressed section %s is too small to contain a compression header"
 msgstr ""
 
-#: readelf.c:13899
+#: readelf.c:14280
 #, c-format
 msgid ""
 "\n"
@@ -8475,523 +8641,533 @@ msgstr ""
 #. which has the NOBITS type - the bits in the file will be random.
 #. This can happen when a file containing a .eh_frame section is
 #. stripped with the --only-keep-debug command line option.
-#: readelf.c:13908
+#: readelf.c:14289
 #, c-format
 msgid "section '%s' has the NOBITS type - its contents are unreliable.\n"
 msgstr ""
 
-#: readelf.c:13958
+#: readelf.c:14339
 #, c-format
 msgid "Unrecognized debug section: %s\n"
 msgstr ""
 
-#: readelf.c:13986
+#: readelf.c:14367
 #, c-format
 msgid "Section '%s' was not dumped because it does not exist!\n"
 msgstr ""
 
-#: readelf.c:14047
+#: readelf.c:14434
 #, c-format
 msgid "Section %d was not dumped because it does not exist!\n"
 msgstr ""
 
-#: readelf.c:14104
+#: readelf.c:14491
 msgid "<corrupt tag>\n"
 msgstr ""
 
-#: readelf.c:14119
+#: readelf.c:14506
 #, c-format
 msgid "<corrupt string tag>"
 msgstr ""
 
-#: readelf.c:14159
+#: readelf.c:14540
 #, c-format
 msgid "Absent/Non standard\n"
 msgstr ""
 
-#: readelf.c:14162
+#: readelf.c:14543
 #, c-format
 msgid "Bare metal/mwdt\n"
 msgstr ""
 
-#: readelf.c:14165
+#: readelf.c:14546
 #, c-format
 msgid "Bare metal/newlib\n"
 msgstr ""
 
-#: readelf.c:14168
+#: readelf.c:14549
 #, c-format
 msgid "Linux/uclibc\n"
 msgstr ""
 
-#: readelf.c:14171
+#: readelf.c:14552
 #, c-format
 msgid "Linux/glibc\n"
 msgstr ""
 
-#: readelf.c:14174 readelf.c:14258
+#: readelf.c:14555 readelf.c:14634
 #, c-format
 msgid "Unknown\n"
 msgstr ""
 
-#: readelf.c:14187 readelf.c:14218 readelf.c:14249
+#: readelf.c:14567 readelf.c:14597 readelf.c:14625
 #, c-format
 msgid "Absent\n"
 msgstr ""
 
-#: readelf.c:14231
+#: readelf.c:14609
 msgid "yes"
 msgstr ""
 
-#: readelf.c:14231
+#: readelf.c:14609
 msgid "no"
 msgstr ""
 
-#: readelf.c:14272 readelf.c:14280
+#: readelf.c:14646 readelf.c:14653
 msgid "default"
 msgstr ""
 
-#: readelf.c:14273
+#: readelf.c:14647
 msgid "smallest"
 msgstr ""
 
-#: readelf.c:14279
+#: readelf.c:14652
 msgid "OPTFP"
 msgstr ""
 
-#: readelf.c:14479 readelf.c:14493 readelf.c:14512 readelf.c:15020
-#: readelf.c:15311 readelf.c:15324 readelf.c:15337
+#: readelf.c:14850 readelf.c:14863 readelf.c:14881 readelf.c:15364
+#: readelf.c:15643 readelf.c:15655 readelf.c:15667
 #, c-format
 msgid "None\n"
 msgstr ""
 
-#: readelf.c:14480
+#: readelf.c:14851
 #, c-format
 msgid "Application\n"
 msgstr ""
 
-#: readelf.c:14481
+#: readelf.c:14852
 #, c-format
 msgid "Realtime\n"
 msgstr ""
 
-#: readelf.c:14482
+#: readelf.c:14853
 #, c-format
 msgid "Microcontroller\n"
 msgstr ""
 
-#: readelf.c:14483
+#: readelf.c:14854
 #, c-format
 msgid "Application or Realtime\n"
 msgstr ""
 
-#: readelf.c:14494 readelf.c:14514 readelf.c:15074 readelf.c:15092
-#: readelf.c:15167 readelf.c:15188 readelf.c:17674
+#: readelf.c:14864 readelf.c:14883 readelf.c:15416 readelf.c:15433
+#: readelf.c:15504 readelf.c:15524 readelf.c:18102
 #, c-format
 msgid "8-byte\n"
 msgstr ""
 
-#: readelf.c:14495 readelf.c:15170 readelf.c:15191 readelf.c:17673
+#: readelf.c:14865 readelf.c:15507 readelf.c:15527 readelf.c:18101
 #, c-format
 msgid "4-byte\n"
 msgstr ""
 
-#: readelf.c:14499 readelf.c:14518
+#: readelf.c:14869 readelf.c:14887
 #, c-format
 msgid "8-byte and up to %d-byte extended\n"
 msgstr ""
 
-#: readelf.c:14513
+#: readelf.c:14882
 #, c-format
 msgid "8-byte, except leaf SP\n"
 msgstr ""
 
-#: readelf.c:14530 readelf.c:14618 readelf.c:15207
+#: readelf.c:14898 readelf.c:14980 readelf.c:15542
 #, c-format
 msgid "flag = %d, vendor = "
 msgstr ""
 
-#: readelf.c:14551
+#: readelf.c:14919
 #, c-format
 msgid "True\n"
 msgstr ""
 
-#: readelf.c:14573
+#: readelf.c:14939
 #, c-format
 msgid "<unknown: %d>\n"
 msgstr ""
 
-#: readelf.c:14622
+#: readelf.c:14984
 msgid "corrupt vendor attribute\n"
 msgstr ""
 
-#: readelf.c:14674
+#: readelf.c:15034
 #, c-format
 msgid "unspecified hard/soft float, "
 msgstr ""
 
-#: readelf.c:14677
+#: readelf.c:15037
 #, c-format
 msgid "hard float, "
 msgstr ""
 
-#: readelf.c:14680
+#: readelf.c:15040
 #, c-format
 msgid "soft float, "
 msgstr ""
 
-#: readelf.c:14683
+#: readelf.c:15043
 #, c-format
 msgid "single-precision hard float, "
 msgstr ""
 
-#: readelf.c:14690
+#: readelf.c:15050
 #, c-format
 msgid "unspecified long double\n"
 msgstr ""
 
-#: readelf.c:14693
+#: readelf.c:15053
 #, c-format
 msgid "128-bit IBM long double\n"
 msgstr ""
 
-#: readelf.c:14696
+#: readelf.c:15056
 #, c-format
 msgid "64-bit long double\n"
 msgstr ""
 
-#: readelf.c:14699
+#: readelf.c:15059
 #, c-format
 msgid "128-bit IEEE long double\n"
 msgstr ""
 
-#: readelf.c:14722 readelf.c:14754
+#: readelf.c:15081 readelf.c:15112
 #, c-format
 msgid "unspecified\n"
 msgstr ""
 
-#: readelf.c:14725
+#: readelf.c:15084
 #, c-format
 msgid "generic\n"
 msgstr ""
 
-#: readelf.c:14760
+#: readelf.c:15118
 #, c-format
 msgid "memory\n"
 msgstr ""
 
-#: readelf.c:14789
+#: readelf.c:15145
 #, c-format
 msgid "any\n"
 msgstr ""
 
-#: readelf.c:14792
+#: readelf.c:15148
 #, c-format
 msgid "software\n"
 msgstr ""
 
-#: readelf.c:14795
+#: readelf.c:15151
 #, c-format
 msgid "hardware\n"
 msgstr ""
 
-#: readelf.c:14921
+#: readelf.c:15274
 #, c-format
 msgid "Hard or soft float\n"
 msgstr ""
 
-#: readelf.c:14924
+#: readelf.c:15277
 #, c-format
 msgid "Hard float (double precision)\n"
 msgstr ""
 
-#: readelf.c:14927
+#: readelf.c:15280
 #, c-format
 msgid "Hard float (single precision)\n"
 msgstr ""
 
-#: readelf.c:14930
+#: readelf.c:15283
 #, c-format
 msgid "Soft float\n"
 msgstr ""
 
-#: readelf.c:14933
+#: readelf.c:15286
 #, c-format
 msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
 msgstr ""
 
-#: readelf.c:14936
+#: readelf.c:15289
 #, c-format
 msgid "Hard float (32-bit CPU, Any FPU)\n"
 msgstr ""
 
-#: readelf.c:14939
+#: readelf.c:15292
 #, c-format
 msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
 msgstr ""
 
-#: readelf.c:14942
+#: readelf.c:15295
 #, c-format
 msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
 msgstr ""
 
-#: readelf.c:14945
+#: readelf.c:15298
 #, c-format
 msgid "NaN 2008 compatibility\n"
 msgstr ""
 
-#: readelf.c:14984
+#: readelf.c:15331
 #, c-format
 msgid "Any MSA or not\n"
 msgstr ""
 
-#: readelf.c:14987
+#: readelf.c:15334
 #, c-format
 msgid "128-bit MSA\n"
 msgstr ""
 
-#: readelf.c:15053
+#: readelf.c:15396
 #, c-format
 msgid "Not used\n"
 msgstr ""
 
-#: readelf.c:15056
+#: readelf.c:15399
 #, c-format
 msgid "2 bytes\n"
 msgstr ""
 
-#: readelf.c:15059
+#: readelf.c:15402
 #, c-format
 msgid "4 bytes\n"
 msgstr ""
 
-#: readelf.c:15077 readelf.c:15095 readelf.c:15173 readelf.c:15194
+#: readelf.c:15419 readelf.c:15436 readelf.c:15510 readelf.c:15530
 #, c-format
 msgid "16-byte\n"
 msgstr ""
 
-#: readelf.c:15110
+#: readelf.c:15450
 #, c-format
 msgid "DSBT addressing not used\n"
 msgstr ""
 
-#: readelf.c:15113
+#: readelf.c:15453
 #, c-format
 msgid "DSBT addressing used\n"
 msgstr ""
 
-#: readelf.c:15128
+#: readelf.c:15467
 #, c-format
 msgid "Data addressing position-dependent\n"
 msgstr ""
 
-#: readelf.c:15131
+#: readelf.c:15470
 #, c-format
 msgid "Data addressing position-independent, GOT near DP\n"
 msgstr ""
 
-#: readelf.c:15134
+#: readelf.c:15473
 #, c-format
 msgid "Data addressing position-independent, GOT far from DP\n"
 msgstr ""
 
-#: readelf.c:15149
+#: readelf.c:15487
 #, c-format
 msgid "Code addressing position-dependent\n"
 msgstr ""
 
-#: readelf.c:15152
+#: readelf.c:15490
 #, c-format
 msgid "Code addressing position-independent\n"
 msgstr ""
 
-#: readelf.c:15312
+#: readelf.c:15644
 #, c-format
 msgid "MSP430\n"
 msgstr ""
 
-#: readelf.c:15313
+#: readelf.c:15645
 #, c-format
 msgid "MSP430X\n"
 msgstr ""
 
-#: readelf.c:15325 readelf.c:15338
+#: readelf.c:15656 readelf.c:15668
 #, c-format
 msgid "Small\n"
 msgstr ""
 
-#: readelf.c:15326 readelf.c:15339
+#: readelf.c:15657 readelf.c:15669
 #, c-format
 msgid "Large\n"
 msgstr ""
 
-#: readelf.c:15340
+#: readelf.c:15670
 #, c-format
 msgid "Restricted Large\n"
 msgstr ""
 
-#: readelf.c:15346
+#: readelf.c:15676
 #, c-format
 msgid "  <unknown tag %d>: "
 msgstr ""
 
-#: readelf.c:15430
+#: readelf.c:15722
+#, c-format
+msgid "Any Region\n"
+msgstr ""
+
+#: readelf.c:15725
+#, c-format
+msgid "Lower Region Only\n"
+msgstr ""
+
+#: readelf.c:15784
 #, c-format
-msgid "%d\n"
+msgid "%u\n"
 msgstr ""
 
-#: readelf.c:15438
+#: readelf.c:15791
 #, c-format
 msgid "No unaligned access\n"
 msgstr ""
 
-#: readelf.c:15441
+#: readelf.c:15794
 #, c-format
 msgid "Unaligned access\n"
 msgstr ""
 
-#: readelf.c:15448
+#: readelf.c:15800
 #, c-format
-msgid "%d-bytes\n"
+msgid "%u-bytes\n"
 msgstr ""
 
-#: readelf.c:15483
+#: readelf.c:15835
 msgid "attributes"
 msgstr ""
 
-#: readelf.c:15495
+#: readelf.c:15847
 #, c-format
 msgid "Unknown attributes version '%c'(%d) - expecting 'A'\n"
 msgstr ""
 
-#: readelf.c:15514
+#: readelf.c:15866
 msgid "Tag section ends prematurely\n"
 msgstr ""
 
-#: readelf.c:15523
+#: readelf.c:15875
 #, c-format
 msgid "Bad attribute length (%u > %u)\n"
 msgstr ""
 
-#: readelf.c:15531
+#: readelf.c:15883
 #, c-format
 msgid "Attribute length of %u is too small\n"
 msgstr ""
 
-#: readelf.c:15542
+#: readelf.c:15894
 msgid "Corrupt attribute section name\n"
 msgstr ""
 
-#: readelf.c:15547
+#: readelf.c:15899
 #, c-format
 msgid "Attribute Section: "
 msgstr ""
 
-#: readelf.c:15574
+#: readelf.c:15926
 msgid "Unused bytes at end of section\n"
 msgstr ""
 
-#: readelf.c:15584
+#: readelf.c:15936
 #, c-format
 msgid "Bad subsection length (%u > %u)\n"
 msgstr ""
 
-#: readelf.c:15592
+#: readelf.c:15944
 #, c-format
 msgid "Bad subsection length (%u < 6)\n"
 msgstr ""
 
-#: readelf.c:15607
+#: readelf.c:15959
 #, c-format
 msgid "File Attributes\n"
 msgstr ""
 
-#: readelf.c:15610
+#: readelf.c:15962
 #, c-format
 msgid "Section Attributes:"
 msgstr ""
 
-#: readelf.c:15613
+#: readelf.c:15965
 #, c-format
 msgid "Symbol Attributes:"
 msgstr ""
 
-#: readelf.c:15629
+#: readelf.c:15978
 #, c-format
 msgid "Unknown tag: %d\n"
 msgstr ""
 
-#: readelf.c:15650
+#: readelf.c:15999
 #, c-format
 msgid "  Unknown attribute:\n"
 msgstr ""
 
-#: readelf.c:15692
+#: readelf.c:16041
 msgid "MIPS GOT entry extends beyond the end of available data\n"
 msgstr ""
 
-#: readelf.c:15775 readelf.c:15844
+#: readelf.c:16124 readelf.c:16193
 msgid "Unknown"
 msgstr ""
 
-#: readelf.c:15891
+#: readelf.c:16240
 msgid "Corrupt MIPS ABI Flags section.\n"
 msgstr ""
 
-#: readelf.c:15897
+#: readelf.c:16246
 msgid "MIPS ABI Flags section"
 msgstr ""
 
-#: readelf.c:15956 readelf.c:16504
+#: readelf.c:16305 readelf.c:16890
 msgid "Global Offset Table data"
 msgstr ""
 
-#: readelf.c:15960
+#: readelf.c:16309
 #, c-format
 msgid ""
 "\n"
 "Static GOT:\n"
 msgstr ""
 
-#: readelf.c:15961 readelf.c:16509
+#: readelf.c:16310 readelf.c:16895
 #, c-format
 msgid " Canonical gp value: "
 msgstr ""
 
-#: readelf.c:15975 readelf.c:16513 readelf.c:16640
+#: readelf.c:16324 readelf.c:16899 readelf.c:17026
 #, c-format
 msgid " Reserved entries:\n"
 msgstr ""
 
-#: readelf.c:15976
+#: readelf.c:16325
 #, c-format
 msgid "  %*s %10s %*s\n"
 msgstr ""
 
-#: readelf.c:15977 readelf.c:16007 readelf.c:16515 readelf.c:16543
-#: readelf.c:16561 readelf.c:16642 readelf.c:16651
+#: readelf.c:16326 readelf.c:16356 readelf.c:16901 readelf.c:16929
+#: readelf.c:16947 readelf.c:17028 readelf.c:17037
 msgid "Address"
 msgstr ""
 
-#: readelf.c:15977 readelf.c:16007 readelf.c:16515 readelf.c:16543
-#: readelf.c:16562
+#: readelf.c:16326 readelf.c:16356 readelf.c:16901 readelf.c:16929
+#: readelf.c:16948
 msgid "Access"
 msgstr ""
 
-#: readelf.c:15978 readelf.c:16008
+#: readelf.c:16327 readelf.c:16357
 msgid "Value"
 msgstr ""
 
-#: readelf.c:16005 readelf.c:16541
+#: readelf.c:16354 readelf.c:16927
 #, c-format
 msgid " Local entries:\n"
 msgstr ""
 
-#: readelf.c:16087 readelf.c:16754
+#: readelf.c:16436 readelf.c:17140
 msgid "liblist section data"
 msgstr ""
 
-#: readelf.c:16090
+#: readelf.c:16439
 #, c-format
 msgid ""
 "\n"
@@ -9002,38 +9178,42 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:16094
+#: readelf.c:16443
 msgid ""
 "     Library              Time Stamp          Checksum   Version Flags\n"
 msgstr ""
 
-#: readelf.c:16120
+#: readelf.c:16469
 #, c-format
 msgid "<corrupt: %9ld>"
 msgstr ""
 
-#: readelf.c:16125
+#: readelf.c:16474
 msgid " NONE"
 msgstr ""
 
-#: readelf.c:16178
+#: readelf.c:16525
 msgid "No MIPS_OPTIONS header found\n"
 msgstr ""
 
-#: readelf.c:16183
+#: readelf.c:16531
+msgid "The MIPS options section is too small.\n"
+msgstr ""
+
+#: readelf.c:16536
 msgid "options"
 msgstr ""
 
-#: readelf.c:16190
+#: readelf.c:16547
 msgid "Out of memory allocating space for MIPS options\n"
 msgstr ""
 
-#: readelf.c:16212
+#: readelf.c:16570
 #, c-format
 msgid "Invalid size (%u) for MIPS option\n"
 msgstr ""
 
-#: readelf.c:16221
+#: readelf.c:16579
 #, c-format
 msgid ""
 "\n"
@@ -9044,24 +9224,28 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:16392
+#: readelf.c:16609 readelf.c:16639
+msgid "Truncated MIPS REGINFO option\n"
+msgstr ""
+
+#: readelf.c:16778
 msgid "conflict list found without a dynamic symbol table\n"
 msgstr ""
 
-#: readelf.c:16400
+#: readelf.c:16786
 #, c-format
 msgid "Overlarge number of conflicts detected: %lx\n"
 msgstr ""
 
-#: readelf.c:16408
+#: readelf.c:16794
 msgid "Out of memory allocating space for dynamic conflicts\n"
 msgstr ""
 
-#: readelf.c:16418 readelf.c:16433
+#: readelf.c:16804 readelf.c:16819
 msgid "conflict"
 msgstr ""
 
-#: readelf.c:16443
+#: readelf.c:16829
 #, c-format
 msgid ""
 "\n"
@@ -9072,124 +9256,124 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:16447
+#: readelf.c:16833
 msgid "  Num:    Index       Value  Name"
 msgstr ""
 
-#: readelf.c:16454
+#: readelf.c:16840
 #, c-format
 msgid "<corrupt symbol index>"
 msgstr ""
 
-#: readelf.c:16465 readelf.c:16590 readelf.c:16675
+#: readelf.c:16851 readelf.c:16976 readelf.c:17061
 #, c-format
 msgid "<corrupt: %14ld>"
 msgstr ""
 
-#: readelf.c:16488
+#: readelf.c:16874
 #, c-format
 msgid ""
 "The GOT symbol offset (%lu) is greater than the symbol table size (%lu)\n"
 msgstr ""
 
-#: readelf.c:16497
+#: readelf.c:16883
 #, c-format
 msgid "Too many GOT symbols: %lu\n"
 msgstr ""
 
-#: readelf.c:16508
+#: readelf.c:16894
 #, c-format
 msgid ""
 "\n"
 "Primary GOT:\n"
 msgstr ""
 
-#: readelf.c:16514
+#: readelf.c:16900
 #, c-format
 msgid "  %*s %10s %*s Purpose\n"
 msgstr ""
 
-#: readelf.c:16516 readelf.c:16544 readelf.c:16563 readelf.c:16642
-#: readelf.c:16652
+#: readelf.c:16902 readelf.c:16930 readelf.c:16949 readelf.c:17028
+#: readelf.c:17038
 msgid "Initial"
 msgstr ""
 
-#: readelf.c:16518
+#: readelf.c:16904
 #, c-format
 msgid " Lazy resolver\n"
 msgstr ""
 
-#: readelf.c:16533
+#: readelf.c:16919
 #, c-format
 msgid " Module pointer (GNU extension)\n"
 msgstr ""
 
-#: readelf.c:16559
+#: readelf.c:16945
 #, c-format
 msgid " Global entries:\n"
 msgstr ""
 
-#: readelf.c:16564 readelf.c:16653
+#: readelf.c:16950 readelf.c:17039
 msgid "Sym.Val."
 msgstr ""
 
 #. Note for translators: "Ndx" = abbreviated form of "Index".
-#: readelf.c:16567 readelf.c:16653
+#: readelf.c:16953 readelf.c:17039
 msgid "Ndx"
 msgstr ""
 
-#: readelf.c:16567 readelf.c:16653
+#: readelf.c:16953 readelf.c:17039
 msgid "Name"
 msgstr ""
 
-#: readelf.c:16577
+#: readelf.c:16963
 #, c-format
 msgid "<no dynamic symbols>"
 msgstr ""
 
-#: readelf.c:16593
+#: readelf.c:16979
 #, c-format
 msgid "<symbol index %lu exceeds number of dynamic symbols>"
 msgstr ""
 
-#: readelf.c:16635
+#: readelf.c:17021
 msgid "Procedure Linkage Table data"
 msgstr ""
 
-#: readelf.c:16641
+#: readelf.c:17027
 #, c-format
 msgid "  %*s %*s Purpose\n"
 msgstr ""
 
-#: readelf.c:16644
+#: readelf.c:17030
 #, c-format
 msgid " PLT lazy resolver\n"
 msgstr ""
 
-#: readelf.c:16646
+#: readelf.c:17032
 #, c-format
 msgid " Module pointer\n"
 msgstr ""
 
-#: readelf.c:16649
+#: readelf.c:17035
 #, c-format
 msgid " Entries:\n"
 msgstr ""
 
-#: readelf.c:16663
+#: readelf.c:17049
 #, c-format
 msgid "<corrupt symbol index: %lu>"
 msgstr ""
 
-#: readelf.c:16701
+#: readelf.c:17087
 msgid "NDS32 elf flags section"
 msgstr ""
 
-#: readelf.c:16765
+#: readelf.c:17151
 msgid "liblist string table"
 msgstr ""
 
-#: readelf.c:16777
+#: readelf.c:17163
 #, c-format
 msgid ""
 "\n"
@@ -9200,390 +9384,390 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:16783
+#: readelf.c:17169
 msgid "     Library              Time Stamp          Checksum   Version Flags"
 msgstr ""
 
-#: readelf.c:16833
+#: readelf.c:17219
 msgid "NT_AUXV (auxiliary vector)"
 msgstr ""
 
-#: readelf.c:16835
+#: readelf.c:17221
 msgid "NT_PRSTATUS (prstatus structure)"
 msgstr ""
 
-#: readelf.c:16837
+#: readelf.c:17223
 msgid "NT_FPREGSET (floating point registers)"
 msgstr ""
 
-#: readelf.c:16839
+#: readelf.c:17225
 msgid "NT_PRPSINFO (prpsinfo structure)"
 msgstr ""
 
-#: readelf.c:16841
+#: readelf.c:17227
 msgid "NT_TASKSTRUCT (task structure)"
 msgstr ""
 
-#: readelf.c:16843
+#: readelf.c:17229
 msgid "NT_PRXFPREG (user_xfpregs structure)"
 msgstr ""
 
-#: readelf.c:16845
+#: readelf.c:17231
 msgid "NT_PPC_VMX (ppc Altivec registers)"
 msgstr ""
 
-#: readelf.c:16847
+#: readelf.c:17233
 msgid "NT_PPC_VSX (ppc VSX registers)"
 msgstr ""
 
-#: readelf.c:16849
+#: readelf.c:17235
 msgid "NT_PPC_TAR (ppc TAR register)"
 msgstr ""
 
-#: readelf.c:16851
+#: readelf.c:17237
 msgid "NT_PPC_PPR (ppc PPR register)"
 msgstr ""
 
-#: readelf.c:16853
+#: readelf.c:17239
 msgid "NT_PPC_DSCR (ppc DSCR register)"
 msgstr ""
 
-#: readelf.c:16855
+#: readelf.c:17241
 msgid "NT_PPC_EBB (ppc EBB registers)"
 msgstr ""
 
-#: readelf.c:16857
+#: readelf.c:17243
 msgid "NT_PPC_PMU (ppc PMU registers)"
 msgstr ""
 
-#: readelf.c:16859
+#: readelf.c:17245
 msgid "NT_PPC_TM_CGPR (ppc checkpointed GPR registers)"
 msgstr ""
 
-#: readelf.c:16861
+#: readelf.c:17247
 msgid "NT_PPC_TM_CFPR (ppc checkpointed floating point registers)"
 msgstr ""
 
-#: readelf.c:16863
+#: readelf.c:17249
 msgid "NT_PPC_TM_CVMX (ppc checkpointed Altivec registers)"
 msgstr ""
 
-#: readelf.c:16865
+#: readelf.c:17251
 msgid "NT_PPC_TM_CVSX (ppc checkpointed VSX registers)"
 msgstr ""
 
-#: readelf.c:16867
+#: readelf.c:17253
 msgid "NT_PPC_TM_SPR (ppc TM special purpose registers)"
 msgstr ""
 
-#: readelf.c:16869
+#: readelf.c:17255
 msgid "NT_PPC_TM_CTAR (ppc checkpointed TAR register)"
 msgstr ""
 
-#: readelf.c:16871
+#: readelf.c:17257
 msgid "NT_PPC_TM_CPPR (ppc checkpointed PPR register)"
 msgstr ""
 
-#: readelf.c:16873
+#: readelf.c:17259
 msgid "NT_PPC_TM_CDSCR (ppc checkpointed DSCR register)"
 msgstr ""
 
-#: readelf.c:16875
+#: readelf.c:17261
 msgid "NT_386_TLS (x86 TLS information)"
 msgstr ""
 
-#: readelf.c:16877
+#: readelf.c:17263
 msgid "NT_386_IOPERM (x86 I/O permissions)"
 msgstr ""
 
-#: readelf.c:16879
+#: readelf.c:17265
 msgid "NT_X86_XSTATE (x86 XSAVE extended state)"
 msgstr ""
 
-#: readelf.c:16881
+#: readelf.c:17267
 msgid "NT_S390_HIGH_GPRS (s390 upper register halves)"
 msgstr ""
 
-#: readelf.c:16883
+#: readelf.c:17269
 msgid "NT_S390_TIMER (s390 timer register)"
 msgstr ""
 
-#: readelf.c:16885
+#: readelf.c:17271
 msgid "NT_S390_TODCMP (s390 TOD comparator register)"
 msgstr ""
 
-#: readelf.c:16887
+#: readelf.c:17273
 msgid "NT_S390_TODPREG (s390 TOD programmable register)"
 msgstr ""
 
-#: readelf.c:16889
+#: readelf.c:17275
 msgid "NT_S390_CTRS (s390 control registers)"
 msgstr ""
 
-#: readelf.c:16891
+#: readelf.c:17277
 msgid "NT_S390_PREFIX (s390 prefix register)"
 msgstr ""
 
-#: readelf.c:16893
+#: readelf.c:17279
 msgid "NT_S390_LAST_BREAK (s390 last breaking event address)"
 msgstr ""
 
-#: readelf.c:16895
+#: readelf.c:17281
 msgid "NT_S390_SYSTEM_CALL (s390 system call restart data)"
 msgstr ""
 
-#: readelf.c:16897
+#: readelf.c:17283
 msgid "NT_S390_TDB (s390 transaction diagnostic block)"
 msgstr ""
 
-#: readelf.c:16899
+#: readelf.c:17285
 msgid "NT_S390_VXRS_LOW (s390 vector registers 0-15 upper half)"
 msgstr ""
 
-#: readelf.c:16901
+#: readelf.c:17287
 msgid "NT_S390_VXRS_HIGH (s390 vector registers 16-31)"
 msgstr ""
 
-#: readelf.c:16903
+#: readelf.c:17289
 msgid "NT_S390_GS_CB (s390 guarded-storage registers)"
 msgstr ""
 
-#: readelf.c:16905
+#: readelf.c:17291
 msgid "NT_S390_GS_BC (s390 guarded-storage broadcast control)"
 msgstr ""
 
-#: readelf.c:16907
+#: readelf.c:17293
 msgid "NT_ARM_VFP (arm VFP registers)"
 msgstr ""
 
-#: readelf.c:16909
+#: readelf.c:17295
 msgid "NT_ARM_TLS (AArch TLS registers)"
 msgstr ""
 
-#: readelf.c:16911
+#: readelf.c:17297
 msgid "NT_ARM_HW_BREAK (AArch hardware breakpoint registers)"
 msgstr ""
 
-#: readelf.c:16913
+#: readelf.c:17299
 msgid "NT_ARM_HW_WATCH (AArch hardware watchpoint registers)"
 msgstr ""
 
-#: readelf.c:16915
+#: readelf.c:17301
 msgid "NT_PSTATUS (pstatus structure)"
 msgstr ""
 
-#: readelf.c:16917
+#: readelf.c:17303
 msgid "NT_FPREGS (floating point registers)"
 msgstr ""
 
-#: readelf.c:16919
+#: readelf.c:17305
 msgid "NT_PSINFO (psinfo structure)"
 msgstr ""
 
-#: readelf.c:16921
+#: readelf.c:17307
 msgid "NT_LWPSTATUS (lwpstatus_t structure)"
 msgstr ""
 
-#: readelf.c:16923
+#: readelf.c:17309
 msgid "NT_LWPSINFO (lwpsinfo_t structure)"
 msgstr ""
 
-#: readelf.c:16925
+#: readelf.c:17311
 msgid "NT_WIN32PSTATUS (win32_pstatus structure)"
 msgstr ""
 
-#: readelf.c:16927
+#: readelf.c:17313
 msgid "NT_SIGINFO (siginfo_t data)"
 msgstr ""
 
-#: readelf.c:16929
+#: readelf.c:17315
 msgid "NT_FILE (mapped files)"
 msgstr ""
 
-#: readelf.c:16937
+#: readelf.c:17323
 msgid "NT_VERSION (version)"
 msgstr ""
 
-#: readelf.c:16939
+#: readelf.c:17325
 msgid "NT_ARCH (architecture)"
 msgstr ""
 
-#: readelf.c:16941
+#: readelf.c:17327
 msgid "OPEN"
 msgstr ""
 
-#: readelf.c:16943
+#: readelf.c:17329
 msgid "func"
 msgstr ""
 
-#: readelf.c:16948 readelf.c:17067 readelf.c:17647 readelf.c:17791
-#: readelf.c:17849 readelf.c:17926
+#: readelf.c:17334 readelf.c:17453 readelf.c:18075 readelf.c:18241
+#: readelf.c:18318 readelf.c:18435
 #, c-format
 msgid "Unknown note type: (0x%08x)"
 msgstr ""
 
-#: readelf.c:16969
+#: readelf.c:17355
 #, c-format
 msgid "    Cannot decode 64-bit note in 32-bit build\n"
 msgstr ""
 
-#: readelf.c:16977
+#: readelf.c:17363
 msgid "    Malformed note - too short for header\n"
 msgstr ""
 
-#: readelf.c:16986
+#: readelf.c:17372
 msgid "    Malformed note - does not end with \\0\n"
 msgstr ""
 
-#: readelf.c:16999
+#: readelf.c:17385
 msgid "    Malformed note - too short for supplied file count\n"
 msgstr ""
 
-#: readelf.c:17003
+#: readelf.c:17389
 #, c-format
 msgid "    Page size: "
 msgstr ""
 
-#: readelf.c:17007
+#: readelf.c:17393
 #, c-format
 msgid "    %*s%*s%*s\n"
 msgstr ""
 
-#: readelf.c:17008
+#: readelf.c:17394
 msgid "Start"
 msgstr ""
 
-#: readelf.c:17009
+#: readelf.c:17395
 msgid "End"
 msgstr ""
 
-#: readelf.c:17010
+#: readelf.c:17396
 msgid "Page Offset"
 msgstr ""
 
-#: readelf.c:17018
+#: readelf.c:17404
 msgid "    Malformed note - filenames end too early\n"
 msgstr ""
 
-#: readelf.c:17050
+#: readelf.c:17436
 msgid "NT_GNU_ABI_TAG (ABI version tag)"
 msgstr ""
 
-#: readelf.c:17052
+#: readelf.c:17438
 msgid "NT_GNU_HWCAP (DSO-supplied software HWCAP info)"
 msgstr ""
 
-#: readelf.c:17054
+#: readelf.c:17440
 msgid "NT_GNU_BUILD_ID (unique build ID bitstring)"
 msgstr ""
 
-#: readelf.c:17056
+#: readelf.c:17442
 msgid "NT_GNU_GOLD_VERSION (gold version)"
 msgstr ""
 
-#: readelf.c:17058
+#: readelf.c:17444
 msgid "NT_GNU_PROPERTY_TYPE_0"
 msgstr ""
 
-#: readelf.c:17060
+#: readelf.c:17446
 msgid "NT_GNU_BUILD_ATTRIBUTE_OPEN"
 msgstr ""
 
-#: readelf.c:17062
+#: readelf.c:17448
 msgid "NT_GNU_BUILD_ATTRIBUTE_FUNC"
 msgstr ""
 
-#: readelf.c:17151 readelf.c:17248 readelf.c:17279
+#: readelf.c:17537 readelf.c:17637 readelf.c:17668
 #, c-format
 msgid "<None>"
 msgstr ""
 
-#: readelf.c:17336
+#: readelf.c:17752
 #, c-format
 msgid "      Properties: "
 msgstr ""
 
-#: readelf.c:17340
+#: readelf.c:17756
 #, c-format
 msgid "<corrupt GNU_PROPERTY_TYPE, size = %#lx>\n"
 msgstr ""
 
-#: readelf.c:17352
+#: readelf.c:17768
 #, c-format
 msgid "<corrupt descsz: %#lx>\n"
 msgstr ""
 
-#: readelf.c:17363
+#: readelf.c:17779
 #, c-format
 msgid "<corrupt type (%#x) datasz: %#x>\n"
 msgstr ""
 
-#: readelf.c:17385 readelf.c:17439
+#: readelf.c:17801 readelf.c:17855
 #, c-format
 msgid "x86 ISA used: <corrupt length: %#x> "
 msgstr ""
 
-#: readelf.c:17396 readelf.c:17450
+#: readelf.c:17812 readelf.c:17866
 #, c-format
 msgid "x86 ISA needed: <corrupt length: %#x> "
 msgstr ""
 
-#: readelf.c:17407
+#: readelf.c:17823
 #, c-format
 msgid "x86 feature: <corrupt length: %#x> "
 msgstr ""
 
-#: readelf.c:17418
+#: readelf.c:17834
 #, c-format
 msgid "x86 feature used: <corrupt length: %#x> "
 msgstr ""
 
-#: readelf.c:17429
+#: readelf.c:17845
 #, c-format
 msgid "x86 feature needed: <corrupt length: %#x> "
 msgstr ""
 
-#: readelf.c:17469
+#: readelf.c:17885 readelf.c:17899 readelf.c:17907
 #, c-format
-msgid "stack size: "
+msgid "<corrupt length: %#x> "
 msgstr ""
 
-#: readelf.c:17471 readelf.c:17479
+#: readelf.c:17897
 #, c-format
-msgid "<corrupt length: %#x> "
+msgid "stack size: "
 msgstr ""
 
-#: readelf.c:17488
+#: readelf.c:17916
 #, c-format
 msgid "<unknown type %#x data: "
 msgstr ""
 
-#: readelf.c:17490
+#: readelf.c:17918
 #, c-format
 msgid "<procesor-specific type %#x data: "
 msgstr ""
 
-#: readelf.c:17492
+#: readelf.c:17920
 #, c-format
 msgid "<application-specific type %#x data: "
 msgstr ""
 
-#: readelf.c:17521
+#: readelf.c:17949
 #, c-format
 msgid "    Build ID: "
 msgstr ""
 
-#: readelf.c:17536
+#: readelf.c:17964
 #, c-format
 msgid "    <corrupt GNU_ABI_TAG>\n"
 msgstr ""
 
-#: readelf.c:17573
+#: readelf.c:18001
 #, c-format
 msgid "    OS: %s, ABI: %ld.%ld.%ld\n"
 msgstr ""
 
-#: readelf.c:17582
+#: readelf.c:18010
 #, c-format
 msgid "    Version: "
 msgstr ""
@@ -9593,458 +9777,490 @@ msgstr ""
 #. is a series of entries, where each entry is a single byte followed
 #. by a nul terminated string.  The byte gives the bit number to test
 #. if enabled in the bitmask.
-#: readelf.c:17598
+#: readelf.c:18026
 #, c-format
 msgid "      Hardware Capabilities: "
 msgstr ""
 
-#: readelf.c:17601
+#: readelf.c:18029
 msgid "<corrupt GNU_HWCAP>\n"
 msgstr ""
 
-#: readelf.c:17606
+#: readelf.c:18034
 #, c-format
 msgid "num entries: %ld, enabled mask: %lx\n"
 msgstr ""
 
-#: readelf.c:17622
+#: readelf.c:18050
 #, c-format
 msgid "    Description data: "
 msgstr ""
 
-#: readelf.c:17640
+#: readelf.c:18068
 msgid "Alignment of 8-byte objects"
 msgstr ""
 
-#: readelf.c:17641
+#: readelf.c:18069
 msgid "Sizeof double and long double"
 msgstr ""
 
-#: readelf.c:17642
+#: readelf.c:18070
 msgid "Type of FPU support needed"
 msgstr ""
 
-#: readelf.c:17643
+#: readelf.c:18071
 msgid "Use of SIMD instructions"
 msgstr ""
 
-#: readelf.c:17644
+#: readelf.c:18072
 msgid "Use of cache"
 msgstr ""
 
-#: readelf.c:17645
+#: readelf.c:18073
 msgid "Use of MMU"
 msgstr ""
 
-#: readelf.c:17681
+#: readelf.c:18109
 #, c-format
 msgid "4-bytes\n"
 msgstr ""
 
-#: readelf.c:17682
+#: readelf.c:18110
 #, c-format
 msgid "8-bytes\n"
 msgstr ""
 
-#: readelf.c:17689
+#: readelf.c:18117
 #, c-format
 msgid "FPU-2.0\n"
 msgstr ""
 
-#: readelf.c:17690
+#: readelf.c:18118
 #, c-format
 msgid "FPU-3.0\n"
 msgstr ""
 
-#: readelf.c:17699
+#: readelf.c:18127
 #, c-format
 msgid "yes\n"
 msgstr ""
 
-#: readelf.c:17709
+#: readelf.c:18137
 #, c-format
 msgid "unknown value: %x\n"
 msgstr ""
 
-#: readelf.c:17751
+#: readelf.c:18192
 msgid "NT_THRMISC (thrmisc structure)"
 msgstr ""
 
-#: readelf.c:17753
+#: readelf.c:18194
 msgid "NT_PROCSTAT_PROC (proc data)"
 msgstr ""
 
-#: readelf.c:17755
+#: readelf.c:18196
 msgid "NT_PROCSTAT_FILES (files data)"
 msgstr ""
 
-#: readelf.c:17757
+#: readelf.c:18198
 msgid "NT_PROCSTAT_VMMAP (vmmap data)"
 msgstr ""
 
-#: readelf.c:17759
+#: readelf.c:18200
 msgid "NT_PROCSTAT_GROUPS (groups data)"
 msgstr ""
 
-#: readelf.c:17761
+#: readelf.c:18202
 msgid "NT_PROCSTAT_UMASK (umask data)"
 msgstr ""
 
-#: readelf.c:17763
+#: readelf.c:18204
 msgid "NT_PROCSTAT_RLIMIT (rlimit data)"
 msgstr ""
 
-#: readelf.c:17765
+#: readelf.c:18206
 msgid "NT_PROCSTAT_OSREL (osreldate data)"
 msgstr ""
 
-#: readelf.c:17767
+#: readelf.c:18208
 msgid "NT_PROCSTAT_PSSTRINGS (ps_strings data)"
 msgstr ""
 
-#: readelf.c:17769
+#: readelf.c:18210
 msgid "NT_PROCSTAT_AUXV (auxv data)"
 msgstr ""
 
-#: readelf.c:17771
+#: readelf.c:18212
 msgid "NT_PTLWPINFO (ptrace_lwpinfo structure)"
 msgstr ""
 
-#: readelf.c:17782
+#. NetBSD core "procinfo" structure.
+#: readelf.c:18226
 msgid "NetBSD procinfo structure"
 msgstr ""
 
-#: readelf.c:17808 readelf.c:17822
+#: readelf.c:18230
+msgid "NetBSD ELF auxiliary vector data"
+msgstr ""
+
+#: readelf.c:18260 readelf.c:18277 readelf.c:18291
 msgid "PT_GETREGS (reg structure)"
 msgstr ""
 
-#: readelf.c:17810 readelf.c:17824
+#: readelf.c:18262 readelf.c:18279 readelf.c:18293
 msgid "PT_GETFPREGS (fpreg structure)"
 msgstr ""
 
-#: readelf.c:17843
+#: readelf.c:18275
+msgid "PT___GETREGS40 (old reg structure)"
+msgstr ""
+
+#: readelf.c:18312
 msgid "NT_STAPSDT (SystemTap probe descriptors)"
 msgstr ""
 
-#: readelf.c:17876
+#: readelf.c:18380
 #, c-format
 msgid "    Provider: %s\n"
 msgstr ""
 
-#: readelf.c:17877
+#: readelf.c:18381
 #, c-format
 msgid "    Name: %s\n"
 msgstr ""
 
-#: readelf.c:17878
+#: readelf.c:18382
 #, c-format
 msgid "    Location: "
 msgstr ""
 
-#: readelf.c:17880
+#: readelf.c:18384
 #, c-format
 msgid ", Base: "
 msgstr ""
 
-#: readelf.c:17882
+#: readelf.c:18386
 #, c-format
 msgid ", Semaphore: "
 msgstr ""
 
-#: readelf.c:17885
+#: readelf.c:18389
 #, c-format
 msgid "    Arguments: %s\n"
 msgstr ""
 
-#: readelf.c:17898
+#: readelf.c:18394
+#, c-format
+msgid "  <corrupt - note is too small>\n"
+msgstr ""
+
+#: readelf.c:18395
+msgid "corrupt stapdt note - the data size is too small\n"
+msgstr ""
+
+#: readelf.c:18407
 msgid "NT_VMS_MHD (module header)"
 msgstr ""
 
-#: readelf.c:17900
+#: readelf.c:18409
 msgid "NT_VMS_LNM (language name)"
 msgstr ""
 
-#: readelf.c:17902
+#: readelf.c:18411
 msgid "NT_VMS_SRC (source files)"
 msgstr ""
 
-#: readelf.c:17906
+#: readelf.c:18415
 msgid "NT_VMS_EIDC (consistency check)"
 msgstr ""
 
-#: readelf.c:17908
+#: readelf.c:18417
 msgid "NT_VMS_FPMODE (FP mode)"
 msgstr ""
 
-#: readelf.c:17912
+#: readelf.c:18421
 msgid "NT_VMS_IMGNAM (image name)"
 msgstr ""
 
-#: readelf.c:17914
+#: readelf.c:18423
 msgid "NT_VMS_IMGID (image id)"
 msgstr ""
 
-#: readelf.c:17916
+#: readelf.c:18425
 msgid "NT_VMS_LINKID (link id)"
 msgstr ""
 
-#: readelf.c:17918
+#: readelf.c:18427
 msgid "NT_VMS_IMGBID (build id)"
 msgstr ""
 
-#: readelf.c:17920
+#: readelf.c:18429
 msgid "NT_VMS_GSTNAM (sym table name)"
 msgstr ""
 
-#: readelf.c:17940
+#: readelf.c:18456
 #, c-format
 msgid "    Creation date  : %.17s\n"
 msgstr ""
 
-#: readelf.c:17941
+#: readelf.c:18457
 #, c-format
 msgid "    Last patch date: %.17s\n"
 msgstr ""
 
-#: readelf.c:17942
+#: readelf.c:18460
 #, c-format
 msgid "    Module name    : %s\n"
 msgstr ""
 
-#: readelf.c:17943
+#: readelf.c:18462
 #, c-format
 msgid "    Module version : %s\n"
 msgstr ""
 
-#: readelf.c:17946
+#: readelf.c:18464 readelf.c:18469
 #, c-format
-msgid "    Invalid size\n"
+msgid "    Module version : <missing>\n"
 msgstr ""
 
-#: readelf.c:17949
+#: readelf.c:18468
 #, c-format
-msgid "   Language: %s\n"
+msgid "    Module name    : <missing>\n"
 msgstr ""
 
-#: readelf.c:17953
+#: readelf.c:18474
+#, c-format
+msgid "   Language: %.*s\n"
+msgstr ""
+
+#: readelf.c:18479
 #, c-format
 msgid "   Floating Point mode: "
 msgstr ""
 
-#: readelf.c:17958
+#: readelf.c:18489
 #, c-format
 msgid "   Link time: "
 msgstr ""
 
-#: readelf.c:17964
+#: readelf.c:18500
 #, c-format
 msgid "   Patch time: "
 msgstr ""
 
-#: readelf.c:17970
+#: readelf.c:18514
 #, c-format
 msgid "   Major id: %u,  minor id: %u\n"
 msgstr ""
 
-#: readelf.c:17973
+#: readelf.c:18517
 #, c-format
 msgid "   Last modified  : "
 msgstr ""
 
-#: readelf.c:17976
+#: readelf.c:18520
 #, c-format
 msgid ""
 "\n"
 "   Link flags  : "
 msgstr ""
 
-#: readelf.c:17979
+#: readelf.c:18523
 #, c-format
 msgid "   Header flags: 0x%08x\n"
 msgstr ""
 
-#: readelf.c:17981
+#: readelf.c:18525
 #, c-format
-msgid "   Image id    : %s\n"
+msgid "   Image id    : %.*s\n"
 msgstr ""
 
-#: readelf.c:17985
+#: readelf.c:18530
 #, c-format
-msgid "    Image name: %s\n"
+msgid "    Image name: %.*s\n"
 msgstr ""
 
-#: readelf.c:17988
+#: readelf.c:18534
 #, c-format
-msgid "    Global symbol table name: %s\n"
+msgid "    Global symbol table name: %.*s\n"
 msgstr ""
 
-#: readelf.c:17991
+#: readelf.c:18538
 #, c-format
-msgid "    Image id: %s\n"
+msgid "    Image id: %.*s\n"
 msgstr ""
 
-#: readelf.c:17994
+#: readelf.c:18542
 #, c-format
-msgid "    Linker id: %s\n"
+msgid "    Linker id: %.*s\n"
 msgstr ""
 
-#: readelf.c:18166 readelf.c:18174
+#: readelf.c:18552
+#, c-format
+msgid "  <corrupt - data size is too small>\n"
+msgstr ""
+
+#: readelf.c:18553
+msgid "corrupt IA64 note: data size is too small\n"
+msgstr ""
+
+#: readelf.c:18721 readelf.c:18729
 #, c-format
 msgid "    Applies to region from %#lx to %#lx\n"
 msgstr ""
 
-#: readelf.c:18169 readelf.c:18176
+#: readelf.c:18724 readelf.c:18731
 #, c-format
 msgid "    Applies to region from %#lx\n"
 msgstr ""
 
-#: readelf.c:18205
+#: readelf.c:18760
 #, c-format
 msgid "    <invalid description size: %lx>\n"
 msgstr ""
 
-#: readelf.c:18206
+#: readelf.c:18761
 #, c-format
 msgid "    <invalid descsz>"
 msgstr ""
 
-#: readelf.c:18232
+#: readelf.c:18787
 #, c-format
 msgid "Gap in build notes detected from %#lx to %#lx\n"
 msgstr ""
 
-#: readelf.c:18235 readelf.c:18246
+#: readelf.c:18790 readelf.c:18801
 #, c-format
 msgid "    Applies to region from %#lx"
 msgstr ""
 
-#: readelf.c:18240 readelf.c:18251
+#: readelf.c:18795 readelf.c:18806
 #, c-format
 msgid " to %#lx"
 msgstr ""
 
-#: readelf.c:18257
+#: readelf.c:18812
 #, c-format
 msgid " (%s)"
 msgstr ""
 
-#: readelf.c:18278 readelf.c:18293
+#: readelf.c:18833 readelf.c:18848
 #, c-format
 msgid "corrupt name field in GNU build attribute note: size = %ld\n"
 msgstr ""
 
-#: readelf.c:18279 readelf.c:18294
+#: readelf.c:18834 readelf.c:18849
 msgid "  <corrupt name>"
 msgstr ""
 
-#: readelf.c:18313
+#: readelf.c:18868
 #, c-format
 msgid "unrecognised attribute type in name field: %d\n"
 msgstr ""
 
-#: readelf.c:18314
+#: readelf.c:18869
 msgid "<unknown name type>"
 msgstr ""
 
-#: readelf.c:18324
+#: readelf.c:18879
 msgid "<version>"
 msgstr ""
 
-#: readelf.c:18329
+#: readelf.c:18884
 msgid "<stack prot>"
 msgstr ""
 
-#: readelf.c:18334
+#: readelf.c:18889
 msgid "<relro>"
 msgstr ""
 
-#: readelf.c:18339
+#: readelf.c:18894
 msgid "<stack size>"
 msgstr ""
 
-#: readelf.c:18344
+#: readelf.c:18899
 msgid "<tool>"
 msgstr ""
 
-#: readelf.c:18349
+#: readelf.c:18904
 msgid "<ABI>"
 msgstr ""
 
-#: readelf.c:18354
+#: readelf.c:18909
 msgid "<PIC>"
 msgstr ""
 
-#: readelf.c:18359
+#: readelf.c:18914
 msgid "<short enum>"
 msgstr ""
 
-#: readelf.c:18378
+#: readelf.c:18933
 #, c-format
 msgid "unrecognised byte in name field: %d\n"
 msgstr ""
 
-#: readelf.c:18379
+#: readelf.c:18934
 #, c-format
 msgid "<unknown:_%d>"
 msgstr ""
 
-#: readelf.c:18391
+#: readelf.c:18946
 #, c-format
 msgid "attribute does not have an expected type (%c)\n"
 msgstr ""
 
-#: readelf.c:18395
+#: readelf.c:18950
 #, c-format
 msgid "corrupt name field: namesz: %lu but parsing gets to %ld\n"
 msgstr ""
 
-#: readelf.c:18422
+#: readelf.c:18977
 #, c-format
 msgid "corrupt numeric name field: too many bytes in the value: %x\n"
 msgstr ""
 
-#: readelf.c:18590
+#: readelf.c:19149
 #, c-format
 msgid "   description data: "
 msgstr ""
 
-#: readelf.c:18629
+#: readelf.c:19188
 msgid "notes"
 msgstr ""
 
-#: readelf.c:18637
+#: readelf.c:19196
 #, c-format
 msgid ""
 "\n"
 "Displaying notes found in: %s\n"
 msgstr ""
 
-#: readelf.c:18639
+#: readelf.c:19198
 #, c-format
 msgid ""
 "\n"
 "Displaying notes found at file offset 0x%08lx with length 0x%08lx:\n"
 msgstr ""
 
-#: readelf.c:18651
+#: readelf.c:19210
 #, c-format
 msgid "Corrupt note: alignment %ld, expecting 4 or 8\n"
 msgstr ""
 
-#: readelf.c:18656
+#: readelf.c:19215
 #, c-format
-msgid "  %-20s %10s\tDescription\n"
+msgid "  %-20s %-10s\tDescription\n"
 msgstr ""
 
-#: readelf.c:18656
+#: readelf.c:19215
 msgid "Owner"
 msgstr ""
 
-#: readelf.c:18656
+#: readelf.c:19215
 msgid "Data size"
 msgstr ""
 
-#: readelf.c:18674 readelf.c:18703
+#: readelf.c:19233 readelf.c:19262
 #, c-format
 msgid "Corrupt note: only %ld byte remains, not enough for a full note\n"
 msgid_plural ""
@@ -10052,25 +10268,25 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:18731
+#: readelf.c:19290
 #, c-format
 msgid "note with invalid namesz and/or descsz found at offset 0x%lx\n"
 msgstr ""
 
-#: readelf.c:18733
+#: readelf.c:19292
 #, c-format
 msgid " type: 0x%lx, namesize: 0x%08lx, descsize: 0x%08lx, alignment: %u\n"
 msgstr ""
 
-#: readelf.c:18751
+#: readelf.c:19310
 msgid "Out of memory allocating space for inote name\n"
 msgstr ""
 
-#: readelf.c:18814
+#: readelf.c:19373
 msgid "v850 notes"
 msgstr ""
 
-#: readelf.c:18821
+#: readelf.c:19380
 #, c-format
 msgid ""
 "\n"
@@ -10078,75 +10294,75 @@ msgid ""
 "length 0x%lx:\n"
 msgstr ""
 
-#: readelf.c:18838
+#: readelf.c:19397
 #, c-format
 msgid "Corrupt note: name size is too big: %lx\n"
 msgstr ""
 
-#: readelf.c:18848
+#: readelf.c:19407
 #, c-format
 msgid "corrupt descsz found in note at offset 0x%lx\n"
 msgstr ""
 
-#: readelf.c:18850 readelf.c:18863
+#: readelf.c:19409 readelf.c:19422
 #, c-format
 msgid " type: 0x%lx, namesize: 0x%lx, descsize: 0x%lx\n"
 msgstr ""
 
-#: readelf.c:18861
+#: readelf.c:19420
 #, c-format
 msgid "corrupt namesz found in note at offset 0x%lx\n"
 msgstr ""
 
-#: readelf.c:18939
+#: readelf.c:19498
 #, c-format
 msgid "No note segments present in the core file.\n"
 msgstr ""
 
-#: readelf.c:18947
+#: readelf.c:19506
 #, c-format
 msgid "  Unknown GNU attribute: %s\n"
 msgstr ""
 
-#: readelf.c:19087
+#: readelf.c:19646
 msgid ""
 "This instance of readelf has been built without support for a\n"
 "64 bit data type and so it cannot read 64 bit ELF files.\n"
 msgstr ""
 
-#: readelf.c:19210
+#: readelf.c:19769
 #, c-format
 msgid "%s: Failed to read file header\n"
 msgstr ""
 
-#: readelf.c:19224
+#: readelf.c:19784
 #, c-format
 msgid ""
 "\n"
 "File: %s\n"
 msgstr ""
 
-#: readelf.c:19410
+#: readelf.c:19977
 #, c-format
 msgid "%s: unable to dump the index as none was found\n"
 msgstr ""
 
-#: readelf.c:19416
+#: readelf.c:19983
 #, c-format
 msgid "Index of archive %s: (%lu entries, 0x%lx bytes in the symbol table)\n"
 msgstr ""
 
-#: readelf.c:19435
+#: readelf.c:20002
 #, c-format
 msgid "Contents of binary %s at offset "
 msgstr ""
 
-#: readelf.c:19445
+#: readelf.c:20012
 #, c-format
 msgid "%s: end of the symbol table reached before the end of the index\n"
 msgstr ""
 
-#: readelf.c:19462
+#: readelf.c:20029
 #, c-format
 msgid ""
 "%s: %ld byte remains in the symbol table, but without corresponding entries "
@@ -10157,36 +10373,36 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: readelf.c:19475
+#: readelf.c:20042
 #, c-format
 msgid "%s: failed to seek back to start of object files in the archive\n"
 msgstr ""
 
-#: readelf.c:19562 readelf.c:19674
+#: readelf.c:20129 readelf.c:20241
 #, c-format
 msgid "Input file '%s' is not readable.\n"
 msgstr ""
 
-#: readelf.c:19586
+#: readelf.c:20153
 #, c-format
 msgid "%s: contains corrupt thin archive: %s\n"
 msgstr ""
 
-#: readelf.c:19599
+#: readelf.c:20166
 #, c-format
 msgid "%s: failed to seek to archive member.\n"
 msgstr ""
 
-#: readelf.c:19666
+#: readelf.c:20233
 msgid "Out of memory allocating file data structure\n"
 msgstr ""
 
-#: readelf.c:19702
+#: readelf.c:20269
 #, c-format
 msgid "File %s is not an archive so its index cannot be displayed.\n"
 msgstr ""
 
-#: readelf.c:19761
+#: readelf.c:20328
 msgid "Nothing to do.\n"
 msgstr ""
 
@@ -10603,21 +10819,22 @@ msgstr ""
 msgid "can't open `%s' for output: %s"
 msgstr ""
 
-#: size.c:77
+#: size.c:89
 #, c-format
 msgid " Displays the sizes of sections inside binary files\n"
 msgstr ""
 
-#: size.c:78
+#: size.c:90
 #, c-format
 msgid " If no input file(s) are specified, a.out is assumed\n"
 msgstr ""
 
-#: size.c:79
+#: size.c:91
 #, c-format
 msgid ""
 " The options are:\n"
-"  -A|-B     --format={sysv|berkeley}  Select output style (default is %s)\n"
+"  -A|-B|-G  --format={sysv|berkeley|gnu}  Select output style (default is "
+"%s)\n"
 "  -o|-d|-x  --radix={8|10|16}         Display numbers in octal, decimal or "
 "hex\n"
 "  -t        --totals                  Display the total sizes (Berkeley "
@@ -10630,12 +10847,12 @@ msgid ""
 "\n"
 msgstr ""
 
-#: size.c:160
+#: size.c:176
 #, c-format
 msgid "invalid argument to --format: %s"
 msgstr ""
 
-#: size.c:187
+#: size.c:203
 #, c-format
 msgid "Invalid radix: %s\n"
 msgstr ""
@@ -10970,9 +11187,83 @@ msgstr ""
 msgid "cannot open input file %s"
 msgstr ""
 
+#: unwind-ia64.c:176
+#, c-format
+msgid "Unknown code 0x%02x\n"
+msgstr ""
+
+#. PR 18420.
+#: unwind-ia64.c:362
+#, c-format
+msgid ""
+"\n"
+"ERROR: unwind length too long (0x%lx > 0x%lx)\n"
+"\n"
+msgstr ""
+
+#: unwind-ia64.c:575
+#, c-format
+msgid "\t<corrupt X1>\n"
+msgstr ""
+
+#: unwind-ia64.c:599
+#, c-format
+msgid "\t<corrupt X2>\n"
+msgstr ""
+
+#: unwind-ia64.c:625
+#, c-format
+msgid "\t<corrupt X3>\n"
+msgstr ""
+
+#: unwind-ia64.c:653
+#, c-format
+msgid "\t<corrupt X4>\n"
+msgstr ""
+
+#: unwind-ia64.c:695
+#, c-format
+msgid "\t<corrupt R2>\n"
+msgstr ""
+
+#: unwind-ia64.c:741
+#, c-format
+msgid "\t<corrupt P2>\n"
+msgstr ""
+
+#: unwind-ia64.c:756
+#, c-format
+msgid "\t<corrupt P3>\n"
+msgstr ""
+
+#: unwind-ia64.c:815
+#, c-format
+msgid "\t<corrupt P5>\n"
+msgstr ""
+
+#: unwind-ia64.c:922
+#, c-format
+msgid "\t<corrupt P8>\n"
+msgstr ""
+
+#: unwind-ia64.c:997
+#, c-format
+msgid "\t<corrupt P9>\n"
+msgstr ""
+
+#: unwind-ia64.c:1009
+#, c-format
+msgid "\t<corrupt P10>\n"
+msgstr ""
+
+#: unwind-ia64.c:1140
+#, c-format
+msgid "\t<corrupt IA64 descriptor>\n"
+msgstr ""
+
 #: version.c:34
 #, c-format
-msgid "Copyright (C) 2019 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2020 Free Software Foundation, Inc.\n"
 msgstr ""
 
 #: version.c:35
@@ -11172,7 +11463,7 @@ msgstr ""
 msgid "no resources"
 msgstr ""
 
-#: wrstabs.c:353 wrstabs.c:1914
+#: wrstabs.c:353 wrstabs.c:1910
 #, c-format
 msgid "string_hash_lookup failed: %s"
 msgstr ""
index fab503df983af7a9efaa14e1f64c45d977a0d1d5..17c27ceedaee42512894119fc99de8349dc74c5e 100644 (file)
 #include "elf/xgate.h"
 #include "elf/xstormy16.h"
 #include "elf/xtensa.h"
+#include "elf/z80.h"
 
 #include "getopt.h"
 #include "libiberty.h"
@@ -1586,6 +1587,10 @@ dump_relocations (Filedata *          filedata,
          else
            rtype = elf_nfp_reloc_type (type);
          break;
+
+       case EM_Z80:
+         rtype = elf_z80_reloc_type (type);
+         break;
        }
 
       if (rtype == NULL)
@@ -3751,6 +3756,21 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine)
 
          if (e_flags & ~ EF_MSP430_MACH)
            strcat (buf, _(": unknown extra flag bits also present"));
+         break;
+
+       case EM_Z80:
+         switch (e_flags & EF_Z80_MACH_MSK)
+           {
+           case EF_Z80_MACH_Z80: strcat (buf, ", Z80"); break;
+           case EF_Z80_MACH_Z180: strcat (buf, ", Z180"); break;
+           case EF_Z80_MACH_R800: strcat (buf, ", R800"); break;
+           case EF_Z80_MACH_EZ80_Z80: strcat (buf, ", EZ80"); break;
+           case EF_Z80_MACH_EZ80_ADL: strcat (buf, ", EZ80, ADL"); break;
+           case EF_Z80_MACH_GBZ80: strcat (buf, ", GBZ80"); break;
+           default:
+             strcat (buf, _(", unknown")); break;
+           }
+         break;
        }
     }
 
@@ -12722,6 +12742,8 @@ is_32bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
     case EM_XTENSA_OLD:
     case EM_XTENSA:
       return reloc_type == 1; /* R_XTENSA_32.  */
+    case EM_Z80:
+      return reloc_type == 6; /* R_Z80_32.  */
     default:
       {
        static unsigned int prev_warn = 0;
@@ -12904,6 +12926,8 @@ is_24bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
       return reloc_type == 4; /* R_MN10200_24.  */
     case EM_FT32:
       return reloc_type == 5; /* R_FT32_20.  */
+    case EM_Z80:
+      return reloc_type == 5; /* R_Z80_24. */
     default:
       return FALSE;
     }
@@ -12975,6 +12999,8 @@ is_16bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
       return reloc_type == 2; /* R_XC16C_ABS_16.  */
     case EM_XGATE:
       return reloc_type == 3; /* R_XGATE_16.  */
+    case EM_Z80:
+      return reloc_type == 4; /* R_Z80_16.  */
     default:
       return FALSE;
     }
@@ -12990,6 +13016,8 @@ is_8bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
     {
     case EM_RISCV:
       return reloc_type == 54; /* R_RISCV_SET8.  */
+    case EM_Z80:
+      return reloc_type == 1;  /* R_Z80_8.  */
     default:
       return FALSE;
     }
@@ -13197,6 +13225,7 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type)
     case EM_TI_C6000:/* R_C6000_NONE.  */
     case EM_X86_64:  /* R_X86_64_NONE.  */
     case EM_XC16X:
+    case EM_Z80:     /* R_Z80_NONE. */
     case EM_WEBASSEMBLY: /* R_WASM32_NONE.  */
       return reloc_type == 0;
 
index 198f787d1440a8e158726e5b15cda594b022a795..86134cb5b66c16c1d98efda439c96202f7f5e462 100644 (file)
@@ -1,3 +1,62 @@
+2020-01-02  Sergey Belyashov  <sergey.belyashov@gmail.com>
+
+       * config/tc-z80.c: Add new architectures: Z180 and eZ80. Add
+       support for assembler code generated by SDCC. Add new relocation
+       types. Add z80-elf target support.
+       * config/tc-z80.h: Add z80-elf target support. Enable dollar local
+       labels. Local labels starts from ".L".
+       * NEWS: Mention the new support.
+       * testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
+       * testsuite/gas/all/fwdexp.s: Likewise.
+       * testsuite/gas/all/cond.l: Likewise.
+       * testsuite/gas/all/cond.s: Likewise.
+       * testsuite/gas/all/fwdexp.d: Likewise.
+       * testsuite/gas/all/fwdexp.s: Likewise.
+       * testsuite/gas/elf/section2.e-mips: Likewise.
+       * testsuite/gas/elf/section2.l: Likewise.
+       * testsuite/gas/elf/section2.s: Likewise.
+       * testsuite/gas/macros/app1.d: Likewise.
+       * testsuite/gas/macros/app1.s: Likewise.
+       * testsuite/gas/macros/app2.d: Likewise.
+       * testsuite/gas/macros/app2.s: Likewise.
+       * testsuite/gas/macros/app3.d: Likewise.
+       * testsuite/gas/macros/app3.s: Likewise.
+       * testsuite/gas/macros/app4.d: Likewise.
+       * testsuite/gas/macros/app4.s: Likewise.
+       * testsuite/gas/macros/app4b.s: Likewise.
+       * testsuite/gas/z80/suffix.d: Fix failure on ELF target.
+       * testsuite/gas/z80/z80.exp: Add new tests
+       * testsuite/gas/z80/dollar.d: New file.
+       * testsuite/gas/z80/dollar.s: New file.
+       * testsuite/gas/z80/ez80_adl_all.d: New file.
+       * testsuite/gas/z80/ez80_adl_all.s: New file.
+       * testsuite/gas/z80/ez80_adl_suf.d: New file.
+       * testsuite/gas/z80/ez80_isuf.s: New file.
+       * testsuite/gas/z80/ez80_z80_all.d: New file.
+       * testsuite/gas/z80/ez80_z80_all.s: New file.
+       * testsuite/gas/z80/ez80_z80_suf.d: New file.
+       * testsuite/gas/z80/r800_extra.d: New file.
+       * testsuite/gas/z80/r800_extra.s: New file.
+       * testsuite/gas/z80/r800_ii8.d: New file.
+       * testsuite/gas/z80/r800_z80_doc.d: New file.
+       * testsuite/gas/z80/z180.d: New file.
+       * testsuite/gas/z80/z180.s: New file.
+       * testsuite/gas/z80/z180_z80_doc.d: New file.
+       * testsuite/gas/z80/z80_doc.d: New file.
+       * testsuite/gas/z80/z80_doc.s: New file.
+       * testsuite/gas/z80/z80_ii8.d: New file.
+       * testsuite/gas/z80/z80_ii8.s: New file.
+       * testsuite/gas/z80/z80_in_f_c.d: New file.
+       * testsuite/gas/z80/z80_in_f_c.s: New file.
+       * testsuite/gas/z80/z80_op_ii_ld.d: New file.
+       * testsuite/gas/z80/z80_op_ii_ld.s: New file.
+       * testsuite/gas/z80/z80_out_c_0.d: New file.
+       * testsuite/gas/z80/z80_out_c_0.s: New file.
+       * testsuite/gas/z80/z80_reloc.d: New file.
+       * testsuite/gas/z80/z80_reloc.s: New file.
+       * testsuite/gas/z80/z80_sli.d: New file.
+       * testsuite/gas/z80/z80_sli.s: New file.
+
 2020-01-02  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
        * config/tc-arm.c (parse_reg_list): Use REG_TYPE_RN instead of
index ce638fabc42b31017417c8420349db3d0020ebd2..36d6c652f6d32a8d466fb6f8e7ef8686b4b5a956 100644 (file)
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,5 +1,15 @@
 -*- text -*-
 
+* Add support for Zilog eZ80 and Zilog Z180 CPUs.
+
+* Add support for z80-elf target.
+
+* Add support for relocation of each byte or word of multibyte value to Z80
+  targets (just use right shift to 0, 8, 16, or 24 bits or AND operation
+  with 0xff/0xffff mask): ld a, label >> 16 \ ld hl, label & 0xffff
+
+* Add SDCC support for Z80 targets.
+
 Changes in 2.33:
 
 * Add support for the Arm Scalable Vector Extension version 2 (SVE2)
index f2f7b1d01867815fc5cc1b0b3f5195d0ad6040b3..a93b579b62eb0c1af036a521745400a2f0a4016a 100644 (file)
@@ -1,4 +1,4 @@
-/* tc-z80.c -- Assemble code for the Zilog Z80 and ASCII R800
+/* tc-z80.c -- Assemble code for the Zilog Z80, Z180, EZ80 and ASCII R800
    Copyright (C) 2005-2020 Free Software Foundation, Inc.
    Contributed by Arnold Metselaar <arnold_m@operamail.com>
 
@@ -22,6 +22,7 @@
 #include "as.h"
 #include "safe-ctype.h"
 #include "subsegs.h"
+#include "elf/z80.h"
 
 /* Exported constants.  */
 const char comment_chars[] = ";\0";
@@ -37,23 +38,63 @@ enum options
 {
   OPTION_MACH_Z80 = OPTION_MD_BASE,
   OPTION_MACH_R800,
+  OPTION_MACH_Z180,
+  OPTION_MACH_EZ80_Z80,
+  OPTION_MACH_EZ80_ADL,
+  OPTION_MACH_GBZ80,
+  OPTION_MACH_INST,
+  OPTION_MACH_NO_INST,
   OPTION_MACH_IUD,
   OPTION_MACH_WUD,
   OPTION_MACH_FUD,
   OPTION_MACH_IUP,
   OPTION_MACH_WUP,
-  OPTION_MACH_FUP
+  OPTION_MACH_FUP,
+  OPTION_FLOAT_FORMAT,
+  OPTION_DOUBLE_FORMAT,
+  OPTION_COMPAT_LL_PREFIX,
+  OPTION_COMPAT_COLONLESS,
+  OPTION_COMPAT_SDCC
 };
 
-#define INS_Z80    1
-#define INS_UNDOC  2
-#define INS_UNPORT 4
-#define INS_R800   8
+#define INS_Z80      (1 << 0)
+#define INS_R800     (1 << 1)
+#define INS_GBZ80    (1 << 2)
+#define INS_Z180     (1 << 3)
+#define INS_EZ80     (1 << 4)
+#define INS_MARCH_MASK 0xffff
+
+#define INS_IDX_HALF (1 << 16)
+#define INS_IN_F_C   (1 << 17)
+#define INS_OUT_C_0  (1 << 18)
+#define INS_SLI      (1 << 19)
+#define INS_ROT_II_LD (1 << 20)  /* instructions like SLA (ii+d),r; which is: LD r,(ii+d); SLA r; LD (ii+d),r */
+#define INS_TUNE_MASK 0xffff0000
+
+#define INS_NOT_GBZ80 (INS_Z80 | INS_Z180 | INS_R800 | INS_EZ80)
+
+#define INS_ALL 0
+#define INS_UNDOC (INS_IDX_HALF | INS_IN_F_C)
+#define INS_UNPORT (INS_OUT_C_0 | INS_SLI | INS_ROT_II_LD)
 
 struct option md_longopts[] =
 {
   { "z80",       no_argument, NULL, OPTION_MACH_Z80},
   { "r800",      no_argument, NULL, OPTION_MACH_R800},
+  { "z180",      no_argument, NULL, OPTION_MACH_Z180},
+  { "ez80",      no_argument, NULL, OPTION_MACH_EZ80_Z80},
+  { "ez80-adl",  no_argument, NULL, OPTION_MACH_EZ80_ADL},
+  { "float",     required_argument, NULL, OPTION_FLOAT_FORMAT},
+  { "double",    required_argument, NULL, OPTION_DOUBLE_FORMAT},
+  { "strict",    no_argument, NULL, OPTION_MACH_FUD},
+  { "full",      no_argument, NULL, OPTION_MACH_IUP},
+  { "with-inst", required_argument, NULL, OPTION_MACH_INST},
+  { "Wnins",     required_argument, NULL, OPTION_MACH_INST},
+  { "without-inst", required_argument, NULL, OPTION_MACH_NO_INST},
+  { "local-prefix", required_argument, NULL, OPTION_COMPAT_LL_PREFIX},
+  { "colonless", no_argument, NULL, OPTION_COMPAT_COLONLESS},
+  { "sdcc",      no_argument, NULL, OPTION_COMPAT_SDCC},
+  { "Fins",      required_argument, NULL, OPTION_MACH_NO_INST},
   { "ignore-undocumented-instructions", no_argument, NULL, OPTION_MACH_IUD },
   { "Wnud",  no_argument, NULL, OPTION_MACH_IUD },
   { "warn-undocumented-instructions",  no_argument, NULL, OPTION_MACH_WUD },
@@ -76,46 +117,169 @@ extern int coff_flags;
 /* Instruction classes that silently assembled.  */
 static int ins_ok = INS_Z80 | INS_UNDOC;
 /* Instruction classes that generate errors.  */
-static int ins_err = INS_R800;
-/* Instruction classes actually used, determines machine type.  */
-static int ins_used = INS_Z80;
+static int ins_err = ~(INS_Z80 | INS_UNDOC);
+/* eZ80 CPU mode (ADL or Z80) */
+static int cpu_mode = 0; /* 0 - Z80, 1 - ADL */
+/* accept SDCC specific instruction encoding */
+static int sdcc_compat = 0;
+/* accept colonless labels */
+static int colonless_labels = 0;
+/* local label prefix (NULL - default) */
+static const char *local_label_prefix = NULL;
+/* floating point support */
+typedef const char *(*str_to_float_t)(char *litP, int *sizeP);
+static str_to_float_t str_to_float;
+static str_to_float_t str_to_double;
+
+/* mode of current instruction */
+#define INST_MODE_S 0      /* short data mode */
+#define INST_MODE_IS 0     /* short instruction mode */
+#define INST_MODE_L 2      /* long data mode */
+#define INST_MODE_IL 1     /* long instruction mode */
+#define INST_MODE_FORCED 4 /* CPU mode changed by instruction suffix*/
+static char inst_mode;
+
+static int
+setup_instruction (const char *inst, int *add, int *sub)
+{
+  int n;
+  if (!strcmp (inst, "idx-reg-halves"))
+    n = INS_IDX_HALF;
+  else if (!strcmp (inst, "sli"))
+    n = INS_SLI;
+  else if (!strcmp (inst, "op-ii-ld"))
+    n = INS_ROT_II_LD;
+  else if (!strcmp (inst, "in-f-c"))
+    n = INS_IN_F_C;
+  else if (!strcmp (inst, "out-c-0"))
+    n = INS_OUT_C_0;
+  else
+    return 0;
+  *add |= n;
+  *sub &= ~n;
+  return 1;
+}
+
+static const char *
+str_to_zeda32 (char *litP, int *sizeP);
+static const char *
+str_to_float48 (char *litP, int *sizeP);
+
+static str_to_float_t
+get_str_to_float (const char *arg)
+{
+  if (strcasecmp(arg, "zeda32") == 0)
+    return str_to_zeda32;
+
+  if (strcasecmp(arg, "math48") == 0)
+    return str_to_float48;
+
+  if (strcasecmp(arg, "ieee754") != 0)
+    as_fatal (_("invalid floating point numbers type `%s'"), arg);
+  return NULL;
+}
+
+static int
+setup_instruction_list (const char *list, int *add, int *sub)
+{
+  char buf[16];
+  const char *b;
+  const char *e;
+  int sz;
+  int res = 0;
+  for (b = list; *b != '\0';)
+    {
+      e = strchr (b, ',');
+      if (e == NULL)
+        sz = strlen (b);
+      else
+        sz = e - b;
+      if (sz == 0 || sz >= (int)sizeof (buf))
+        {
+          as_bad (_("invalid INST in command line: %s"), b);
+          return 0;
+        }
+      memcpy (buf, b, sz);
+      buf[sz] = '\0';
+      if (setup_instruction (buf, add, sub))
+        res++;
+      else
+        {
+          as_bad (_("invalid INST in command line: %s"), buf);
+          return 0;
+        }
+      b = &b[sz];
+      if (*b == ',')
+        ++b;
+    }
+  return res;
+}
 
 int
-md_parse_option (int c, const char* arg ATTRIBUTE_UNUSED)
+md_parse_option (int c, const char* arg)
 {
   switch (c)
     {
     default:
       return 0;
     case OPTION_MACH_Z80:
-      ins_ok &= ~INS_R800;
-      ins_err |= INS_R800;
+      ins_ok = (ins_ok & INS_TUNE_MASK) | INS_Z80;
+      ins_err = (ins_err & INS_MARCH_MASK) | (~INS_Z80 & INS_MARCH_MASK);
       break;
     case OPTION_MACH_R800:
-      ins_ok = INS_Z80 | INS_UNDOC | INS_R800;
+      ins_ok = INS_R800 | INS_IDX_HALF;
       ins_err = INS_UNPORT;
       break;
-    case OPTION_MACH_IUD:
-      ins_ok |= INS_UNDOC;
-      ins_err &= ~INS_UNDOC;
+    case OPTION_MACH_Z180:
+      ins_ok = INS_Z180;
+      ins_err = INS_UNDOC | INS_UNPORT;
       break;
-    case OPTION_MACH_IUP:
-      ins_ok |= INS_UNDOC | INS_UNPORT;
-      ins_err &= ~(INS_UNDOC | INS_UNPORT);
+    case OPTION_MACH_EZ80_Z80:
+      ins_ok = INS_EZ80;
+      ins_err = (INS_UNDOC | INS_UNPORT) & ~INS_IDX_HALF;
+      cpu_mode = 0;
+      break;
+    case OPTION_MACH_EZ80_ADL:
+      ins_ok = INS_EZ80;
+      ins_err = (INS_UNDOC | INS_UNPORT) & ~INS_IDX_HALF;
+      cpu_mode = 1;
+      break;
+    case OPTION_MACH_GBZ80:
+      ins_ok = INS_GBZ80;
+      ins_err = INS_UNDOC | INS_UNPORT;
+      break;
+    case OPTION_FLOAT_FORMAT:
+      str_to_float = get_str_to_float (arg);
+      break;
+    case OPTION_DOUBLE_FORMAT:
+      str_to_double = get_str_to_float (arg);
+      break;
+    case OPTION_MACH_INST:
+      if ((ins_ok & INS_GBZ80) == 0)
+        return setup_instruction_list(arg, & ins_ok, & ins_err);
+      break;
+    case OPTION_MACH_NO_INST:
+      if ((ins_ok & INS_GBZ80) == 0)
+        return setup_instruction_list(arg, & ins_err, & ins_ok);
       break;
     case OPTION_MACH_WUD:
-      if ((ins_ok & INS_R800) == 0)
-       {
-         ins_ok &= ~(INS_UNDOC|INS_UNPORT);
-         ins_err &= ~INS_UNDOC;
-       }
+    case OPTION_MACH_IUD:
+      if ((ins_ok & INS_GBZ80) == 0)
+        {
+          ins_ok |= INS_UNDOC;
+          ins_err &= ~INS_UNDOC;
+        }
       break;
     case OPTION_MACH_WUP:
-      ins_ok &= ~INS_UNPORT;
-      ins_err &= ~(INS_UNDOC|INS_UNPORT);
+    case OPTION_MACH_IUP:
+      if ((ins_ok & INS_GBZ80) == 0)
+        {
+          ins_ok |= INS_UNDOC | INS_UNPORT;
+          ins_err &= ~(INS_UNDOC | INS_UNPORT);
+        }
       break;
     case OPTION_MACH_FUD:
-      if ((ins_ok & INS_R800) == 0)
+      if ((ins_ok & (INS_R800 | INS_GBZ80)) == 0)
        {
          ins_ok &= (INS_UNDOC | INS_UNPORT);
          ins_err |= INS_UNDOC | INS_UNPORT;
@@ -125,6 +289,16 @@ md_parse_option (int c, const char* arg ATTRIBUTE_UNUSED)
       ins_ok &= ~INS_UNPORT;
       ins_err |= INS_UNPORT;
       break;
+    case OPTION_COMPAT_LL_PREFIX:
+      local_label_prefix = (arg && *arg) ? arg : NULL;
+      break;
+    case OPTION_COMPAT_SDCC:
+      sdcc_compat = 1;
+      local_label_prefix = "_";
+      break;
+    case OPTION_COMPAT_COLONLESS:
+      colonless_labels = 1;
+      break;
     }
 
   return 1;
@@ -134,28 +308,52 @@ void
 md_show_usage (FILE * f)
 {
   fprintf (f, "\n\
-CPU model/instruction set options:\n\
+CPU model options:\n\
+  -z80\t\t\t  assemble for Z80\n\
+  -r800\t\t\t  assemble for R800\n\
+  -z180\t\t\t  assemble for Z180\n\
+  -ez80\t\t\t  assemble for eZ80 in Z80 mode by default\n\
+  -ez80-adl\t\t  assemble for eZ80 in ADL mode by default\n\
+\n\
+Compatibility options:\n\
+  -local-prefix=TEXT\t  treat labels prefixed by TEXT as local\n\
+  -colonless\t\t  permit colonless labels\n\
+  -sdcc\t\t\t  accept SDCC specific instruction syntax\n\
+  -float=FORMAT\t\t  set floating point numbers format\n\
+  -double=FORMAT\t\t  set floating point numbers format\n\
+Where FORMAT one of:\n\
+  ieee754\t\t  IEEE754 compatible\n\
+  zeda32\t\t\t  Zeda z80float library 32 bit format\n\
+  math48\t\t  48 bit format from Math48 library\n\
+\n\
+Support for known undocumented instructions:\n\
+  -strict\t\t  assemble only documented instructions\n\
+  -full\t\t\t  assemble all undocumented instructions\n\
+  -with-inst=INST[,...]\n\
+  -Wnins INST[,...]\t  assemble specified instruction(s)\n\
+  -without-inst=INST[,...]\n\
+  -Fins INST[,...]\t  do not assemble specified instruction(s)\n\
+Where INST is one of:\n\
+  idx-reg-halves\t  instructions with halves of index registers\n\
+  sli\t\t\t  instruction SLI/SLL\n\
+  op-ii-ld\t\t  instructions like SLA (II+dd),R (opcodes DD/FD CB dd xx)\n\
+  in-f-c\t\t  instruction IN F,(C)\n\
+  out-c-0\t\t  instruction OUT (C),0\n\
 \n\
-  -z80\t\t  assemble for Z80\n\
+Obsolete options:\n\
   -ignore-undocumented-instructions\n\
-  -Wnud\n\
-\tsilently assemble undocumented Z80-instructions that work on R800\n\
+  -Wnud\t\t\t  silently assemble undocumented Z80-instructions that work on R800\n\
   -ignore-unportable-instructions\n\
-  -Wnup\n\
-\tsilently assemble all undocumented Z80-instructions\n\
+  -Wnup\t\t\t  silently assemble all undocumented Z80-instructions\n\
   -warn-undocumented-instructions\n\
-  -Wud\n\
-\tissue warnings for undocumented Z80-instructions that work on R800\n\
+  -Wud\t\t\t  issue warnings for undocumented Z80-instructions that work on R800\n\
   -warn-unportable-instructions\n\
-  -Wup\n\
-\tissue warnings for other undocumented Z80-instructions\n\
+  -Wup\t\t\t  issue warnings for other undocumented Z80-instructions\n\
   -forbid-undocumented-instructions\n\
-  -Fud\n\
-\ttreat all undocumented z80-instructions as errors\n\
+  -Fud\t\t\t  treat all undocumented Z80-instructions as errors\n\
   -forbid-unportable-instructions\n\
-  -Fup\n\
-\ttreat undocumented z80-instructions that do not work on R800 as errors\n\
-  -r800\t  assemble for R800\n\n\
+  -Fup\t\t\t  treat undocumented Z80-instructions that do not work on R800 as errors\n\
+\n\
 Default: -z80 -ignore-undocumented-instructions -warn-unportable-instructions.\n");
 }
 
@@ -182,6 +380,7 @@ struct reg_entry
 #define REG_F (6 | 8)
 #define REG_I (9)
 #define REG_R (10)
+#define REG_MB (11)
 
 #define REG_AF (3 | R_STACKABLE)
 #define REG_BC (0 | R_STACKABLE | R_ARITH)
@@ -212,6 +411,7 @@ static const struct reg_entry regtable[] =
   {"iyh",REG_H | R_IY },
   {"iyl",REG_L | R_IY },
   {"l",  REG_L },
+  {"mb", REG_MB },
   {"r",  REG_R },
   {"sp", REG_SP },
 } ;
@@ -226,6 +426,9 @@ md_begin (void)
   unsigned int i, j, k;
   char buf[BUFLEN];
 
+  if (ins_ok & INS_EZ80)   /* if select EZ80 cpu then */
+    listing_lhs_width = 6; /* use 6 bytes per line in the listing */
+
   reg.X_op = O_register;
   reg.X_md = 0;
   reg.X_add_symbol = reg.X_op_symbol = 0;
@@ -263,22 +466,27 @@ z80_md_end (void)
 {
   int mach_type;
 
-  if (ins_used & (INS_UNPORT | INS_R800))
-    ins_used |= INS_UNDOC;
-
-  switch (ins_used)
+  switch (ins_ok & INS_MARCH_MASK)
     {
     case INS_Z80:
-      mach_type = bfd_mach_z80strict;
+      if (ins_ok & INS_UNPORT)
+        mach_type = bfd_mach_z80full;
+      else if (ins_ok & INS_UNDOC)
+        mach_type = bfd_mach_z80;
+      else
+        mach_type = bfd_mach_z80strict;
       break;
-    case INS_Z80|INS_UNDOC:
-      mach_type = bfd_mach_z80;
+    case INS_R800:
+      mach_type = bfd_mach_r800;
       break;
-    case INS_Z80|INS_UNDOC|INS_UNPORT:
-      mach_type = bfd_mach_z80full;
+    case INS_Z180:
+      mach_type = bfd_mach_z180;
       break;
-    case INS_Z80|INS_UNDOC|INS_R800:
-      mach_type = bfd_mach_r800;
+    case INS_GBZ80:
+      mach_type = bfd_mach_gbz80;
+      break;
+    case INS_EZ80:
+      mach_type = cpu_mode ? bfd_mach_ez80_adl : bfd_mach_ez80_z80;
       break;
     default:
       mach_type = 0;
@@ -287,6 +495,36 @@ z80_md_end (void)
   bfd_set_arch_mach (stdoutput, TARGET_ARCH, mach_type);
 }
 
+#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
+void
+z80_elf_final_processing (void)
+{
+  unsigned elf_flags;
+  switch (ins_ok & INS_MARCH_MASK)
+    {
+    case INS_Z80:
+      elf_flags = EF_Z80_MACH_Z80;
+      break;
+    case INS_R800:
+      elf_flags = EF_Z80_MACH_R800;
+      break;
+    case INS_Z180:
+      elf_flags = EF_Z80_MACH_Z180;
+      break;
+    case INS_GBZ80:
+      elf_flags = EF_Z80_MACH_GBZ80;
+      break;
+    case INS_EZ80:
+      elf_flags = cpu_mode ? EF_Z80_MACH_EZ80_ADL : EF_Z80_MACH_EZ80_Z80;
+      break;
+    default:
+      elf_flags = 0;
+    }
+
+  elf_elfheader (stdoutput)->e_flags = elf_flags;
+}
+#endif
+
 static const char *
 skip_space (const char *s)
 {
@@ -328,6 +566,10 @@ z80_start_line_hook (void)
              return 1;
            }
          break;
+       case '#':
+         if (sdcc_compat)
+           *p = (*skip_space (p + 1) == '(') ? '+' : ' ';
+         break;
        }
     }
   /* Check for <label>[:] [.](EQU|DEFL) <value>.  */
@@ -344,10 +586,25 @@ z80_start_line_hook (void)
       c = get_symbol_name (&name);
       rest = input_line_pointer + 1;
 
+      if (ISSPACE(c) && colonless_labels)
+        {
+          if (c == '\n')
+            {
+              bump_line_counters ();
+              LISTING_NEWLINE ();
+            }
+          c = ':';
+        }
+      if (c == ':' && sdcc_compat && rest[-2] != '$')
+        dollar_label_clear ();
       if (*rest == ':')
-       ++rest;
-      if (*rest == ' ' || *rest == '\t')
-       ++rest;
+        {
+          /* remove second colon if SDCC compatibility enabled */
+          if (sdcc_compat)
+            *rest = ' ';
+          ++rest;
+        }
+      rest = (char*)skip_space (rest);
       if (*rest == '.')
        ++rest;
       if (strncasecmp (rest, "EQU", 3) == 0)
@@ -386,10 +643,22 @@ md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
 }
 
 const char *
-md_atof (int type ATTRIBUTE_UNUSED, char *litP ATTRIBUTE_UNUSED,
-        int *sizeP ATTRIBUTE_UNUSED)
+md_atof (int type, char *litP, int *sizeP)
 {
-  return _("floating point numbers are not implemented");
+  switch (type)
+    {
+    case 'f':
+    case 'F':
+      if (str_to_float)
+        return str_to_float (litP, sizeP);
+      break;
+    case 'd':
+    case 'D':
+      if (str_to_double)
+        return str_to_double (litP, sizeP);
+      break;
+    }
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 
 valueT
@@ -401,8 +670,7 @@ md_section_align (segT seg ATTRIBUTE_UNUSED, valueT size)
 long
 md_pcrel_from (fixS * fixp)
 {
-  return fixp->fx_where +
-    fixp->fx_frag->fr_address + 1;
+  return fixp->fx_where + fixp->fx_frag->fr_address;
 }
 
 typedef const char * (asfunc)(char, char, const char*);
@@ -413,6 +681,7 @@ typedef struct _table_t
   unsigned char prefix;
   unsigned char opcode;
   asfunc * fp;
+  unsigned inss; /*0 - all CPU types or list of supported INS_* */
 } table_t;
 
 /* Compares the key for structs that start with a char * to the key.  */
@@ -436,6 +705,9 @@ static char err_flag;
 static void
 error (const char * message)
 {
+  if (err_flag)
+    return;
+
   as_bad ("%s", message);
   err_flag = 1;
 }
@@ -449,27 +721,10 @@ ill_op (void)
 static void
 wrong_mach (int ins_type)
 {
-  const char *p;
-
-  switch (ins_type)
-    {
-    case INS_UNDOC:
-      p = "undocumented instruction";
-      break;
-    case INS_UNPORT:
-      p = "instruction does not work on R800";
-      break;
-    case INS_R800:
-      p = "instruction only works R800";
-      break;
-    default:
-      p = 0; /* Not reachable.  */
-    }
-
   if (ins_type & ins_err)
-    error (_(p));
+    ill_op();
   else
-    as_warn ("%s", _(p));
+    as_warn (_("undocumented instruction"));
 }
 
 static void
@@ -477,7 +732,6 @@ check_mach (int ins_type)
 {
   if ((ins_type & ins_ok) == 0)
     wrong_mach (ins_type);
-  ins_used |= ins_type;
 }
 
 /* Check whether an expression is indirect.  */
@@ -546,8 +800,24 @@ parse_exp_not_indexed (const char *s, expressionS *op)
 {
   const char *p;
   int indir;
+  int make_shift = -1;
 
   p = skip_space (s);
+  if (sdcc_compat && (*p == '<' || *p == '>'))
+    {
+      switch (*p)
+       {
+       case '<': /* LSB request */
+         make_shift = 0;
+         break;
+       case '>': /* MSB request */
+         make_shift = cpu_mode ? 16 : 8;
+         break;
+       }
+      s = ++p;
+      p = skip_space (p);
+    }
+
   op->X_md = indir = is_indir (p);
   input_line_pointer = (char*) s ;
   expression (op);
@@ -562,9 +832,65 @@ parse_exp_not_indexed (const char *s, expressionS *op)
     default:
       break;
     }
+
+  if (make_shift >= 0)
+    {
+      /* replace [op] by [op >> shift] */
+      expressionS data;
+      op->X_add_symbol = make_expr_symbol (op);
+      op->X_add_number = 0;
+      op->X_op = O_right_shift;
+      memset (&data, 0, sizeof (data));
+      data.X_op = O_constant;
+      data.X_add_number = make_shift;
+      op->X_op_symbol = make_expr_symbol (&data);
+    }
   return input_line_pointer;
 }
 
+static int
+unify_indexed (expressionS *op)
+{
+  if (O_register != symbol_get_value_expression(op->X_add_symbol)->X_op)
+    return 0;
+
+  int rnum = symbol_get_value_expression(op->X_add_symbol)->X_add_number;
+  if ( ((REG_IX != rnum) && (REG_IY != rnum)) || contains_register(op->X_op_symbol) )
+    {
+      ill_op();
+      return 0;
+    }
+
+  /* convert subtraction to addition of negative value */
+  if (O_subtract == op->X_op)
+    {
+      expressionS minus;
+      minus.X_op = O_uminus;
+      minus.X_add_number = 0;
+      minus.X_add_symbol = op->X_op_symbol;
+      minus.X_op_symbol = 0;
+      op->X_op_symbol = make_expr_symbol(&minus);
+      op->X_op = O_add;
+    }
+  /* clear X_add_number of the expression */
+  if (op->X_add_number != 0)
+    {
+      expressionS add;
+      memset (&add, 0, sizeof (add));
+      add.X_op = O_symbol;
+      add.X_add_number = op->X_add_number;
+      add.X_add_symbol = op->X_op_symbol;
+      add.X_op_symbol = 0;
+      op->X_add_symbol = make_expr_symbol(&add);
+    }
+  else
+    op->X_add_symbol = op->X_op_symbol;
+
+  op->X_add_number = rnum;
+  op->X_op_symbol = 0;
+  return 1;
+}
+
 /* Parse expression, change operator to O_md1 for indexed addressing*/
 static const char *
 parse_exp (const char *s, expressionS *op)
@@ -574,32 +900,8 @@ parse_exp (const char *s, expressionS *op)
     {
     case O_add:
     case O_subtract:
-      if (op->X_md && (O_register == symbol_get_value_expression(op->X_add_symbol)->X_op))
-        {
-         int rnum = symbol_get_value_expression(op->X_add_symbol)->X_add_number;
-         if ( ((REG_IX != rnum) && (REG_IY != rnum)) || contains_register(op->X_op_symbol) )
-           {
-             ill_op();
-           }
-         else
-           {
-             if (O_subtract == op->X_op)
-               {
-                 expressionS minus;
-                 minus.X_op = O_uminus;
-                 minus.X_add_number = 0;
-                 minus.X_add_symbol = op->X_op_symbol;
-                 minus.X_op_symbol = 0;
-                 op->X_op_symbol = make_expr_symbol(&minus);
-                 op->X_op = O_add;
-               }
-             symbol_get_value_expression(op->X_op_symbol)->X_add_number += op->X_add_number;
-             op->X_add_number = rnum;
-             op->X_add_symbol = op->X_op_symbol;
-             op->X_op_symbol = 0;
-             op->X_op = O_md1;
-           }
-       }
+      if (unify_indexed(op) && op->X_md)
+        op->X_op = O_md1;
       break;
     case O_register:
       if ( op->X_md && ((REG_IX == op->X_add_number)||(REG_IY == op->X_add_number)) )
@@ -608,6 +910,19 @@ parse_exp (const char *s, expressionS *op)
          op->X_op = O_md1;
        }
        break;
+    case O_constant:
+      /* parse SDCC syntax where index register offset placed before parentheses */
+      if (sdcc_compat && is_indir (res))
+        {
+          expressionS off;
+          off = *op;
+          res = parse_exp (res, op);
+          if (op->X_op != O_md1 || op->X_add_symbol != zero)
+            ill_op ();
+          else
+              op->X_add_symbol = make_expr_symbol (&off);
+        }
+      break;
     default:
       break;
     }
@@ -705,12 +1020,90 @@ void z80_cons_fix_new (fragS *frag_p, int offset, int nbytes, expressionS *exp)
     }
 }
 
+static void
+emit_data_val (expressionS * val, int size)
+{
+  char *p;
+  bfd_reloc_code_real_type r_type;
+
+  p = frag_more (size);
+  if (val->X_op == O_constant)
+    {
+      int i;
+      for (i = 0; i < size; ++i)
+       p[i] = (char)(val->X_add_number >> (i*8));
+      return;
+    }
+
+  switch (size)
+    {
+    case 1: r_type = BFD_RELOC_8; break;
+    case 2: r_type = BFD_RELOC_16; break;
+    case 3: r_type = BFD_RELOC_24; break;
+    case 4: r_type = BFD_RELOC_32; break;
+    case 8: r_type = BFD_RELOC_64; break;
+    default:
+      as_fatal (_("invalid data size %d"), size);
+    }
+
+  if (   (val->X_op == O_register)
+      || (val->X_op == O_md1)
+      || contains_register(val->X_add_symbol)
+      || contains_register(val->X_op_symbol) )
+    ill_op ();
+
+  if (size <= 2 && val->X_op_symbol)
+    {
+      bfd_boolean simplify = TRUE;
+      int shift = symbol_get_value_expression(val->X_op_symbol)->X_add_number;
+      if (val->X_op == O_bit_and && shift == (1 << (size*8))-1)
+       shift = 0;
+      else if (val->X_op != O_right_shift)
+       shift = -1;
+
+      if (size == 1)
+       {
+         switch (shift)
+           {
+           case 0: r_type = BFD_RELOC_Z80_BYTE0; break;
+           case 8: r_type = BFD_RELOC_Z80_BYTE1; break;
+           case 16: r_type = BFD_RELOC_Z80_BYTE2; break;
+           case 24: r_type = BFD_RELOC_Z80_BYTE3; break;
+           default: simplify = FALSE;
+           }
+       }
+      else /* if (size == 2) */
+       {
+         switch (shift)
+           {
+           case 0: r_type = BFD_RELOC_Z80_WORD0; break;
+           case 16: r_type = BFD_RELOC_Z80_WORD1; break;
+           default: simplify = FALSE;
+           }
+       }
+
+      if (simplify)
+       {
+         val->X_op = O_symbol;
+         val->X_op_symbol = NULL;
+         val->X_add_number = 0;
+       }
+    }
+
+  fix_new_exp (frag_now, p - frag_now->fr_literal, size, val, FALSE, r_type);
+}
+
 static void
 emit_byte (expressionS * val, bfd_reloc_code_real_type r_type)
 {
   char *p;
   int lo, hi;
 
+  if (r_type == BFD_RELOC_8)
+    {
+      emit_data_val (val, 1);
+      return;
+    }
   p = frag_more (1);
   *p = val->X_add_number;
   if ( contains_register(val->X_add_symbol) || contains_register(val->X_op_symbol) )
@@ -736,31 +1129,16 @@ emit_byte (expressionS * val, bfd_reloc_code_real_type r_type)
     }
   else
     {
+      /* For symbols only, constants are stored at begin of function */
       fix_new_exp (frag_now, p - frag_now->fr_literal, 1, val,
                   (r_type == BFD_RELOC_8_PCREL) ? TRUE : FALSE, r_type);
-      /* FIXME : Process constant offsets immediately.  */
     }
 }
 
 static void
 emit_word (expressionS * val)
 {
-  char *p;
-
-  p = frag_more (2);
-  if (   (val->X_op == O_register)
-      || (val->X_op == O_md1)
-      || contains_register(val->X_add_symbol)
-      || contains_register(val->X_op_symbol) )
-    ill_op ();
-  else
-    {
-      *p = val->X_add_number;
-      p[1] = (val->X_add_number>>8);
-      if (val->X_op != O_constant)
-       fix_new_exp (frag_now, p - frag_now->fr_literal, 2,
-                    val, FALSE, BFD_RELOC_16);
-    }
+  emit_data_val (val, (inst_mode & INST_MODE_IL) ? 3 : 2);
 }
 
 static void
@@ -790,7 +1168,8 @@ emit_mx (char prefix, char opcode, int shift, expressionS * arg)
          if ((prefix == 0) && (rnum & R_INDEX))
            {
              prefix = (rnum & R_IX) ? 0xDD : 0xFD;
-             check_mach (INS_UNDOC);
+              if (!(ins_ok & INS_EZ80))
+                check_mach (INS_IDX_HALF);
              rnum &= ~R_INDEX;
            }
          if (rnum > 7)
@@ -805,6 +1184,11 @@ emit_mx (char prefix, char opcode, int shift, expressionS * arg)
       * q ++ = opcode + (rnum << shift);
       break;
     case O_md1:
+      if (ins_ok & INS_GBZ80)
+        {
+          ill_op ();
+          break;
+        }
       q = frag_more (2);
       *q++ = (rnum & R_IX) ? 0xDD : 0xFD;
       *q = (prefix) ? prefix : (opcode + (6 << shift));
@@ -851,7 +1235,7 @@ emit_m (char prefix, char opcode, const char *args)
    are allowed).  */
 
 static const char *
-emit_mr (char prefix, char opcode, const char *args, bfd_boolean unportable)
+emit_mr (char prefix, char opcode, const char *args)
 {
   expressionS arg_m, arg_r;
   const char *p;
@@ -874,13 +1258,10 @@ emit_mr (char prefix, char opcode, const char *args, bfd_boolean unportable)
              ill_op ();
              break;
            }
-         check_mach (INS_UNPORT);
-          unportable = TRUE;
+         check_mach (INS_ROT_II_LD);
        }
       /* Fall through.  */
     case O_register:
-      if (unportable)
-       check_mach (INS_UNPORT);
       emit_mx (prefix, opcode, 0, & arg_m);
       break;
     default:
@@ -889,18 +1270,6 @@ emit_mr (char prefix, char opcode, const char *args, bfd_boolean unportable)
   return p;
 }
 
-static const char *
-emit_mr_z80 (char prefix, char opcode, const char *args)
-{
-  return emit_mr (prefix, opcode, args, FALSE);
-}
-
-static const char *
-emit_mr_unport (char prefix, char opcode, const char *args)
-{
-  return emit_mr (prefix, opcode, args, TRUE);
-}
-
 static void
 emit_sx (char prefix, char opcode, expressionS * arg_p)
 {
@@ -934,6 +1303,13 @@ emit_s (char prefix, char opcode, const char *args)
   const char *p;
 
   p = parse_exp (args, & arg_s);
+  if (*p == ',' && arg_s.X_md == 0 && arg_s.X_op == O_register && arg_s.X_add_number == REG_A)
+    { /* possible instruction in generic format op A,x */
+      if (!(ins_ok & INS_EZ80) && !sdcc_compat)
+        ill_op();
+      ++p;
+      p = parse_exp (p, & arg_s);
+    }
   emit_sx (prefix, opcode, & arg_s);
   return p;
 }
@@ -999,6 +1375,7 @@ emit_jr (char prefix ATTRIBUTE_UNUSED, char opcode, const char * args)
     {
       q = frag_more (1);
       *q = opcode;
+      addr.X_add_number--; /* pcrel computes after offset code */
       emit_byte (&addr, BFD_RELOC_8_PCREL);
     }
   return p;
@@ -1219,7 +1596,7 @@ emit_bit (char prefix, char opcode, const char * args)
        p = emit_m (prefix, opcode + (bn << 3), p);
       else
        /* Set, res : resulting byte can be copied to register.  */
-        p = emit_mr (prefix, opcode + (bn << 3), p, FALSE);
+        p = emit_mr (prefix, opcode + (bn << 3), p);
     }
   else
     ill_op ();
@@ -1349,16 +1726,15 @@ emit_in (char prefix ATTRIBUTE_UNUSED, char opcode ATTRIBUTE_UNUSED,
        }
       else
        {
-         if (port.X_add_number == REG_C)
+          if (port.X_add_number == REG_C || port.X_add_number == REG_BC)
            {
-             if (reg.X_add_number == REG_F)
-               check_mach (INS_UNDOC);
-             else
-               {
-                 q = frag_more (2);
-                 *q++ = 0xED;
-                 *q = 0x40|((reg.X_add_number&7)<<3);
-               }
+              if (port.X_add_number == REG_BC && !(ins_ok & INS_EZ80))
+                ill_op ();
+              else if (reg.X_add_number == REG_F && !(ins_ok & INS_R800))
+                check_mach (INS_IN_F_C);
+          q = frag_more (2);
+          *q++ = 0xED;
+          *q = 0x40|((reg.X_add_number&7)<<3);
            }
          else
            ill_op ();
@@ -1369,6 +1745,39 @@ emit_in (char prefix ATTRIBUTE_UNUSED, char opcode ATTRIBUTE_UNUSED,
   return p;
 }
 
+static const char *
+emit_in0 (char prefix ATTRIBUTE_UNUSED, char opcode ATTRIBUTE_UNUSED,
+        const char * args)
+{
+  expressionS reg, port;
+  const char *p;
+  char *q;
+
+  p = parse_exp (args, &reg);
+  if (*p++ != ',')
+    {
+      error (_("bad instruction syntax"));
+      return p;
+    }
+
+  p = parse_exp (p, &port);
+  if (reg.X_md == 0
+      && reg.X_op == O_register
+      && reg.X_add_number <= 7
+      && port.X_md
+      && port.X_op != O_md1
+      && port.X_op != O_register)
+    {
+      q = frag_more (2);
+      *q++ = 0xED;
+      *q = 0x00|(reg.X_add_number << 3);
+      emit_byte (&port, BFD_RELOC_8);
+    }
+  else
+    ill_op ();
+  return p;
+}
+
 static const char *
 emit_out (char prefix ATTRIBUTE_UNUSED, char opcode ATTRIBUTE_UNUSED,
         const char * args)
@@ -1389,7 +1798,7 @@ emit_out (char prefix ATTRIBUTE_UNUSED, char opcode ATTRIBUTE_UNUSED,
   /* Allow "out (c), 0" as unportable instruction.  */
   if (reg.X_op == O_constant && reg.X_add_number == 0)
     {
-      check_mach (INS_UNPORT);
+      check_mach (INS_OUT_C_0);
       reg.X_op = O_register;
       reg.X_add_number = 6;
     }
@@ -1411,8 +1820,10 @@ emit_out (char prefix ATTRIBUTE_UNUSED, char opcode ATTRIBUTE_UNUSED,
       }
     else
       {
-       if (REG_C == port.X_add_number)
+        if (REG_C == port.X_add_number || port.X_add_number == REG_BC)
          {
+            if (port.X_add_number == REG_BC && !(ins_ok & INS_EZ80))
+              ill_op ();
            q = frag_more (2);
            *q++ = 0xED;
            *q = 0x41 | (reg.X_add_number << 3);
@@ -1423,6 +1834,38 @@ emit_out (char prefix ATTRIBUTE_UNUSED, char opcode ATTRIBUTE_UNUSED,
   return p;
 }
 
+static const char *
+emit_out0 (char prefix ATTRIBUTE_UNUSED, char opcode ATTRIBUTE_UNUSED,
+         const char * args)
+{
+  expressionS reg, port;
+  const char *p;
+  char *q;
+
+  p = parse_exp (args, & port);
+  if (*p++ != ',')
+    {
+      error (_("bad instruction syntax"));
+      return p;
+    }
+  p = parse_exp (p, &reg);
+  if (port.X_md != 0
+      && port.X_op != O_register
+      && port.X_op != O_md1
+      && reg.X_md == 0
+      && reg.X_op == O_register
+      && reg.X_add_number <= 7)
+    {
+      q = frag_more (2);
+      *q++ = 0xED;
+      *q = 0x01 | (reg.X_add_number << 3);
+      emit_byte (&port, BFD_RELOC_8);
+    }
+  else
+    ill_op ();
+  return p;
+}
+
 static const char *
 emit_rst (char prefix ATTRIBUTE_UNUSED, char opcode, const char * args)
 {
@@ -1448,279 +1891,896 @@ emit_rst (char prefix ATTRIBUTE_UNUSED, char opcode, const char * args)
 }
 
 static void
-emit_ldxhl (char prefix, char opcode, expressionS *src, expressionS *d)
-{
+emit_ld_m_n(expressionS *dst, expressionS *src)
+{ /* for 8-bit indirect load to memory instructions like: LD (HL),n or LD (ii+d),n */
   char *q;
+  char prefix;
+  expressionS dst_offset;
 
-  if (src->X_md)
-    ill_op ();
-  else
+  switch (dst->X_add_number)
     {
-      if (src->X_op == O_register)
-       {
-         if (src->X_add_number>7)
-           ill_op ();
-         if (prefix)
-           {
-             q = frag_more (2);
-             *q++ = prefix;
-           }
-         else
-       q = frag_more (1);
-         *q = opcode + src->X_add_number;
-         if (d)
-           emit_byte (d, BFD_RELOC_Z80_DISP8);
-       }
-      else
-       {
-         if (prefix)
-           {
-             q = frag_more (2);
-             *q++ = prefix;
-           }
-         else
-           q = frag_more (1);
-         *q = opcode^0x46;
-         if (d)
-           emit_byte (d, BFD_RELOC_Z80_DISP8);
-         emit_byte (src, BFD_RELOC_8);
-       }
+    case REG_HL: prefix = 0x00; break;
+    case REG_IX: prefix = 0xDD; break;
+    case REG_IY: prefix = 0xFD; break;
+    default:
+      ill_op ();
+      return;
+    }
+
+  q = frag_more (prefix ? 2 : 1);
+  if (prefix)
+    *q++ = prefix;
+  *q = 0x36;
+  if (prefix)
+    {
+      dst_offset = *dst;
+      dst_offset.X_op = O_symbol;
+      dst_offset.X_add_number = 0;
+      emit_byte (& dst_offset, BFD_RELOC_Z80_DISP8);
     }
+  emit_byte (src, BFD_RELOC_8);
 }
 
 static void
-emit_ldreg (int dest, expressionS * src)
-{
+emit_ld_m_r(expressionS *dst, expressionS *src)
+{ /* for 8-bit load register to memory instructions: LD (<expression>),r */
   char *q;
-  int rnum;
+  char prefix = 0;
+  expressionS dst_offset;
 
-  switch (dest)
+  switch (dst->X_op)
     {
-      /* 8 Bit ld group:  */
-    case REG_I:
-    case REG_R:
-      if (src->X_md == 0 && src->X_op == O_register && src->X_add_number == REG_A)
-       {
-         q = frag_more (2);
-         *q++ = 0xED;
-         *q = (dest == REG_I) ? 0x47 : 0x4F;
-       }
-      else
-       ill_op ();
+    case O_md1:
+      prefix = (dst->X_add_number == REG_IX) ? 0xDD : 0xFD;
+      /* Fall through.  */
+    case O_register:
+      switch (dst->X_add_number)
+        {
+        case REG_BC: /* LD (BC),A */
+        case REG_DE: /* LD (DE),A */
+          if (src->X_add_number == REG_A)
+            {
+              q = frag_more (1);
+              *q = 0x02 | ((dst->X_add_number & 3) << 4);
+              return;
+            }
+          break;
+        case REG_IX:
+        case REG_IY:
+        case REG_HL: /* LD (HL),r or LD (ii+d),r */
+          if (src->X_add_number <= 7)
+            {
+              q = frag_more (prefix ? 2 : 1);
+              if (prefix)
+                *q++ = prefix;
+              *q = 0x70 | src->X_add_number;
+              if (prefix)
+                {
+                  dst_offset = *dst;
+                  dst_offset.X_op = O_symbol;
+                  dst_offset.X_add_number = 0;
+                  emit_byte (& dst_offset, BFD_RELOC_Z80_DISP8);
+                }
+              return;
+            }
+          break;
+        default:;
+        }
+        break;
+    default: /* LD (nn),A */
+      if (src->X_add_number == REG_A)
+        {
+          q = frag_more (1);
+          *q = 0x32;
+          emit_word (dst);
+          return;
+        }
       break;
+    }
+    ill_op ();
+}
 
-    case REG_A:
-      if ((src->X_md) && src->X_op != O_register && src->X_op != O_md1)
-       {
-         q = frag_more (1);
-         *q = 0x3A;
-         emit_word (src);
-         break;
-       }
+static void
+emit_ld_m_rr(expressionS *dst, expressionS *src)
+{ /* for 16-bit load register to memory instructions: LD (<expression>),rr */
+  char *q;
+  char prefix = 0;
+  char opcode = 0;
+  expressionS dst_offset;
 
-      if ((src->X_md)
-         && src->X_op == O_register
-         && (src->X_add_number == REG_BC || src->X_add_number == REG_DE))
-       {
-         q = frag_more (1);
-         *q = 0x0A + ((src->X_add_number & 1) << 4);
-         break;
-       }
+  switch (dst->X_op)
+    {
+    case O_md1:      /* eZ80 instructions LD (ii+d),rr */
+    case O_register: /* eZ80 instructions LD (HL),rr */
+      if (!(ins_ok & INS_EZ80)) /* 16-bit indirect load group is supported by eZ80 only */
+          ill_op ();
+      switch (dst->X_add_number)
+        {
+        case REG_IX: prefix = 0xDD; break;
+        case REG_IY: prefix = 0xFD; break;
+        case REG_HL: prefix = 0xED; break;
+        default:
+          ill_op ();
+        }
+      switch (src->X_add_number)
+        {
+        case REG_BC: opcode = 0x0F; break;
+        case REG_DE: opcode = 0x1F; break;
+        case REG_HL: opcode = 0x2F; break;
+        case REG_IX: opcode = (prefix != '\xfd') ? 0x3F : 0x3E; break;
+        case REG_IY: opcode = (prefix != '\xfd') ? 0x3E : 0x3F; break;
+        default:
+          ill_op ();
+        }
+        q = frag_more (prefix ? 2 : 1);
+        *q++ = prefix;
+        *q = opcode;
+        if (prefix == '\xfd' || prefix == '\xdd')
+          {
+            dst_offset = *dst;
+            dst_offset.X_op = O_symbol;
+            dst_offset.X_add_number = 0;
+            emit_byte (& dst_offset, BFD_RELOC_Z80_DISP8);
+          }
+        break;
+    default: /* LD (nn),rr */
+      if (ins_ok & INS_GBZ80)
+        {
+          /* GBZ80 supports only LD (nn),SP */
+          if (src->X_add_number == REG_SP)
+            {
+              prefix = 0x00;
+              opcode = 0x08;
+            }
+          else
+            ill_op ();
+        }
+      else
+        {
+          switch (src->X_add_number)
+            {
+            case REG_BC: prefix = 0xED; opcode = 0x43; break;
+            case REG_DE: prefix = 0xED; opcode = 0x53; break;
+            case REG_HL: prefix = 0x00; opcode = 0x22; break;
+            case REG_IX: prefix = 0xDD; opcode = 0x22; break;
+            case REG_IY: prefix = 0xFD; opcode = 0x22; break;
+            case REG_SP: prefix = 0xED; opcode = 0x73; break;
+            default:
+              ill_op ();
+            }
+        }
+      q = frag_more (prefix ? 2 : 1);
+      if (prefix)
+        *q++ = prefix;
+      *q = opcode;
+      emit_word (dst);
+    }
+}
 
-      if ((!src->X_md)
-         && src->X_op == O_register
-         && (src->X_add_number == REG_R || src->X_add_number == REG_I))
-       {
-         q = frag_more (2);
-         *q++ = 0xED;
-         *q = (src->X_add_number == REG_I) ? 0x57 : 0x5F;
-         break;
-       }
-      /* Fall through.  */
+static void
+emit_ld_r_m (expressionS *dst, expressionS *src)
+{ /* for 8-bit memory load to register: LD r,(xxx) */
+  char *q;
+  char prefix = 0;
+  char opcode = 0;
+  expressionS src_offset;
+
+  if (dst->X_add_number == REG_A && src->X_op == O_register)
+    { /* LD A,(BC) or LD A,(DE) */
+      switch (src->X_add_number)
+        {
+        case REG_BC: opcode = 0x0A; break;
+        case REG_DE: opcode = 0x1A; break;
+        default: break;
+        }
+      if (opcode != 0)
+        {
+          q = frag_more (1);
+          *q = opcode;
+          return;
+        }
+    }
+
+  switch (src->X_op)
+    {
+    case O_md1:
+    case O_register:
+      if (dst->X_add_number > 7)
+        ill_op ();
+      opcode = 0x46; /* LD B,(HL) */
+      switch (src->X_add_number)
+        {
+        case REG_HL: prefix = 0x00; break;
+        case REG_IX: prefix = 0xDD; break;
+        case REG_IY: prefix = 0xFD; break;
+        default:
+          ill_op ();
+        }
+      q = frag_more (prefix ? 2 : 1);
+      if (prefix)
+        *q++ = prefix;
+      *q = opcode | ((dst->X_add_number & 7) << 3);
+      if (prefix)
+        {
+          src_offset = *src;
+          src_offset.X_op = O_symbol;
+          src_offset.X_add_number = 0;
+          emit_byte (& src_offset, BFD_RELOC_Z80_DISP8);
+        }
+      break;
+    default: /* LD A,(nn) */
+      if (dst->X_add_number == REG_A)
+        {
+          q = frag_more (1);
+          *q = 0x3A;
+          emit_word (src);
+        }
+    }
+}
+
+static void
+emit_ld_r_n (expressionS *dst, expressionS *src)
+{ /* for 8-bit immediate value load to register: LD r,n */
+  char *q;
+  char prefix = 0;
+
+  switch (dst->X_add_number)
+    {
+    case REG_H|R_IX:
+    case REG_L|R_IX:
+      prefix = 0xDD;
+      break;
+    case REG_H|R_IY:
+    case REG_L|R_IY:
+      prefix = 0xFD;
+      break;
+    case REG_A:
     case REG_B:
     case REG_C:
     case REG_D:
     case REG_E:
-      emit_sx (0, 0x40 + (dest << 3), src);
-      break;
-
     case REG_H:
     case REG_L:
-      if ((src->X_md == 0)
-         && (src->X_op == O_register)
-         && (src->X_add_number & R_INDEX))
-       ill_op ();
-      else
-       emit_sx (0, 0x40 + (dest << 3), src);
       break;
+    default:
+      ill_op ();
+//      return;
+    }
 
-    case R_IX | REG_H:
-    case R_IX | REG_L:
-    case R_IY | REG_H:
-    case R_IY | REG_L:
-      if (src->X_md)
-       {
-         ill_op ();
-         break;
-       }
-      check_mach (INS_UNDOC);
-      if (src-> X_op == O_register)
-       {
-         rnum = src->X_add_number;
-         if ((rnum & ~R_INDEX) < 8
-             && ((rnum & R_INDEX) == (dest & R_INDEX)
-                  || (   (rnum & ~R_INDEX) != REG_H
-                      && (rnum & ~R_INDEX) != REG_L)))
-           {
-             q = frag_more (2);
-             *q++ = (dest & R_IX) ? 0xDD : 0xFD;
-             *q = 0x40 + ((dest & 0x07) << 3) + (rnum & 7);
-           }
-         else
-           ill_op ();
-       }
+  q = frag_more (prefix ? 2 : 1);
+  if (prefix)
+    {
+      if (ins_ok & INS_GBZ80)
+        ill_op ();
+      else if (!(ins_ok & INS_EZ80))
+        check_mach (INS_IDX_HALF);
+      *q++ = prefix;
+    }
+  *q = 0x06 | ((dst->X_add_number & 7) << 3);
+  emit_byte (src, BFD_RELOC_8);
+}
+
+static void
+emit_ld_r_r (expressionS *dst, expressionS *src)
+{ /* mostly 8-bit load register from register instructions: LD r,r */
+  /* there are some exceptions: LD SP,HL/IX/IY; LD I,HL and LD HL,I */
+  char *q;
+  char prefix = 0;
+  char opcode = 0;
+  int ii_halves = 0;
+
+  switch (dst->X_add_number)
+    {
+    case REG_SP:
+      switch (src->X_add_number)
+        {
+        case REG_HL: prefix = 0x00; break;
+        case REG_IX: prefix = 0xDD; break;
+        case REG_IY: prefix = 0xFD; break;
+        default:
+          ill_op ();
+        }
+      if (ins_ok & INS_GBZ80)
+        ill_op ();
+      opcode = 0xF9;
+      break;
+    case REG_HL:
+      if (!(ins_ok & INS_EZ80))
+        ill_op ();
+      if (src->X_add_number != REG_I)
+        ill_op ();
+      if (cpu_mode < 1)
+        error (_("ADL mode instruction"));
+      /* LD HL,I */
+      prefix = 0xED;
+      opcode = 0xD7;
+      break;
+    case REG_I:
+      if (src->X_add_number == REG_HL)
+        {
+          if (!(ins_ok & INS_EZ80))
+            ill_op ();
+          if (cpu_mode < 1)
+            error (_("ADL mode instruction"));
+          prefix = 0xED;
+          opcode = 0xC7;
+        }
+      else if (src->X_add_number == REG_A)
+        {
+          prefix = 0xED;
+          opcode = 0x47;
+        }
       else
-       {
-         q = frag_more (2);
-         *q++ = (dest & R_IX) ? 0xDD : 0xFD;
-         *q = 0x06 + ((dest & 0x07) << 3);
-         emit_byte (src, BFD_RELOC_8);
-       }
+        ill_op ();
+      break;
+    case REG_MB:
+      if (!(ins_ok & INS_EZ80) || (src->X_add_number != REG_A))
+        ill_op ();
+      if (cpu_mode < 1)
+        error (_("ADL mode instruction"));
+      prefix = 0xED;
+      opcode = 0x6D;
+      break;
+    case REG_R:
+      if (src->X_add_number == REG_A) /* LD R,A */
+        {
+          prefix = 0xED;
+          opcode = 0x4F;
+        }
+      else
+        ill_op ();
+      break;
+    case REG_A:
+      if (src->X_add_number == REG_I) /* LD A,I */
+        {
+          prefix = 0xED;
+          opcode = 0x57;
+          break;
+        }
+      else if (src->X_add_number == REG_R) /* LD A,R */
+        {
+          prefix = 0xED;
+          opcode = 0x5F;
+          break;
+        }
+      else if (src->X_add_number == REG_MB) /* LD A,MB */
+        {
+          if (!(ins_ok & INS_EZ80))
+            ill_op ();
+          else
+            {
+              if (cpu_mode < 1)
+                error (_("ADL mode instruction"));
+              prefix = 0xED;
+              opcode = 0x6E;
+            }
+          break;
+        }
+      /* Fall through. */
+    case REG_B:
+    case REG_C:
+    case REG_D:
+    case REG_E:
+    case REG_H:
+    case REG_L:
+      prefix = 0x00;
+      break;
+    case REG_H|R_IX:
+    case REG_L|R_IX:
+      prefix = 0xDD;
+      ii_halves = 1;
+      break;
+    case REG_H|R_IY:
+    case REG_L|R_IY:
+      prefix = 0xFD;
+      ii_halves = 1;
       break;
+    default:
+      ill_op ();
+    }
 
-      /* 16 Bit ld group:  */
-    case REG_SP:
-      if (src->X_md == 0
-         && src->X_op == O_register
-         && REG_HL == (src->X_add_number &~ R_INDEX))
-       {
-         q = frag_more ((src->X_add_number & R_INDEX) ? 2 : 1);
-         if (src->X_add_number & R_INDEX)
-           *q++ = (src->X_add_number & R_IX) ? 0xDD : 0xFD;
-         *q = 0xF9;
-         break;
-       }
+  if (opcode == 0)
+    {
+      switch (src->X_add_number)
+        {
+          case REG_A:
+          case REG_B:
+          case REG_C:
+          case REG_D:
+          case REG_E:
+            break;
+          case REG_H:
+          case REG_L:
+            if (prefix != 0)
+              ill_op (); /* LD iiH/L,H/L are not permitted */
+            break;
+          case REG_H|R_IX:
+          case REG_L|R_IX:
+            if (prefix == '\xfd' || dst->X_add_number == REG_H || dst->X_add_number == REG_L)
+              ill_op (); /* LD IYL,IXL and LD H,IXH are not permitted */
+            prefix = 0xDD;
+            ii_halves = 1;
+            break;
+          case REG_H|R_IY:
+          case REG_L|R_IY:
+            if (prefix == '\xdd' || dst->X_add_number == REG_H || dst->X_add_number == REG_L)
+              ill_op (); /* LD IXH,IYH and LD L,IYL are not permitted */
+            prefix = 0xFD;
+            ii_halves = 1;
+            break;
+          default:
+            ill_op ();
+        }
+      opcode = 0x40 + ((dst->X_add_number & 7) << 3) + (src->X_add_number & 7);
+    }
+  if ((ins_ok & INS_GBZ80) && prefix != 0)
+    ill_op ();
+  if (ii_halves && !(ins_ok & INS_EZ80))
+    check_mach (INS_IDX_HALF);
+  if (prefix == 0 && (ins_ok & INS_EZ80))
+    {
+      switch (opcode)
+        {
+        case 0x40: /* SIS prefix, in Z80 it is LD B,B */
+        case 0x49: /* LIS prefix, in Z80 it is LD C,C */
+        case 0x52: /* SIL prefix, in Z80 it is LD D,D */
+        case 0x5B: /* LIL prefix, in Z80 it is LD E,E */
+          as_warn(_("unsupported instruction, assembled as NOP"));
+          opcode = 0x00;
+          break;
+        default:;
+        }
+    }
+  q = frag_more (prefix ? 2 : 1);
+  if (prefix)
+    *q++ = prefix;
+  *q = opcode;
+}
+
+static void
+emit_ld_rr_m (expressionS *dst, expressionS *src)
+{ /* for 16-bit indirect load from memory to register: LD rr,(xxx) */
+  char *q;
+  char prefix = 0;
+  char opcode = 0;
+  expressionS src_offset;
+
+  /* GBZ80 has no support for 16-bit load from memory instructions */
+  if (ins_ok & INS_GBZ80)
+    ill_op ();
+
+  prefix = 0xED;
+  switch (src->X_op)
+    {
+    case O_md1: /* LD rr,(ii+d) */
+      prefix = (src->X_add_number == REG_IX) ? 0xDD : 0xFD;
       /* Fall through.  */
+    case O_register: /* LD rr,(HL) */
+      /* currently only EZ80 has support for 16bit indirect memory load instructions */
+      if (!(ins_ok & INS_EZ80))
+        ill_op ();
+      switch (dst->X_add_number)
+        {
+        case REG_BC: opcode = 0x07; break;
+        case REG_DE: opcode = 0x17; break;
+        case REG_HL: opcode = 0x27; break;
+        case REG_IX: opcode = (!prefix || prefix == '\xdd') ? 0x37 : 0x31; break;
+        case REG_IY: opcode = prefix ? ((prefix == '\xdd') ? 0x31 : 0x37) : 0x36; break;
+        default:
+          ill_op ();
+        }
+      q = frag_more (2);
+      *q++ = prefix;
+      *q = opcode;
+      if (prefix != '\xed')
+        {
+          src_offset = *src;
+          src_offset.X_op = O_symbol;
+          src_offset.X_add_number = 0;
+          emit_byte (& src_offset, BFD_RELOC_Z80_DISP8);
+        }
+      break;
+    default: /* LD rr,(nn) */
+      switch (dst->X_add_number)
+        {
+        case REG_BC: prefix = 0xED; opcode = 0x4B; break;
+        case REG_DE: prefix = 0xED; opcode = 0x5B; break;
+        case REG_HL: prefix = 0x00; opcode = 0x2A; break;
+        case REG_SP: prefix = 0xED; opcode = 0x7B; break;
+        case REG_IX: prefix = 0xDD; opcode = 0x2A; break;
+        case REG_IY: prefix = 0xFD; opcode = 0x2A; break;
+        default:
+          ill_op ();
+        }
+      q = frag_more (prefix ? 2 : 1);
+      if (prefix)
+        *q++ = prefix;
+      *q = opcode;
+      emit_word (src);
+    }
+    return;
+}
+
+static void
+emit_ld_rr_nn (expressionS *dst, expressionS *src)
+{ /* mostly load imediate value to multibyte register instructions: LD rr,nn */
+  char *q;
+  char prefix = 0x00;
+  char opcode = 0x21; /* LD HL,nn */
+  switch (dst->X_add_number)
+    {
+    case REG_IX:
+      prefix = 0xDD;
+      break;
+    case REG_IY:
+      prefix = 0xFD;
+      break;
+    case REG_HL:
+      break;
     case REG_BC:
     case REG_DE:
-      if (src->X_op == O_register || src->X_op == O_md1)
-       ill_op ();
-      q = frag_more (src->X_md ? 2 : 1);
-      if (src->X_md)
-       {
-         *q++ = 0xED;
-         *q = 0x4B + ((dest & 3) << 4);
-       }
+    case REG_SP:
+      opcode = 0x01 + ((dst->X_add_number & 3) << 4);
+      break;
+    default:
+      ill_op ();
+      return;
+    }
+  if (prefix && (ins_ok & INS_GBZ80))
+    ill_op ();
+  q = frag_more (prefix ? 2 : 1);
+  if (prefix)
+    *q++ = prefix;
+  *q = opcode;
+  emit_word (src);
+}
+
+static const char *
+emit_ld (char prefix_in ATTRIBUTE_UNUSED, char opcode_in ATTRIBUTE_UNUSED,
+       const char * args)
+{
+  expressionS dst, src;
+  const char *p;
+
+  p = parse_exp (args, & dst);
+  if (*p++ != ',')
+    error (_("bad instruction syntax"));
+  p = parse_exp (p, & src);
+
+  if (dst.X_md)
+    {
+      if (src.X_op == O_register)
+        {
+          if (src.X_add_number <= 7)
+            emit_ld_m_r (& dst, & src); /* LD (xxx),r */
+          else
+            emit_ld_m_rr (& dst, & src); /* LD (xxx),rr */
+        }
       else
-       *q = 0x01 + ((dest & 3) << 4);
-      emit_word (src);
+        emit_ld_m_n (& dst, & src); /* LD (hl),n or LD (ix/y+r),n */
+    }
+  else if (dst.X_op == O_register)
+    {
+      if (src.X_md)
+        {
+          if (dst.X_add_number <= 7)
+            emit_ld_r_m (& dst, & src);
+          else
+            emit_ld_rr_m (& dst, & src);
+        }
+      else if (src.X_op == O_register)
+        emit_ld_r_r (& dst, & src);
+      else if ((dst.X_add_number & ~R_INDEX) <= 7)
+        emit_ld_r_n (& dst, & src);
+      else
+        emit_ld_rr_nn (& dst, & src);
+    }
+  else
+    ill_op ();
+
+  return p;
+}
+
+static const char *
+emit_lddldi (char prefix, char opcode, const char * args)
+{
+  expressionS dst, src;
+  const char *p;
+  char *q;
+
+  if (!(ins_ok & INS_GBZ80))
+    return emit_insn(prefix, opcode, args);
+
+  p = parse_exp (args, & dst);
+  if (*p++ != ',')
+    error (_("bad instruction syntax"));
+  p = parse_exp (args, & src);
+
+  if (dst.X_op != O_register || src.X_op != O_register)
+    ill_op ();
+
+  /* convert opcode 0xA0 . 0x22, 0xA8 . 0x32 */
+  opcode = (opcode & 0x08) * 2 + 0x22;
+
+  if (dst.X_md != 0
+      && dst.X_add_number == REG_HL
+      && src.X_md == 0
+      && src.X_add_number == REG_A)
+    opcode |= 0x00; /* LDx (HL),A */
+  else if (dst.X_md == 0
+      && dst.X_add_number == REG_A
+      && src.X_md != 0
+      && src.X_add_number == REG_HL)
+    opcode |= 0x08; /* LDx A,(HL) */
+  else
+    ill_op ();
+
+  q = frag_more (1);
+  *q = opcode;
+  return p;
+}
+
+static const char *
+emit_ldh (char prefix ATTRIBUTE_UNUSED, char opcode ATTRIBUTE_UNUSED,
+        const char * args)
+{
+  expressionS dst, src;
+  const char *p;
+  char *q;
+
+  p = parse_exp (args, & dst);
+  if (*p++ != ',')
+    {
+      error (_("bad instruction syntax"));
+      return p;
+    }
+
+  p = parse_exp (p, & src);
+  if (dst.X_md == 0
+      && dst.X_op == O_register
+      && dst.X_add_number == REG_A
+      && src.X_md != 0
+      && src.X_op != O_md1
+      && src.X_op != O_register)
+    {
+      q = frag_more (1);
+      *q = 0xF0;
+      emit_byte (& src, BFD_RELOC_8);
+    }
+  else if (dst.X_md != 0
+      && dst.X_op != O_md1
+      && src.X_md == 0
+      && src.X_op == O_register
+      && src.X_add_number == REG_A)
+    {
+      if (dst.X_op == O_register)
+        {
+          if (dst.X_add_number == REG_C)
+            {
+              q = frag_more (1);
+              *q = 0xE2;
+            }
+          else
+            ill_op();
+        }
+      else
+        {
+          q = frag_more (1);
+          *q = 0xE0;
+          emit_byte (& dst, BFD_RELOC_8);
+        }
+    }
+  else
+    ill_op ();
+
+  return p;
+}
+
+static const char *
+parse_lea_pea_args (const char * args, expressionS *op)
+{
+  const char *p;
+  p = parse_exp (args, op);
+  if (sdcc_compat && *p == ',' && op->X_op == O_register)
+    {
+      expressionS off;
+      p = parse_exp (p + 1, &off);
+      op->X_op = O_add;
+      op->X_add_symbol = make_expr_symbol (&off);
+    }
+  return p;
+}
+
+static const char *
+emit_lea (char prefix, char opcode, const char * args)
+{
+  expressionS dst, src;
+  const char *p;
+  char *q;
+  int rnum;
+
+  p = parse_exp (args, & dst);
+  if (dst.X_md != 0 || dst.X_op != O_register)
+    ill_op ();
+
+  rnum = dst.X_add_number;
+  switch (rnum)
+    {
+    case REG_BC:
+    case REG_DE:
+    case REG_HL:
+      opcode = 0x02 | ((rnum & 0x03) << 4);
+      break;
+    case REG_IX:
+      opcode = 0x32; /* lea ix,ix+d has opcode 0x32; lea ix,iy+d has opcode 0x54 */
+      break;
+    case REG_IY:
+      opcode = 0x33; /* lea iy,iy+d has opcode 0x33; lea iy,ix+d has opcode 0x55 */
+      break;
+    default:
+      ill_op ();
+    }
+
+  if (*p++ != ',')
+    error (_("bad instruction syntax"));
+
+  p = parse_lea_pea_args (p, & src);
+  if (src.X_md != 0 || src.X_op != O_add /*&& src.X_op != O_register*/)
+    ill_op ();
+
+  rnum = src.X_add_number;
+  switch (src.X_op)
+    {
+    case O_add:
+      break;
+    case O_register: /* permit instructions like LEA rr,IX without displacement specified */
+      src.X_add_symbol = zero;
+      break;
+    default:
+      ill_op ();
+    }
+
+  switch (rnum)
+    {
+    case REG_IX:
+      opcode = (opcode == 0x33) ? 0x55 : (opcode|0x00);
       break;
+    case REG_IY:
+      opcode = (opcode == 0x32) ? 0x54 : (opcode|0x01);
+    }
+
+  q = frag_more (2);
+  *q++ = prefix;
+  *q = opcode;
+
+  src.X_op = O_symbol;
+  src.X_add_number = 0;
+  emit_byte (& src, BFD_RELOC_Z80_DISP8);
+
+  return p;
+}
+
+static const char *
+emit_mlt (char prefix, char opcode, const char * args)
+{
+  expressionS arg;
+  const char *p;
+  char *q;
+
+  p = parse_exp (args, & arg);
+  if (arg.X_md != 0 || arg.X_op != O_register || !(arg.X_add_number & R_ARITH))
+    ill_op ();
+
+  q = frag_more (2);
+  *q++ = prefix;
+  *q = opcode | ((arg.X_add_number & 3) << 4);
+
+  return p;
+}
 
-    case REG_HL:
-    case REG_HL | R_IX:
-    case REG_HL | R_IY:
-      if (src->X_op == O_register || src->X_op == O_md1)
-       ill_op ();
-      q = frag_more ((dest & R_INDEX) ? 2 : 1);
-      if (dest & R_INDEX)
-       * q ++ = (dest & R_IX) ? 0xDD : 0xFD;
-      *q = (src->X_md) ? 0x2A : 0x21;
-      emit_word (src);
-      break;
+static const char *
+emit_pea (char prefix, char opcode, const char * args)
+{
+  expressionS arg;
+  const char *p;
+  char *q;
 
-    case REG_AF:
-    case REG_F:
-      ill_op ();
-      break;
+  p = parse_lea_pea_args (args, & arg);
+  if (arg.X_md != 0
+      || (/*arg.X_op != O_register &&*/ arg.X_op != O_add)
+      || !(arg.X_add_number & R_INDEX))
+    ill_op ();
+  /* PEA ii without displacement is mostly typo,
+     because there is PUSH instruction which is shorter and faster */
+  /*if (arg.X_op == O_register)
+    as_warn(_("PEA is used without displacement, use PUSH instead"));*/
 
-    default:
-      abort ();
-    }
+  q = frag_more (2);
+  *q++ = prefix;
+  *q = opcode + (arg.X_add_number == REG_IY ? 1 : 0);
+
+  arg.X_op = O_symbol;
+  arg.X_add_number = 0;
+  emit_byte (& arg, BFD_RELOC_Z80_DISP8);
+
+  return p;
 }
 
 static const char *
-emit_ld (char prefix_in ATTRIBUTE_UNUSED, char opcode_in ATTRIBUTE_UNUSED,
-       const char * args)
+emit_reti (char prefix, char opcode, const char * args)
 {
-  expressionS dst, src;
+  if (ins_ok & INS_GBZ80)
+    return emit_insn(0x00, 0xD9, args);
+
+  return emit_insn(prefix, opcode, args);
+}
+
+static const char *
+emit_tst (char prefix, char opcode, const char *args)
+{
+  expressionS arg_s;
   const char *p;
   char *q;
-  char prefix, opcode;
+  int rnum;
 
-  p = parse_exp (args, &dst);
-  if (*p++ != ',')
-    error (_("bad instruction syntax"));
-  p = parse_exp (p, &src);
+  p = parse_exp (args, & arg_s);
+  if (*p == ',' && arg_s.X_md == 0 && arg_s.X_op == O_register && arg_s.X_add_number == REG_A)
+    {
+      if (!(ins_ok & INS_EZ80))
+        ill_op();
+      ++p;
+      p = parse_exp (p, & arg_s);
+    }
 
-  switch (dst.X_op)
+  rnum = arg_s.X_add_number;
+  switch (arg_s.X_op)
     {
     case O_md1:
-      {
-        expressionS dst_offset = dst;
-       dst_offset.X_op = O_symbol;
-       dst_offset.X_add_number = 0;
-       emit_ldxhl ((dst.X_add_number & R_IX) ? 0xDD : 0xFD, 0x70,
-                   &src, &dst_offset);
-      }
+      ill_op ();
       break;
-
     case O_register:
-      if (dst.X_md)
-       {
-         switch (dst.X_add_number)
-           {
-           case REG_BC:
-           case REG_DE:
-             if (src.X_md == 0 && src.X_op == O_register && src.X_add_number == REG_A)
-               {
-                 q = frag_more (1);
-                 *q = 0x02 + ( (dst.X_add_number & 1) << 4);
-               }
-             else
-               ill_op ();
-             break;
-           case REG_HL:
-             emit_ldxhl (0, 0x70, &src, NULL);
-             break;
-           default:
-             ill_op ();
-           }
-       }
-      else
-       emit_ldreg (dst.X_add_number, &src);
+      rnum = arg_s.X_add_number;
+      if (arg_s.X_md != 0)
+        {
+          if (rnum != REG_HL)
+            ill_op ();
+          else
+            rnum = 6;
+        }
+      q = frag_more (2);
+      *q++ = prefix;
+      *q = opcode | (rnum << 3);
       break;
-
     default:
-      if (src.X_md != 0 || src.X_op != O_register)
-       ill_op ();
-      prefix = opcode = 0;
-      switch (src.X_add_number)
-       {
-       case REG_A:
-         opcode = 0x32; break;
-       case REG_BC: case REG_DE: case REG_SP:
-         prefix = 0xED; opcode = 0x43 + ((src.X_add_number&3)<<4); break;
-       case REG_HL:
-         opcode = 0x22; break;
-       case REG_HL|R_IX:
-         prefix = 0xDD; opcode = 0x22; break;
-       case REG_HL|R_IY:
-         prefix = 0xFD; opcode = 0x22; break;
-       }
-      if (opcode)
-       {
-         q = frag_more (prefix?2:1);
-         if (prefix)
-           *q++ = prefix;
-         *q = opcode;
-         emit_word (&dst);
-       }
-      else
-       ill_op ();
+      if (arg_s.X_md)
+        ill_op ();
+      q = frag_more (2);
+      *q++ = prefix;
+      *q = opcode | 0x60;
+      emit_byte (& arg_s, BFD_RELOC_8);
     }
   return p;
 }
 
+static const char *
+emit_tstio (char prefix, char opcode, const char *args)
+{
+  expressionS arg;
+  const char *p;
+  char *q;
+
+  p = parse_exp (args, & arg);
+  if (arg.X_md || arg.X_op == O_register || arg.X_op == O_md1)
+    ill_op ();
+
+  q = frag_more (2);
+  *q++ = prefix;
+  *q = opcode;
+  emit_byte(& arg, BFD_RELOC_8);
+
+  return p;
+}
+
 static void
 emit_data (int size ATTRIBUTE_UNUSED)
 {
@@ -1767,6 +2827,76 @@ emit_data (int size ATTRIBUTE_UNUSED)
   input_line_pointer = (char *)(p-1);
 }
 
+static void
+z80_cons (int size)
+{
+  const char *p;
+  expressionS exp;
+
+  if (is_it_end_of_statement ())
+    {
+      demand_empty_rest_of_line ();
+      return;
+    }
+  p = skip_space (input_line_pointer);
+
+  do
+    {
+      p = parse_exp (p, &exp);
+      if (exp.X_op == O_md1 || exp.X_op == O_register)
+       {
+         ill_op ();
+         break;
+       }
+      if (exp.X_md)
+       as_warn (_("parentheses ignored"));
+      emit_data_val (&exp, size);
+      p = skip_space (p);
+  } while (*p++ == ',') ;
+  input_line_pointer = (char *)(p-1);
+}
+
+/* next functions were commented out because it is difficult to mix
+   both ADL and Z80 mode instructions within one COFF file:
+   objdump cannot recognize point of mode switching.
+*/
+static void
+set_cpu_mode (int mode)
+{
+  if (ins_ok & INS_EZ80)
+    cpu_mode = mode;
+  else
+    error (_("CPU mode is unsupported by target"));
+}
+
+static void
+assume (int arg ATTRIBUTE_UNUSED)
+{
+  char *name;
+  char c;
+  int n;
+
+  input_line_pointer = (char*)skip_space (input_line_pointer);
+  c = get_symbol_name (& name);
+  if (strncasecmp(name, "ADL", 4) != 0)
+    {
+      ill_op ();
+      return;
+    }
+
+  restore_line_pointer (c);
+  input_line_pointer = (char*)skip_space (input_line_pointer);
+  if (*input_line_pointer++ != '=')
+    {
+      error (_("assignment expected"));
+      return;
+    }
+  input_line_pointer = (char*)skip_space (input_line_pointer);
+  n = get_single_number ();
+
+  set_cpu_mode (n);
+}
+
 static const char *
 emit_mulub (char prefix ATTRIBUTE_UNUSED, char opcode, const char * args)
 {
@@ -1834,97 +2964,267 @@ emit_muluw (char prefix ATTRIBUTE_UNUSED, char opcode, const char * args)
   return p;
 }
 
+static int
+assemble_suffix (const char **suffix)
+{
+  static
+  const char sf[8][4] = 
+    {
+      "il",
+      "is",
+      "l",
+      "lil",
+      "lis",
+      "s",
+      "sil",
+      "sis"
+    };
+  const char *p;
+  const char (*t)[4];
+  char sbuf[4];
+  int i;
+
+  p = *suffix;
+  if (*p++ != '.')
+    return 0;
+
+  for (i = 0; (i < 3) && (ISALPHA (*p)); i++)
+    sbuf[i] = TOLOWER (*p++);
+  if (*p && !ISSPACE(*p))
+    return 0;
+  *suffix = p;
+  sbuf[i] = 0;
+
+  t = bsearch(sbuf, sf, ARRAY_SIZE (sf), sizeof(sf[0]), (int(*)(const void*, const void*))strcmp);
+  if (t == NULL)
+    return 0;
+  i = t - sf;
+  switch (i)
+    {
+      case 0: /* IL */
+        i = cpu_mode ? 0x5B : 0x52;
+        break;
+      case 1: /* IS */
+        i = cpu_mode ? 0x49 : 0x40;
+        break;
+      case 2: /* L */
+        i = cpu_mode ? 0x5B : 0x49;
+        break;
+      case 3: /* LIL */
+        i = 0x5B;
+        break;
+      case 4: /* LIS */
+        i = 0x49;
+        break;
+      case 5: /* S */
+        i = cpu_mode ? 0x52 : 0x40;
+        break;
+      case 6: /* SIL */
+        i = 0x52;
+        break;
+      case 7: /* SIS */
+        i = 0x40;
+        break;
+    }
+  *frag_more(1) = (char)i;
+  switch (i)
+    {
+    case 0x40: inst_mode = INST_MODE_FORCED | INST_MODE_S | INST_MODE_IS; break;
+    case 0x49: inst_mode = INST_MODE_FORCED | INST_MODE_L | INST_MODE_IS; break;
+    case 0x52: inst_mode = INST_MODE_FORCED | INST_MODE_S | INST_MODE_IL; break;
+    case 0x5B: inst_mode = INST_MODE_FORCED | INST_MODE_L | INST_MODE_IL; break;
+    }
+  return 1;
+}
+
+static void
+psect (int arg)
+{
+#if defined(OBJ_ELF)
+  return obj_elf_section (arg);
+#elif defined(OBJ_COFF)
+  return obj_coff_section (arg);
+#else
+#error Unknown object format
+#endif
+}
+
+static void
+set_inss (int inss)
+{
+  int old_ins;
+
+  if (!sdcc_compat)
+    as_fatal (_("Invalid directive"));
+
+  old_ins = ins_ok;
+  ins_ok &= INS_MARCH_MASK;
+  ins_ok |= inss;
+  if (old_ins != ins_ok)
+    cpu_mode = 0;
+}
+
+static void
+ignore (int arg ATTRIBUTE_UNUSED)
+{
+  ignore_rest_of_line ();
+}
+
+static void
+area (int arg)
+{
+  char *p;
+  if (!sdcc_compat)
+    as_fatal (_("Invalid directive"));
+  for (p = input_line_pointer; *p && *p != '(' && *p != '\n'; p++)
+    ;
+  if (*p == '(')
+    {
+      *p = '\n';
+      psect (arg);
+      *p++ = '(';
+      ignore_rest_of_line ();
+    }
+  else
+    psect (arg);
+}
+
 /* Port specific pseudo ops.  */
 const pseudo_typeS md_pseudo_table[] =
 {
+  { ".area", area, 0},
+  { ".assume", assume, 0},
+  { ".ez80", set_inss, INS_EZ80},
+  { ".gbz80", set_inss, INS_GBZ80},
+  { ".module", ignore, 0},
+  { ".optsdcc", ignore, 0},
+  { ".r800", set_inss, INS_R800},
+  { ".set", s_set, 0},
+  { ".z180", set_inss, INS_Z180},
+  { ".z80", set_inss, INS_Z80},
   { "db" , emit_data, 1},
-  { "d24", cons, 3},
-  { "d32", cons, 4},
-  { "def24", cons, 3},
-  { "def32", cons, 4},
+  { "d24", z80_cons, 3},
+  { "d32", z80_cons, 4},
+  { "def24", z80_cons, 3},
+  { "def32", z80_cons, 4},
   { "defb", emit_data, 1},
+  { "defm", emit_data, 1},
   { "defs", s_space, 1}, /* Synonym for ds on some assemblers.  */
-  { "defw", cons, 2},
+  { "defw", z80_cons, 2},
   { "ds",   s_space, 1}, /* Fill with bytes rather than words.  */
-  { "dw", cons, 2},
-  { "psect", obj_coff_section, 0}, /* TODO: Translate attributes.  */
+  { "dw", z80_cons, 2},
+  { "psect", psect, 0}, /* TODO: Translate attributes.  */
   { "set", 0, 0},              /* Real instruction on z80.  */
   { NULL, 0, 0 }
 } ;
 
 static table_t instab[] =
 {
-  { "adc",  0x88, 0x4A, emit_adc },
-  { "add",  0x80, 0x09, emit_add },
-  { "and",  0x00, 0xA0, emit_s },
-  { "bit",  0xCB, 0x40, emit_bit },
-  { "call", 0xCD, 0xC4, emit_jpcc },
-  { "ccf",  0x00, 0x3F, emit_insn },
-  { "cp",   0x00, 0xB8, emit_s },
-  { "cpd",  0xED, 0xA9, emit_insn },
-  { "cpdr", 0xED, 0xB9, emit_insn },
-  { "cpi",  0xED, 0xA1, emit_insn },
-  { "cpir", 0xED, 0xB1, emit_insn },
-  { "cpl",  0x00, 0x2F, emit_insn },
-  { "daa",  0x00, 0x27, emit_insn },
-  { "dec",  0x0B, 0x05, emit_incdec },
-  { "di",   0x00, 0xF3, emit_insn },
-  { "djnz", 0x00, 0x10, emit_jr },
-  { "ei",   0x00, 0xFB, emit_insn },
-  { "ex",   0x00, 0x00, emit_ex},
-  { "exx",  0x00, 0xD9, emit_insn },
-  { "halt", 0x00, 0x76, emit_insn },
-  { "im",   0xED, 0x46, emit_im },
-  { "in",   0x00, 0x00, emit_in },
-  { "inc",  0x03, 0x04, emit_incdec },
-  { "ind",  0xED, 0xAA, emit_insn },
-  { "indr", 0xED, 0xBA, emit_insn },
-  { "ini",  0xED, 0xA2, emit_insn },
-  { "inir", 0xED, 0xB2, emit_insn },
-  { "jp",   0xC3, 0xC2, emit_jpcc },
-  { "jr",   0x18, 0x20, emit_jrcc },
-  { "ld",   0x00, 0x00, emit_ld },
-  { "ldd",  0xED, 0xA8, emit_insn },
-  { "lddr", 0xED, 0xB8, emit_insn },
-  { "ldi",  0xED, 0xA0, emit_insn },
-  { "ldir", 0xED, 0xB0, emit_insn },
-  { "mulub", 0xED, 0xC5, emit_mulub }, /* R800 only.  */
-  { "muluw", 0xED, 0xC3, emit_muluw }, /* R800 only.  */
-  { "neg",  0xed, 0x44, emit_insn },
-  { "nop",  0x00, 0x00, emit_insn },
-  { "or",   0x00, 0xB0, emit_s },
-  { "otdr", 0xED, 0xBB, emit_insn },
-  { "otir", 0xED, 0xB3, emit_insn },
-  { "out",  0x00, 0x00, emit_out },
-  { "outd", 0xED, 0xAB, emit_insn },
-  { "outi", 0xED, 0xA3, emit_insn },
-  { "pop",  0x00, 0xC1, emit_pop },
-  { "push", 0x00, 0xC5, emit_pop },
-  { "res",  0xCB, 0x80, emit_bit },
-  { "ret",  0xC9, 0xC0, emit_retcc },
-  { "reti", 0xED, 0x4D, emit_insn },
-  { "retn", 0xED, 0x45, emit_insn },
-  { "rl",   0xCB, 0x10, emit_mr_z80 },
-  { "rla",  0x00, 0x17, emit_insn },
-  { "rlc",  0xCB, 0x00, emit_mr_z80 },
-  { "rlca", 0x00, 0x07, emit_insn },
-  { "rld",  0xED, 0x6F, emit_insn },
-  { "rr",   0xCB, 0x18, emit_mr_z80 },
-  { "rra",  0x00, 0x1F, emit_insn },
-  { "rrc",  0xCB, 0x08, emit_mr_z80 },
-  { "rrca", 0x00, 0x0F, emit_insn },
-  { "rrd",  0xED, 0x67, emit_insn },
-  { "rst",  0x00, 0xC7, emit_rst},
-  { "sbc",  0x98, 0x42, emit_adc },
-  { "scf",  0x00, 0x37, emit_insn },
-  { "set",  0xCB, 0xC0, emit_bit },
-  { "sla",  0xCB, 0x20, emit_mr_z80 },
-  { "sli",  0xCB, 0x30, emit_mr_unport },
-  { "sll",  0xCB, 0x30, emit_mr_unport },
-  { "sra",  0xCB, 0x28, emit_mr_z80 },
-  { "srl",  0xCB, 0x38, emit_mr_z80 },
-  { "sub",  0x00, 0x90, emit_s },
-  { "xor",  0x00, 0xA8, emit_s },
+  { "adc",  0x88, 0x4A, emit_adc,  INS_ALL },
+  { "add",  0x80, 0x09, emit_add,  INS_ALL },
+  { "and",  0x00, 0xA0, emit_s,    INS_ALL },
+  { "bit",  0xCB, 0x40, emit_bit,  INS_ALL },
+  { "call", 0xCD, 0xC4, emit_jpcc, INS_ALL },
+  { "ccf",  0x00, 0x3F, emit_insn, INS_ALL },
+  { "cp",   0x00, 0xB8, emit_s,    INS_ALL },
+  { "cpd",  0xED, 0xA9, emit_insn, INS_NOT_GBZ80 },
+  { "cpdr", 0xED, 0xB9, emit_insn, INS_NOT_GBZ80 },
+  { "cpi",  0xED, 0xA1, emit_insn, INS_NOT_GBZ80 },
+  { "cpir", 0xED, 0xB1, emit_insn, INS_NOT_GBZ80 },
+  { "cpl",  0x00, 0x2F, emit_insn, INS_ALL },
+  { "daa",  0x00, 0x27, emit_insn, INS_ALL },
+  { "dec",  0x0B, 0x05, emit_incdec,INS_ALL },
+  { "di",   0x00, 0xF3, emit_insn, INS_ALL },
+  { "djnz", 0x00, 0x10, emit_jr,   INS_NOT_GBZ80 },
+  { "ei",   0x00, 0xFB, emit_insn, INS_ALL },
+  { "ex",   0x00, 0x00, emit_ex,   INS_NOT_GBZ80 },
+  { "exx",  0x00, 0xD9, emit_insn, INS_NOT_GBZ80 },
+  { "halt", 0x00, 0x76, emit_insn, INS_ALL },
+  { "im",   0xED, 0x46, emit_im,   INS_NOT_GBZ80 },
+  { "in",   0x00, 0x00, emit_in,   INS_NOT_GBZ80 },
+  { "in0",  0xED, 0x00, emit_in0,  INS_Z180|INS_EZ80 },
+  { "inc",  0x03, 0x04, emit_incdec,INS_ALL },
+  { "ind",  0xED, 0xAA, emit_insn, INS_NOT_GBZ80 },
+  { "ind2", 0xED, 0x8C, emit_insn, INS_EZ80 },
+  { "ind2r",0xED, 0x9C, emit_insn, INS_EZ80 },
+  { "indm", 0xED, 0x8A, emit_insn, INS_EZ80 },
+  { "indmr",0xED, 0x9A, emit_insn, INS_EZ80 },
+  { "indr", 0xED, 0xBA, emit_insn, INS_NOT_GBZ80 },
+  { "indrx",0xED, 0xCA, emit_insn, INS_EZ80 },
+  { "ini",  0xED, 0xA2, emit_insn, INS_NOT_GBZ80 },
+  { "ini2", 0xED, 0x84, emit_insn, INS_EZ80 },
+  { "ini2r",0xED, 0x94, emit_insn, INS_EZ80 },
+  { "inim", 0xED, 0x82, emit_insn, INS_EZ80 },
+  { "inimr",0xED, 0x92, emit_insn, INS_EZ80 },
+  { "inir", 0xED, 0xB2, emit_insn, INS_NOT_GBZ80 },
+  { "inirx",0xED, 0xC2, emit_insn, INS_EZ80 },
+  { "jp",   0xC3, 0xC2, emit_jpcc, INS_ALL },
+  { "jr",   0x18, 0x20, emit_jrcc, INS_ALL },
+  { "ld",   0x00, 0x00, emit_ld,   INS_ALL },
+  { "ldd",  0xED, 0xA8, emit_lddldi,INS_ALL }, /* GBZ80 has special meaning */
+  { "lddr", 0xED, 0xB8, emit_insn, INS_NOT_GBZ80 },
+  { "ldh",  0xE0, 0x00, emit_ldh,  INS_GBZ80 },
+  { "ldhl", 0xE0, 0x00, emit_ldh,  INS_GBZ80 },
+  { "ldi",  0xED, 0xA0, emit_lddldi,INS_ALL }, /* GBZ80 has special meaning */
+  { "ldir", 0xED, 0xB0, emit_insn, INS_NOT_GBZ80 },
+  { "lea",  0xED, 0x02, emit_lea,  INS_EZ80 },
+  { "mlt",  0xED, 0x4C, emit_mlt,  INS_Z180|INS_EZ80 },
+  { "mulub",0xED, 0xC5, emit_mulub,INS_R800 },
+  { "muluw",0xED, 0xC3, emit_muluw,INS_R800 },
+  { "neg",  0xed, 0x44, emit_insn, INS_NOT_GBZ80 },
+  { "nop",  0x00, 0x00, emit_insn, INS_ALL },
+  { "or",   0x00, 0xB0, emit_s,    INS_ALL },
+  { "otd2r",0xED, 0xBC, emit_insn, INS_EZ80 },
+  { "otdm", 0xED, 0x8B, emit_insn, INS_Z180|INS_EZ80 },
+  { "otdmr",0xED, 0x9B, emit_insn, INS_Z180|INS_EZ80 },
+  { "otdr", 0xED, 0xBB, emit_insn, INS_NOT_GBZ80 },
+  { "otdrx",0xED, 0xCB, emit_insn, INS_EZ80 },
+  { "oti2r",0xED, 0xB4, emit_insn, INS_EZ80 },
+  { "otim", 0xED, 0x83, emit_insn, INS_Z180|INS_EZ80 },
+  { "otimr",0xED, 0x93, emit_insn, INS_Z180|INS_EZ80 },
+  { "otir", 0xED, 0xB3, emit_insn, INS_NOT_GBZ80 },
+  { "otirx",0xED, 0xC3, emit_insn, INS_EZ80 },
+  { "out",  0x00, 0x00, emit_out,  INS_NOT_GBZ80 },
+  { "out0", 0xED, 0x01, emit_out0, INS_Z180|INS_EZ80 },
+  { "outd", 0xED, 0xAB, emit_insn, INS_NOT_GBZ80 },
+  { "outd2",0xED, 0xAC, emit_insn, INS_EZ80 },
+  { "outi", 0xED, 0xA3, emit_insn, INS_NOT_GBZ80 },
+  { "outi2",0xED, 0xA4, emit_insn, INS_EZ80 },
+  { "pea",  0xED, 0x65, emit_pea,  INS_EZ80 },
+  { "pop",  0x00, 0xC1, emit_pop,  INS_ALL },
+  { "push", 0x00, 0xC5, emit_pop,  INS_ALL },
+  { "res",  0xCB, 0x80, emit_bit,  INS_ALL },
+  { "ret",  0xC9, 0xC0, emit_retcc,INS_ALL },
+  { "reti", 0xED, 0x4D, emit_reti, INS_ALL }, /*GBZ80 has its own opcode for it*/
+  { "retn", 0xED, 0x45, emit_insn, INS_NOT_GBZ80 },
+  { "rl",   0xCB, 0x10, emit_mr,   INS_ALL },
+  { "rla",  0x00, 0x17, emit_insn, INS_ALL },
+  { "rlc",  0xCB, 0x00, emit_mr,   INS_ALL },
+  { "rlca", 0x00, 0x07, emit_insn, INS_ALL },
+  { "rld",  0xED, 0x6F, emit_insn, INS_NOT_GBZ80 },
+  { "rr",   0xCB, 0x18, emit_mr,   INS_ALL },
+  { "rra",  0x00, 0x1F, emit_insn, INS_ALL },
+  { "rrc",  0xCB, 0x08, emit_mr,   INS_ALL },
+  { "rrca", 0x00, 0x0F, emit_insn, INS_ALL },
+  { "rrd",  0xED, 0x67, emit_insn, INS_NOT_GBZ80 },
+  { "rsmix",0xED, 0x7E, emit_insn, INS_EZ80 },
+  { "rst",  0x00, 0xC7, emit_rst,  INS_ALL },
+  { "sbc",  0x98, 0x42, emit_adc,  INS_ALL },
+  { "scf",  0x00, 0x37, emit_insn, INS_ALL },
+  { "set",  0xCB, 0xC0, emit_bit,  INS_ALL },
+  { "sla",  0xCB, 0x20, emit_mr,   INS_ALL },
+  { "sli",  0xCB, 0x30, emit_mr,   INS_SLI },
+  { "sll",  0xCB, 0x30, emit_mr,   INS_SLI },
+  { "slp",  0xED, 0x76, emit_insn, INS_Z180|INS_EZ80 },
+  { "sra",  0xCB, 0x28, emit_mr,   INS_ALL },
+  { "srl",  0xCB, 0x38, emit_mr,   INS_ALL },
+  { "stmix",0xED, 0x7D, emit_insn, INS_EZ80 },
+  { "stop", 0x00, 0x10, emit_insn, INS_GBZ80 },
+  { "sub",  0x00, 0x90, emit_s,    INS_ALL },
+  { "swap", 0xCB, 0x30, emit_mr,   INS_GBZ80 },
+  { "tst",  0xED, 0x04, emit_tst,  INS_Z180|INS_EZ80 },
+  { "tstio",0xED, 0x74, emit_tstio,INS_Z180|INS_EZ80 },
+  { "xor",  0x00, 0xA8, emit_s,    INS_ALL },
 } ;
 
 void
@@ -1936,9 +3236,10 @@ md_assemble (char *str)
   table_t *insp;
 
   err_flag = 0;
+  inst_mode = cpu_mode ? (INST_MODE_L | INST_MODE_IL) : (INST_MODE_S | INST_MODE_IS);
   old_ptr = input_line_pointer;
   p = skip_space (str);
-  for (i = 0; (i < BUFLEN) && (ISALPHA (*p));)
+  for (i = 0; (i < BUFLEN) && (ISALPHA (*p) || ISDIGIT (*p));)
     buf[i++] = TOLOWER (*p++);
 
   if (i == BUFLEN)
@@ -1947,18 +3248,27 @@ md_assemble (char *str)
       buf[BUFLEN-1] = 0;
       as_bad (_("Unknown instruction '%s'"), buf);
     }
-  else if ((*p) && (!ISSPACE (*p)))
-    as_bad (_("syntax error"));
   else
     {
+      if ((*p) && (!ISSPACE (*p)))
+        {
+          if (*p != '.' || !(ins_ok & INS_EZ80) || !assemble_suffix(&p))
+            {
+              as_bad (_("syntax error"));
+              goto end;
+            }
+        }
       buf[i] = 0;
       p = skip_space (p);
       key = buf;
 
       insp = bsearch (&key, instab, ARRAY_SIZE (instab),
                    sizeof (instab[0]), key_cmp);
-      if (!insp)
-       as_bad (_("Unknown instruction '%s'"), buf);
+      if (!insp || (insp->inss && !(insp->inss & ins_ok)))
+        {
+          as_bad (_("Unknown instruction '%s'"), buf);
+          *frag_more(1) = 0;
+        }
       else
        {
          p = insp->fp (insp->prefix, insp->opcode, p);
@@ -1968,6 +3278,7 @@ md_assemble (char *str)
                  *p);
        }
     }
+end:
   input_line_pointer = old_ptr;
 }
 
@@ -2013,6 +3324,34 @@ md_apply_fix (fixS * fixP, valueT* valP, segT seg ATTRIBUTE_UNUSED)
         }
       break;
 
+    case BFD_RELOC_Z80_BYTE0:
+      *p_lit++ = val;
+      fixP->fx_no_overflow = 1;
+      if (fixP->fx_addsy == NULL)
+        fixP->fx_done = 1;
+      break;
+
+    case BFD_RELOC_Z80_BYTE1:
+      *p_lit++ = (val >> 8);
+      fixP->fx_no_overflow = 1;
+      if (fixP->fx_addsy == NULL)
+        fixP->fx_done = 1;
+      break;
+
+    case BFD_RELOC_Z80_BYTE2:
+      *p_lit++ = (val >> 16);
+      fixP->fx_no_overflow = 1;
+      if (fixP->fx_addsy == NULL)
+        fixP->fx_done = 1;
+      break;
+
+    case BFD_RELOC_Z80_BYTE3:
+      *p_lit++ = (val >> 24);
+      fixP->fx_no_overflow = 1;
+      if (fixP->fx_addsy == NULL)
+        fixP->fx_done = 1;
+      break;
+
     case BFD_RELOC_8:
       if (val > 255 || val < -128)
        as_warn_where (fixP->fx_file, fixP->fx_line, _("overflow"));
@@ -2022,6 +3361,15 @@ md_apply_fix (fixS * fixP, valueT* valP, segT seg ATTRIBUTE_UNUSED)
        fixP->fx_done = 1;
       break;
 
+    case BFD_RELOC_Z80_WORD1:
+      *p_lit++ = (val >> 16);
+      *p_lit++ = (val >> 24);
+      fixP->fx_no_overflow = 1;
+      if (fixP->fx_addsy == NULL)
+        fixP->fx_done = 1;
+      break;
+
+    case BFD_RELOC_Z80_WORD0:
     case BFD_RELOC_16:
       *p_lit++ = val;
       *p_lit++ = (val >> 8);
@@ -2086,3 +3434,236 @@ tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED , fixS *fixp)
 
   return reloc;
 }
+
+int
+z80_tc_label_is_local (const char *name)
+{
+  const char *n;
+  const char *p;
+  if (local_label_prefix == NULL)
+    return 0;
+  for (p = local_label_prefix, n = name; *p && *n && *n == *p; p++, n++)
+    ;
+  return *p == '\0';
+}
+
+/* Parse floating point number from string and compute mantissa and
+   exponent. Mantissa is normalized.
+*/
+#define EXP_MIN -0x10000
+#define EXP_MAX 0x10000
+static int
+str_to_broken_float (bfd_boolean *signP, bfd_uint64_t *mantissaP, int *expP)
+{
+  char *p;
+  bfd_boolean sign;
+  bfd_uint64_t mantissa = 0;
+  int exponent = 0;
+  int i;
+
+  p = (char*)skip_space (input_line_pointer);
+  sign = (*p == '-');
+  *signP = sign;
+  if (sign || *p == '+')
+    ++p;
+  if (strncasecmp(p, "NaN", 3) == 0)
+    {
+      *mantissaP = 0;
+      *expP = 0;
+      input_line_pointer = p + 3;
+      return 1;
+    }
+  if (strncasecmp(p, "inf", 3) == 0)
+    {
+      *mantissaP = 1ull << 63;
+      *expP = EXP_MAX;
+      input_line_pointer = p + 3;
+      return 1;
+    }
+  for (; ISDIGIT(*p); ++p)
+    {
+      if (mantissa >> 60)
+       {
+         if (*p >= '5')
+           mantissa++;
+         break;
+       }
+      mantissa = mantissa * 10 + (*p - '0');
+    }
+  /* skip non-significant digits */
+  for (; ISDIGIT(*p); ++p)
+    exponent++;
+
+  if (*p == '.')
+    {
+      p++;
+      if (!exponent) /* if no precission overflow */
+       {
+         for (; ISDIGIT(*p); ++p, --exponent)
+           {
+             if (mantissa >> 60)
+               {
+                 if (*p >= '5')
+                   mantissa++;
+                 break;
+               }
+             mantissa = mantissa * 10 + (*p - '0');
+           }
+       }
+      for (; ISDIGIT(*p); ++p)
+       ;
+    }
+  if (*p == 'e' || *p == 'E')
+    {
+      int es;
+      int t = 0;
+      ++p;
+      es = (*p == '-');
+      if (es || *p == '+')
+        p++;
+      for (; ISDIGIT(*p); ++p)
+       {
+         if (t < 100)
+           t = t * 10 + (*p - '0');
+       }
+      exponent += (es) ? -t : t;
+    }
+  if (ISALNUM(*p) || *p == '.')
+    return 0;
+  input_line_pointer = p;
+  if (mantissa == 0)
+    {
+      *mantissaP = 1ull << 63;
+      *expP = EXP_MIN;
+      return 1; /* result is 0 */
+    }
+  /* normalization */
+  for (; mantissa <= ~0ull/10; --exponent)
+    mantissa *= 10;
+  /*
+     now we have sign, mantissa, and signed decimal exponent
+     need to recompute to binary exponent
+  */
+  for (i = 64; exponent > 0; --exponent)
+    {
+      /* be sure that no integer overflow */
+      while (mantissa > ~0ull/10)
+       {
+         mantissa >>= 1;
+         i += 1;
+       }
+       mantissa *= 10;
+    }
+  for (; exponent < 0; ++exponent)
+    {
+      while (!(mantissa >> 63))
+       {
+         mantissa <<= 1;
+         i -= 1;
+       }
+       mantissa /= 10;
+    }
+  /* normalization */
+  for (; !(mantissa >> 63); --i)
+    mantissa <<= 1;
+  *mantissaP = mantissa;
+  *expP = i;
+  return 1;
+}
+
+static const char *
+str_to_zeda32(char *litP, int *sizeP)
+{
+  bfd_uint64_t mantissa;
+  bfd_boolean sign;
+  int exponent;
+  unsigned i;
+
+  *sizeP = 4;
+  if (!str_to_broken_float (&sign, &mantissa, &exponent))
+    return _("invalid syntax");
+  /* I do not know why decrement is needed */
+  --exponent;
+  /* shift by 39 bits right keeping 25 bit mantissa for rounding */
+  mantissa >>= 39;
+  /* do rounding */
+  ++mantissa;
+  /* make 24 bit mantissa */
+  mantissa >>= 1;
+  /* check for overflow */
+  if (mantissa >> 24)
+    {
+      mantissa >>= 1;
+      ++exponent;
+    }
+  /* check for 0 */
+  if (exponent < -127)
+    {
+      exponent = -128;
+      mantissa = 0;
+    }
+  else if (exponent > 127)
+    {
+      exponent = -128;
+      mantissa = sign ? 0xc00000 : 0x400000;
+    }
+  else if (mantissa == 0)
+    {
+      exponent = -128;
+      mantissa = 0x200000;
+    }
+  else if (!sign)
+    mantissa &= (1ull << 23) - 1;
+  for (i = 0; i < 24; i += 8)
+    *litP++ = (char)(mantissa >> i);
+  *litP = (char)(0x80 + exponent);
+  return NULL;
+}
+
+/*
+  Math48 by Anders Hejlsberg support.
+  Mantissa is 39 bits wide, exponent 8 bit wide.
+  Format is:
+  bit 47: sign
+  bit 46-8: normalized mantissa (bits 38-0, bit39 assumed to be 1)
+  bit 7-0: exponent+128 (0 - value is null)
+  MIN: 2.938735877e-39
+  MAX: 1.701411835e+38
+*/
+static const char *
+str_to_float48(char *litP, int *sizeP)
+{
+  bfd_uint64_t mantissa;
+  bfd_boolean sign;
+  int exponent;
+  unsigned i;
+
+  *sizeP = 6;
+  if (!str_to_broken_float (&sign, &mantissa, &exponent))
+    return _("invalid syntax");
+  /* shift by 23 bits right keeping 41 bit mantissa for rounding */
+  mantissa >>= 23;
+  /* do rounding */
+  ++mantissa;
+  /* make 40 bit mantissa */
+  mantissa >>= 1;
+  /* check for overflow */
+  if (mantissa >> 40)
+    {
+      mantissa >>= 1;
+      ++exponent;
+    }
+  if (exponent < -127)
+    {
+      memset (litP, 0, 6);
+      return NULL;
+    }
+  if (exponent > 127)
+    return _("overflow");
+  if (!sign)
+    mantissa &= (1ull << 39) - 1;
+  *litP++ = (char)(0x80 + exponent);
+  for (i = 0; i < 40; i += 8)
+    *litP++ = (char)(mantissa >> i);
+  return NULL;
+}
index 83b09af707b0e3b811d5e56bcbe8f262e6f477e5..57490270913bb178b0cde066a1fad66ec18380b8 100644 (file)
@@ -24,6 +24,9 @@
 #define TC_Z80
 
 #define TARGET_ARCH   bfd_arch_z80
+#ifndef OBJ_COFF
+#define TARGET_FORMAT "elf32-z80"
+#endif
 #define BFD_ARCH      TARGET_ARCH
 #define COFF_MAGIC    0x5A80
 #define TARGET_MACH   0
@@ -76,7 +79,7 @@ extern void z80_cons_fix_new (fragS *, int, int, expressionS *);
 /* Values passed to md_apply_fix3 don't include the symbol value.  */
 #define MD_APPLY_SYM_VALUE(FIX) 0
 
-#define LISTING_WORD_SIZE 2
+#define LISTING_WORD_SIZE 1
 
 /* A single '=' is accepted as a comparison operator.  */
 #define O_SINGLE_EQ O_eq
@@ -84,14 +87,15 @@ extern void z80_cons_fix_new (fragS *, int, int, expressionS *);
 /* A '$' is used to refer to the current location or as a hex. prefix.  */
 #define DOLLAR_DOT
 #define DOLLAR_AMBIGU                1
+#define LOCAL_LABEL_PREFIX           '.'
 #define LOCAL_LABELS_FB              1
+#define LOCAL_LABELS_DOLLAR          1
 #define LITERAL_PREFIXPERCENT_BIN
 #define NUMBERS_WITH_SUFFIX          1
 #define NO_PSEUDO_DOT                1
 /* We allow single quotes to delimit character constants as
    well, but it is cleaner to handle that in tc-z80.c.  */
 #define SINGLE_QUOTE_STRINGS
-#define NO_STRING_ESCAPES
 
 /* An `.lcomm' directive with no explicit alignment parameter will
    use this macro to set P2VAR to the alignment that a request for
@@ -106,4 +110,10 @@ extern void z80_cons_fix_new (fragS *, int, int, expressionS *);
    we use to identify registers.  */
 #define md_register_arithmetic 0
 
+#define TC_LABEL_IS_LOCAL z80_tc_label_is_local
+extern int z80_tc_label_is_local (const char *name);
+
+#define elf_tc_final_processing        z80_elf_final_processing
+extern void z80_elf_final_processing (void);
+
 #endif
index 8957f209a1c7a9d3b658449ca836bd6766e25cf4..15b33fdf63cea1cdacf0c62dfb5610f74376b1dd 100644 (file)
@@ -630,7 +630,10 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
 @ifset Z80
 
 @emph{Target Z80 options:}
-  [@b{-z80}] [@b{-r800}]
+  [@b{-z80}]|[@b{-z180}]|[@b{-r800}]|[@b{-ez80}]|[@b{-ez80-adl}]
+  [@b{-strict}]|[@b{-full}]
+  [@b{-with-inst=@var{INST}[,...]}] [@b{-Wnins @var{INST}[,...]}]
+  [@b{-without-inst=@var{INST}[,...]}] [@b{-Fins @var{INST}[,...]}]
   [@b{ -ignore-undocumented-instructions}] [@b{-Wnud}]
   [@b{ -ignore-unportable-instructions}] [@b{-Wnup}]
   [@b{ -warn-undocumented-instructions}] [@b{-Wud}]
@@ -1943,10 +1946,34 @@ Xtensa processor.
 The following options are available when @value{AS} is configured for
 a Z80 family processor.
 @table @gcctabopt
+
 @item -z80
 Assemble for Z80 processor.
 @item -r800
 Assemble for R800 processor.
+@item -z180
+Assemble for Z180 processor.
+@item -ez80
+Assemble for eZ80 processor in Z80 memory mode by default.
+@item -ez80-adl
+Assemble for eZ80 processor in ADL memory mode by default.
+
+@item  @code{-colonless}
+Accept colonless labels. All names at line begin are treated as labels.
+@item  @code{-sdcc}
+Accept assembler code produces by SDCC.
+
+@item  @code{-strict}
+Accept documented instructions only.
+@item  @code{-full}
+Accept all known Z80 instructions.
+@item  @code{-with-inst=INST[,...]}
+@itemx @code{-Wnins INST[,...]}
+Enable specified undocumented instruction(s).
+@item  @code{-without-inst=INST[,...]}
+@itemx @code{-Fins INST[,...]}
+Disable specified undocumented instruction(s).
+
 @item  -ignore-undocumented-instructions
 @itemx -Wnud
 Assemble undocumented Z80 instructions that also work on R800 without warning.
@@ -1966,6 +1993,22 @@ Treat all undocumented instructions as errors.
 @itemx -Fup
 Treat undocumented Z80 instructions that do not work on R800 as errors.
 @end table
+
+Folowing undocumented instructions may be enabled/disabled by
+@code{-with-inst}/@code{-without-inst}:
+@table @gcctabopt
+@item  @code{idx-reg-halves}
+All operations with halves of index registers (IXL, IXH, IYL, IYH).
+@item  @code{sli}
+SLI or SLL instruction.
+@item  @code{op-ii-ld}
+Istructions like @code{<op> (<ii>+<d>),<r>}, where @code{<op>}
+is shift or bit manipulation instruction (RLC, SLA, SET, RES...).
+@item @code{in-f-c}
+Instruction @code{IN F,(C)}.
+@item @code{out-c-0}
+Instruction @code{OUT (C),0}
+@end table
 @end ifset
 
 @c man end
@@ -6770,7 +6813,7 @@ If you @code{.set} a global symbol, the value stored in the object
 file is the last value stored into it.
 
 @ifset Z80
-On Z80 @code{set} is a real instruction, use
+On Z80 @code{set} is a real instruction, use @code{.set} or
 @samp{@var{symbol} defl @var{expression}} instead.
 @end ifset
 
index b3d303012c0486e2ac76ae6088d4c18a14e488af..a4366464046adc32d3c0a4b73d4bab43b840c035 100644 (file)
 @section Options
 @cindex Z80 options
 @cindex options for Z80
-The Zilog Z80 and Ascii R800 version of @code{@value{AS}} have a few machine
-dependent options.
 @table @option
 @cindex @code{-z80} command-line option, Z80
 @item -z80
-Produce code for the Z80 processor. There are additional options to
-request warnings and error messages for undocumented instructions.
-@item  -ignore-undocumented-instructions
-@itemx -Wnud
+Produce code for the Z80 processor. By default accepted undocumented
+operations with halves of index registers (IXL, IXH, IYL, IYH) and
+instuction IN F,(C). Other useful undocumented instructions produces
+warnings. Undocumented instructions may not work on some CPUs, use
+them on your own risk.
+
+@cindex @code{-r800} command-line option, R800
+@item -r800
+Produce code for the R800 processor.
+
+@cindex @code{-z180} command-line option, Z180
+@item -z180
+Produce code for the Z180 processor.
+
+@cindex @code{-ez80} command-line option, eZ80
+@item -ez80
+Produce code for the eZ80 processor in Z80 memory mode by default.
+
+@cindex @code{-ez80-adl} command-line option, eZ80
+@item -ez80-adl
+Produce code for the eZ80 processor in ADL memory mode by default.
+
+@cindex Compatibility options
+@item  @code{-colonless}
+Accept colonless labels. All names at line begin are treated as labels.
+
+@item  @code{-sdcc}
+Accept assembler code produces by SDCC.
+
+@cindex Undocumented instruction control
+@item  @code{-strict}
+Accept documented instructions only.
+
+@item  @code{-full}
+Accept all known Z80 instructions.
+
+@item  @code{-with-inst=INST[,...]}
+@itemx @code{-Wnins INST[,...]}
+Enable specified undocumented instruction(s).
+
+@item  @code{-without-inst=INST[,...]}
+@itemx @code{-Fins INST[,...]}
+Disable specified undocumented instruction(s).
+
+@cindex Obsolete options
+@item  @code{-ignore-undocumented-instructions}
+@itemx @code{-Wnud}
 Silently assemble undocumented Z80-instructions that have been adopted
-as documented R800-instructions.
-@item  -ignore-unportable-instructions
-@itemx -Wnup
+as documented R800-instructions .
+@item  @code{-ignore-unportable-instructions}
+@itemx @code{-Wnup}
 Silently assemble all undocumented Z80-instructions.
-@item  -warn-undocumented-instructions
-@itemx -Wud
+@item  @code{-warn-undocumented-instructions}
+@itemx @code{-Wud}
 Issue warnings for undocumented Z80-instructions that work on R800, do
 not assemble other undocumented instructions without warning.
-@item  -warn-unportable-instructions
-@itemx -Wup
+@item  @code{-warn-unportable-instructions}
+@itemx @code{-Wup}
 Issue warnings for other undocumented Z80-instructions, do not treat any
 undocumented instructions as errors.
-@item  -forbid-undocumented-instructions
-@itemx -Fud
+@item  @code{-forbid-undocumented-instructions}
+@itemx @code{-Fud}
 Treat all undocumented z80-instructions as errors.
 @item  -forbid-unportable-instructions
-@itemx -Fup
+@itemx @code{-Fup}
 Treat undocumented z80-instructions that do not work on R800 as errors.
+@end table
 
-@cindex @code{-r800} command-line option, Z80
-@item -r800
-Produce code for the R800 processor. The assembler does not support
-undocumented instructions for the R800.
-In line with common practice, @code{@value{AS}} uses Z80 instruction names
-for the R800 processor, as far as they exist.
+Known undocumented instructions.
+@table @option
+@cindex Known undocumented instructions
+@item  @code{idx-reg-halves}
+All operations with halves of index registers (IXL, IXH, IYL, IYH).
+@item  @code{sli}
+SLI or SLL instruction. Same as @code{SLA r; INC r}.
+@item  @code{op-ii-ld}
+Istructions like @code{<op> (<ii>+<d>),<r>}. For example: @code{RL (IX+5),C}
+@item @code{in-f-c}
+Instruction @code{IN F,(C)}.
+@item @code{out-c-0}
+Instruction @code{OUT (C),0}
 @end table
 
 @cindex Z80 Syntax
@@ -158,6 +207,11 @@ compatibility with other assemblers.
 These are the additional directives in @code{@value{AS}} for the Z80:
 
 @table @code
+@item assume @var{ADL}@samp{=}@var{expression}
+Set ADL status for eZ80. Non-null value enable compilation ADL mode else
+used Z80 mode. ADL and Z80 mode produces incompatible object code. Mixing
+both of them within one binary may lead problems with disassembler.
+
 @item db @var{expression}|@var{string}[,@var{expression}|@var{string}...]
 @itemx defb @var{expression}|@var{string}[,@var{expression}|@var{string}...]
 For each @var{string} the characters are copied to the object file, for
@@ -192,9 +246,6 @@ These directives set the value of @var{symbol} to @var{expression}. If
 @code{equ} is used, it is an error if @var{symbol} is already defined.
 Symbols defined with @code{equ} are not protected from redefinition.
 
-@item set
-This is a normal instruction on Z80, and not an assembler directive.
-
 @item psect @var{name}
 A synonym for @xref{Section}, no second argument should be given.
 @ignore
@@ -223,18 +274,19 @@ The section is marked as read only.
 
 @node Z80 Opcodes
 @section Opcodes
-In line with common practice, Z80 mnemonics are used for both the Z80 and
-the R800.
+In line with common practice, Z80 mnemonics are used for the Z80,
+the Z180, eZ80 and the R800.
 
 In many instructions it is possible to use one of the half index
 registers (@samp{ixl},@samp{ixh},@samp{iyl},@samp{iyh}) in stead of an
 8-bit general purpose register. This yields instructions that are
-documented on the R800 and undocumented on the Z80.
-Similarly @code{in f,(c)} is documented on the R800 and undocumented on
-the Z80.
+documented on the eZ80 and the R800, undocumented on the Z80 and
+unsupported on the Z180.
+Similarly @code{in f,(c)} is documented on the R800, undocumented on
+the Z80 and unsupported on the Z180 and the eZ80.
 
 The assembler also supports the following undocumented Z80-instructions,
-that have not been adopted in the R800 instruction set:
+that have not been adopted in any other instruction set:
 @table @code
 @item out (c),0
 Sends zero to the port pointed to by register c.
@@ -266,3 +318,6 @@ As above, but with @samp{iy} instead of @samp{ix}.
 The web site at @uref{http://www.z80.info} is a good starting place to
 find more information on programming the Z80.
 
+You may enable or disable any of these instructions for any target CPU
+even this instruction is not supported by any real CPU of this type.
+Useful for custom CPU cores.
index 6a2a45db4d47da5b06dd43c6223804f897955b1f..21dc23cd1d09c48aa27ab8ff728078d9c89af9e8 100644 (file)
@@ -3,13 +3,13 @@
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#: config/tc-arm.c:676
+#: config/tc-arm.c:708
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2019-01-19 16:31+0000\n"
+"POT-Creation-Date: 2020-01-02 11:10+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -57,26 +57,26 @@ msgstr ""
 msgid "end of file in comment; newline inserted"
 msgstr ""
 
-#: as.c:163
+#: as.c:170
 msgid "missing emulation mode name"
 msgstr ""
 
-#: as.c:178
+#: as.c:185
 #, c-format
 msgid "unrecognized emulation name `%s'"
 msgstr ""
 
-#: as.c:225
+#: as.c:232
 #, c-format
 msgid "GNU assembler version %s (%s) using BFD version %s\n"
 msgstr ""
 
-#: as.c:237
+#: as.c:244
 #, c-format
 msgid "Usage: %s [option...] [asmfile...]\n"
 msgstr ""
 
-#: as.c:239
+#: as.c:246
 #, c-format
 msgid ""
 "Options:\n"
@@ -93,12 +93,12 @@ msgid ""
 "                      \t  =FILE  list to FILE (must be last sub-option)\n"
 msgstr ""
 
-#: as.c:253
+#: as.c:260
 #, c-format
 msgid "  --alternate             initially turn on alternate macro syntax\n"
 msgstr ""
 
-#: as.c:256
+#: as.c:263
 #, c-format
 msgid ""
 "  --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi}]\n"
@@ -106,213 +106,213 @@ msgid ""
 "[default]\n"
 msgstr ""
 
-#: as.c:259
+#: as.c:266
 #, c-format
 msgid ""
 "  --nocompress-debug-sections\n"
 "                          don't compress DWARF debug sections\n"
 msgstr ""
 
-#: as.c:263
+#: as.c:270
 #, c-format
 msgid ""
 "  --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi}]\n"
 "                          compress DWARF debug sections using zlib\n"
 msgstr ""
 
-#: as.c:266
+#: as.c:273
 #, c-format
 msgid ""
 "  --nocompress-debug-sections\n"
 "                          don't compress DWARF debug sections [default]\n"
 msgstr ""
 
-#: as.c:270
+#: as.c:277
 #, c-format
 msgid "  -D                      produce assembler debugging messages\n"
 msgstr ""
 
-#: as.c:272
+#: as.c:279
 #, c-format
 msgid ""
 "  --debug-prefix-map OLD=NEW\n"
 "                          map OLD to NEW in debug information\n"
 msgstr ""
 
-#: as.c:275
+#: as.c:282
 #, c-format
 msgid "  --defsym SYM=VAL        define symbol SYM to given value\n"
 msgstr ""
 
-#: as.c:291
+#: as.c:298
 #, c-format
 msgid "                          emulate output (default %s)\n"
 msgstr ""
 
-#: as.c:296
+#: as.c:303
 #, c-format
 msgid "  --execstack             require executable stack for this object\n"
 msgstr ""
 
-#: as.c:298
+#: as.c:305
 #, c-format
 msgid ""
 "  --noexecstack           don't require executable stack for this object\n"
 msgstr ""
 
-#: as.c:300
+#: as.c:307
 #, c-format
 msgid ""
 "  --size-check=[error|warning]\n"
 "\t\t\t  ELF .size directive check (default --size-check=error)\n"
 msgstr ""
 
-#: as.c:303
+#: as.c:310
 #, c-format
 msgid "  --elf-stt-common=[no|yes] "
 msgstr ""
 
-#: as.c:306 as.c:317 config/tc-i386.c:11548 config/tc-i386.c:11568
+#: as.c:313 as.c:324 config/tc-i386.c:12775 config/tc-i386.c:12795
 #, c-format
 msgid "(default: yes)\n"
 msgstr ""
 
-#: as.c:308 as.c:319 config/tc-i386.c:11550 config/tc-i386.c:11570
+#: as.c:315 as.c:326 config/tc-i386.c:12777 config/tc-i386.c:12797
 #, c-format
 msgid "(default: no)\n"
 msgstr ""
 
-#: as.c:309
+#: as.c:316
 #, c-format
 msgid ""
 "                          generate ELF common symbols with STT_COMMON type\n"
 msgstr ""
 
-#: as.c:311
+#: as.c:318
 #, c-format
 msgid "  --sectname-subst        enable section name substitution sequences\n"
 msgstr ""
 
-#: as.c:314
+#: as.c:321
 #, c-format
 msgid "  --generate-missing-build-notes=[no|yes] "
 msgstr ""
 
-#: as.c:321
+#: as.c:328
 #, c-format
 msgid ""
 "                          generate GNU Build notes if none are present in "
 "the input\n"
 msgstr ""
 
-#: as.c:325
+#: as.c:332
 #, c-format
 msgid "  -f                      skip whitespace and comment preprocessing\n"
 msgstr ""
 
-#: as.c:327
+#: as.c:334
 #, c-format
 msgid "  -g --gen-debug          generate debugging information\n"
 msgstr ""
 
-#: as.c:329
+#: as.c:336
 #, c-format
 msgid "  --gstabs                generate STABS debugging information\n"
 msgstr ""
 
-#: as.c:331
+#: as.c:338
 #, c-format
 msgid ""
 "  --gstabs+               generate STABS debug info with GNU extensions\n"
 msgstr ""
 
-#: as.c:333
+#: as.c:340
 #, c-format
 msgid "  --gdwarf-2              generate DWARF2 debugging information\n"
 msgstr ""
 
-#: as.c:335
+#: as.c:342
 #, c-format
 msgid ""
 "  --gdwarf-sections       generate per-function section names for DWARF line "
 "information\n"
 msgstr ""
 
-#: as.c:337
+#: as.c:344
 #, c-format
 msgid "  --hash-size=<value>     set the hash table size close to <value>\n"
 msgstr ""
 
-#: as.c:339
+#: as.c:346
 #, c-format
 msgid "  --help                  show this message and exit\n"
 msgstr ""
 
-#: as.c:341
+#: as.c:348
 #, c-format
 msgid "  --target-help           show target specific options\n"
 msgstr ""
 
-#: as.c:343
+#: as.c:350
 #, c-format
 msgid ""
 "  -I DIR                  add DIR to search list for .include directives\n"
 msgstr ""
 
-#: as.c:345
+#: as.c:352
 #, c-format
 msgid "  -J                      don't warn about signed overflow\n"
 msgstr ""
 
-#: as.c:347
+#: as.c:354
 #, c-format
 msgid ""
 "  -K                      warn when differences altered for long "
 "displacements\n"
 msgstr ""
 
-#: as.c:349
+#: as.c:356
 #, c-format
 msgid "  -L,--keep-locals        keep local symbols (e.g. starting with `L')\n"
 msgstr ""
 
-#: as.c:351
+#: as.c:358
 #, c-format
 msgid "  -M,--mri                assemble in MRI compatibility mode\n"
 msgstr ""
 
-#: as.c:353
+#: as.c:360
 #, c-format
 msgid ""
 "  --MD FILE               write dependency information in FILE (default "
 "none)\n"
 msgstr ""
 
-#: as.c:355
+#: as.c:362
 #, c-format
 msgid "  -nocpp                  ignored\n"
 msgstr ""
 
-#: as.c:357
+#: as.c:364
 #, c-format
 msgid ""
 "  -no-pad-sections        do not pad the end of sections to alignment "
 "boundaries\n"
 msgstr ""
 
-#: as.c:359
+#: as.c:366
 #, c-format
 msgid ""
 "  -o OBJFILE              name the object-file output OBJFILE (default a."
 "out)\n"
 msgstr ""
 
-#: as.c:361
+#: as.c:368
 #, c-format
 msgid "  -R                      fold data section into text section\n"
 msgstr ""
 
-#: as.c:363
+#: as.c:370
 #, c-format
 msgid ""
 "  --reduce-memory-overheads \n"
@@ -320,44 +320,44 @@ msgid ""
 "                          assembly times\n"
 msgstr ""
 
-#: as.c:367
+#: as.c:374
 #, c-format
 msgid ""
 "  --statistics            print various measured statistics from execution\n"
 msgstr ""
 
-#: as.c:369
+#: as.c:376
 #, c-format
 msgid "  --strip-local-absolute  strip local absolute symbols\n"
 msgstr ""
 
-#: as.c:371
+#: as.c:378
 #, c-format
 msgid ""
 "  --traditional-format    Use same format as native assembler when possible\n"
 msgstr ""
 
-#: as.c:373
+#: as.c:380
 #, c-format
 msgid "  --version               print assembler version number and exit\n"
 msgstr ""
 
-#: as.c:375
+#: as.c:382
 #, c-format
 msgid "  -W  --no-warn           suppress warnings\n"
 msgstr ""
 
-#: as.c:377
+#: as.c:384
 #, c-format
 msgid "  --warn                  don't suppress warnings\n"
 msgstr ""
 
-#: as.c:379
+#: as.c:386
 #, c-format
 msgid "  --fatal-warnings        treat warnings as errors\n"
 msgstr ""
 
-#: as.c:382
+#: as.c:389
 #, c-format
 msgid ""
 "  --itbl INSTTBL          extend instruction set to include instructions\n"
@@ -365,22 +365,22 @@ msgid ""
 "INSTTBL\n"
 msgstr ""
 
-#: as.c:386
+#: as.c:393
 #, c-format
 msgid "  -w                      ignored\n"
 msgstr ""
 
-#: as.c:388
+#: as.c:395
 #, c-format
 msgid "  -X                      ignored\n"
 msgstr ""
 
-#: as.c:390
+#: as.c:397
 #, c-format
 msgid "  -Z                      generate object file even after errors\n"
 msgstr ""
 
-#: as.c:392
+#: as.c:399
 #, c-format
 msgid ""
 "  --listing-lhs-width     set the width in words of the output data column "
@@ -388,7 +388,7 @@ msgid ""
 "                          the listing\n"
 msgstr ""
 
-#: as.c:395
+#: as.c:402
 #, c-format
 msgid ""
 "  --listing-lhs-width2    set the width in words of the continuation lines\n"
@@ -397,47 +397,47 @@ msgid ""
 "                          the width of the first line\n"
 msgstr ""
 
-#: as.c:399
+#: as.c:406
 #, c-format
 msgid ""
 "  --listing-rhs-width     set the max width in characters of the lines from\n"
 "                          the source file\n"
 msgstr ""
 
-#: as.c:402
+#: as.c:409
 #, c-format
 msgid ""
 "  --listing-cont-lines    set the maximum number of continuation lines used\n"
 "                          for the output data column of the listing\n"
 msgstr ""
 
-#: as.c:405
+#: as.c:412
 #, c-format
 msgid "  @FILE                   read options from FILE\n"
 msgstr ""
 
-#: as.c:413
+#: as.c:420
 #, c-format
 msgid "Report bugs to %s\n"
 msgstr ""
 
-#: as.c:635
+#: as.c:644
 #, c-format
 msgid "unrecognized option -%c%s"
 msgstr ""
 
 #. This output is intended to follow the GNU standards document.
-#: as.c:677
+#: as.c:686
 #, c-format
 msgid "GNU assembler %s\n"
 msgstr ""
 
-#: as.c:678
+#: as.c:687
 #, c-format
-msgid "Copyright (C) 2019 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2020 Free Software Foundation, Inc.\n"
 msgstr ""
 
-#: as.c:679
+#: as.c:688
 #, c-format
 msgid ""
 "This program is free software; you may redistribute it under the terms of\n"
@@ -445,132 +445,137 @@ msgid ""
 "This program has absolutely no warranty.\n"
 msgstr ""
 
-#: as.c:684
+#: as.c:693
 #, c-format
 msgid ""
 "This assembler was configured for a target of `%s' and default,\n"
 "cpu type `%s'.\n"
 msgstr ""
 
-#: as.c:688
+#: as.c:697
 #, c-format
 msgid "This assembler was configured for a target of `%s'.\n"
 msgstr ""
 
-#: as.c:696
+#: as.c:705
 msgid "multiple emulation names specified"
 msgstr ""
 
-#: as.c:698
+#: as.c:707
 msgid "emulations not handled in this configuration"
 msgstr ""
 
-#: as.c:703
+#: as.c:712
 #, c-format
 msgid "alias = %s\n"
 msgstr ""
 
-#: as.c:704
+#: as.c:713
 #, c-format
 msgid "canonical = %s\n"
 msgstr ""
 
-#: as.c:705
+#: as.c:714
 #, c-format
 msgid "cpu-type = %s\n"
 msgstr ""
 
-#: as.c:707
+#: as.c:716
 #, c-format
 msgid "format = %s\n"
 msgstr ""
 
-#: as.c:710
+#: as.c:719
 #, c-format
 msgid "bfd-target = %s\n"
 msgstr ""
 
-#: as.c:727
+#: as.c:736
 #, c-format
 msgid "Invalid --compress-debug-sections option: `%s'"
 msgstr ""
 
-#: as.c:730
+#: as.c:739
 #, c-format
 msgid "--compress-debug-sections=%s is unsupported"
 msgstr ""
 
-#: as.c:755
+#: as.c:764
 msgid "bad defsym; format is --defsym name=value"
 msgstr ""
 
-#: as.c:775
+#: as.c:784
 msgid "no file name following -t option"
 msgstr ""
 
-#: as.c:790
+#: as.c:799
 #, c-format
 msgid "failed to read instruction table %s\n"
 msgstr ""
 
-#: as.c:906
+#: as.c:847
+#, c-format
+msgid "Invalid --gdwarf-cie-version `%s'"
+msgstr ""
+
+#: as.c:925
 #, c-format
 msgid "Invalid --size-check= option: `%s'"
 msgstr ""
 
-#: as.c:915
+#: as.c:934
 #, c-format
 msgid "Invalid --elf-stt-common= option: `%s'"
 msgstr ""
 
-#: as.c:929
+#: as.c:948
 #, c-format
 msgid "Invalid --generate-missing-build-notes option: `%s'"
 msgstr ""
 
-#: as.c:1000
+#: as.c:1019
 #, c-format
 msgid "invalid listing option `%c'"
 msgstr ""
 
-#: as.c:1053
+#: as.c:1072
 msgid "--hash-size needs a numeric argument"
 msgstr ""
 
-#: as.c:1075
+#: as.c:1094
 #, c-format
 msgid "%s: total time in assembly: %ld.%06ld\n"
 msgstr ""
 
-#: as.c:1243
+#: as.c:1260
 msgid "libbfd ABI mismatch"
 msgstr ""
 
-#: as.c:1282
+#: as.c:1299
 #, c-format
 msgid "The input '%s' and output '%s' files are the same"
 msgstr ""
 
-#: as.c:1392
+#: as.c:1409
 #, c-format
 msgid "%d warning"
 msgid_plural "%d warnings"
 msgstr[0] ""
 msgstr[1] ""
 
-#: as.c:1394
+#: as.c:1411
 #, c-format
 msgid "%d error"
 msgid_plural "%d errors"
 msgstr[0] ""
 msgstr[1] ""
 
-#: as.c:1398
+#: as.c:1415
 #, c-format
 msgid "%s, treating warnings as errors"
 msgstr ""
 
-#: as.c:1409
+#: as.c:1426
 #, c-format
 msgid "%s, %s, generating bad object file\n"
 msgstr ""
@@ -584,34 +589,34 @@ msgstr ""
 #. * We have a GROSS internal error.
 #. * This should never happen.
 #.
-#: atof-generic.c:418 config/tc-m68k.c:3501
+#: atof-generic.c:444 config/tc-m68k.c:3501
 msgid "failed sanity check"
 msgstr ""
 
-#: cgen.c:106 config/tc-alpha.c:2098 config/tc-alpha.c:2122
-#: config/tc-arc.c:4034 config/tc-arc.c:4108 config/tc-d10v.c:550
+#: cgen.c:106 config/tc-alpha.c:2097 config/tc-alpha.c:2121
+#: config/tc-arc.c:4031 config/tc-arc.c:4105 config/tc-d10v.c:550
 #: config/tc-d30v.c:537 config/tc-mn10200.c:1098 config/tc-mn10300.c:1752
-#: config/tc-ppc.c:3237 config/tc-ppc.c:3423 config/tc-ppc.c:3710
-#: config/tc-s390.c:1340 config/tc-s390.c:1463 config/tc-s390.c:1597
-#: config/tc-v850.c:2538 config/tc-v850.c:2609 config/tc-v850.c:2656
-#: config/tc-v850.c:2693 config/tc-v850.c:2730 config/tc-v850.c:2993
+#: config/tc-ppc.c:3518 config/tc-ppc.c:4020 config/tc-s390.c:1342
+#: config/tc-s390.c:1465 config/tc-s390.c:1599 config/tc-v850.c:2538
+#: config/tc-v850.c:2609 config/tc-v850.c:2656 config/tc-v850.c:2693
+#: config/tc-v850.c:2730 config/tc-v850.c:2993
 msgid "too many fixups"
 msgstr ""
 
 #: cgen.c:371 cgen.c:391 config/tc-d10v.c:461 config/tc-d30v.c:453
-#: config/tc-mn10200.c:1040 config/tc-mn10300.c:1677 config/tc-ppc.c:3279
-#: config/tc-s390.c:1324 config/tc-v850.c:2647 config/tc-v850.c:2681
-#: config/tc-v850.c:2721 config/tc-v850.c:2966 config/tc-z80.c:446
+#: config/tc-mn10200.c:1040 config/tc-mn10300.c:1677 config/tc-ppc.c:3560
+#: config/tc-s390.c:1326 config/tc-v850.c:2647 config/tc-v850.c:2681
+#: config/tc-v850.c:2721 config/tc-v850.c:2966 config/tc-z80.c:718
 msgid "illegal operand"
 msgstr ""
 
 #: cgen.c:395 config/tc-avr.c:898 config/tc-d10v.c:463 config/tc-d30v.c:455
 #: config/tc-h8300.c:497 config/tc-mcore.c:661 config/tc-microblaze.c:613
 #: config/tc-mmix.c:495 config/tc-mn10200.c:1043 config/tc-mn10300.c:1680
-#: config/tc-msp430.c:417 config/tc-ppc.c:3281 config/tc-s390.c:1329
+#: config/tc-msp430.c:417 config/tc-ppc.c:3562 config/tc-s390.c:1331
 #: config/tc-sh.c:988 config/tc-v850.c:2651 config/tc-v850.c:2685
 #: config/tc-v850.c:2725 config/tc-v850.c:2969 config/tc-xgate.c:895
-#: config/tc-z80.c:557 config/tc-z8k.c:349
+#: config/tc-z80.c:827 config/tc-z8k.c:349
 msgid "missing operand"
 msgstr ""
 
@@ -624,22 +629,22 @@ msgid "operand mask overflow"
 msgstr ""
 
 #. We can't actually support subtracting a symbol.
-#: cgen.c:857 config/tc-arm.c:1793 config/tc-arm.c:10365 config/tc-arm.c:10417
-#: config/tc-arm.c:10675 config/tc-arm.c:11512 config/tc-arm.c:12649
-#: config/tc-arm.c:12689 config/tc-arm.c:13032 config/tc-arm.c:13073
-#: config/tc-arm.c:17567 config/tc-arm.c:17608 config/tc-avr.c:1549
-#: config/tc-avr.c:1561 config/tc-avr.c:1825 config/tc-cris.c:4067
+#: cgen.c:857 config/tc-arm.c:2048 config/tc-arm.c:11269 config/tc-arm.c:11321
+#: config/tc-arm.c:11603 config/tc-arm.c:12499 config/tc-arm.c:13639
+#: config/tc-arm.c:13679 config/tc-arm.c:14052 config/tc-arm.c:14094
+#: config/tc-arm.c:21317 config/tc-arm.c:21377 config/tc-avr.c:1549
+#: config/tc-avr.c:1561 config/tc-avr.c:1825 config/tc-cris.c:4060
 #: config/tc-d10v.c:1507 config/tc-d30v.c:1912 config/tc-ft32.c:574
-#: config/tc-ft32.c:587 config/tc-mips.c:9533 config/tc-mips.c:10838
-#: config/tc-mips.c:12094 config/tc-mips.c:12753 config/tc-nds32.c:7830
-#: config/tc-pru.c:747 config/tc-pru.c:757 config/tc-spu.c:972
-#: config/tc-spu.c:996 config/tc-tilegx.c:1486 config/tc-tilepro.c:1347
+#: config/tc-ft32.c:587 config/tc-mips.c:9681 config/tc-mips.c:10991
+#: config/tc-mips.c:12288 config/tc-mips.c:12971 config/tc-nds32.c:7827
+#: config/tc-pru.c:746 config/tc-pru.c:756 config/tc-spu.c:972
+#: config/tc-spu.c:996 config/tc-tilegx.c:1483 config/tc-tilepro.c:1344
 #: config/tc-v850.c:3451 config/tc-vax.c:282 config/tc-xstormy16.c:482
-#: config/tc-xtensa.c:5979 config/tc-xtensa.c:13163
+#: config/tc-xtensa.c:5967 config/tc-xtensa.c:13044
 msgid "expression too complex"
 msgstr ""
 
-#: cgen.c:956 config/tc-ppc.c:7309 config/tc-s390.c:2378 config/tc-v850.c:3503
+#: cgen.c:956 config/tc-ppc.c:7722 config/tc-s390.c:2380 config/tc-v850.c:3503
 #: config/tc-xstormy16.c:539
 msgid "unresolved expression that must be resolved"
 msgstr ""
@@ -649,7 +654,7 @@ msgstr ""
 msgid "internal error: can't install fix for reloc type %d (`%s')"
 msgstr ""
 
-#: cgen.c:1032 config/tc-nios2.c:1360 config/tc-pru.c:788
+#: cgen.c:1032 config/tc-nios2.c:1360 config/tc-pru.c:787
 msgid "relocation is not supported"
 msgstr ""
 
@@ -717,20 +722,20 @@ msgstr ""
 msgid "here is the \"else\" of the unterminated conditional"
 msgstr ""
 
-#: config/atof-ieee.c:139
+#: config/atof-ieee.c:140
 msgid "cannot create floating-point number"
 msgstr ""
 
-#: config/atof-ieee.c:286
-msgid "NaNs are not supported by this target\n"
+#: config/atof-ieee.c:318
+msgid "NaNs are not supported by this target"
 msgstr ""
 
-#: config/atof-ieee.c:325 config/atof-ieee.c:366
-msgid "Infinities are not supported by this target\n"
+#: config/atof-ieee.c:362 config/atof-ieee.c:407
+msgid "Infinities are not supported by this target"
 msgstr ""
 
-#: config/atof-ieee.c:781 config/atof-vax.c:449 config/tc-arm.c:1169
-#: config/tc-ia64.c:11608 config/tc-tic30.c:1263 config/tc-tic4x.c:2585
+#: config/atof-ieee.c:829 config/atof-vax.c:449 config/tc-arm.c:1294
+#: config/tc-ia64.c:11603 config/tc-tic30.c:1263 config/tc-tic4x.c:2583
 msgid "Unrecognized or unsupported floating point constant"
 msgstr ""
 
@@ -744,7 +749,7 @@ msgstr ""
 msgid "Attempt to put an undefined symbol into set %s"
 msgstr ""
 
-#: config/obj-aout.c:112 config/obj-coff.c:1378
+#: config/obj-aout.c:112 config/obj-coff.c:1376
 #, c-format
 msgid "Symbol `%s' can not be both weak and common"
 msgstr ""
@@ -754,94 +759,94 @@ msgstr ""
 msgid "Inserting \"%s\" into structure table failed: %s"
 msgstr ""
 
-#: config/obj-coff.c:213 config/obj-coff.c:1677 config/tc-ppc.c:5916
-#: config/tc-tic54x.c:3979 read.c:2961
+#: config/obj-coff.c:212 config/obj-coff.c:1675 config/tc-ppc.c:6259
+#: config/tc-tic54x.c:3984 read.c:2961
 #, c-format
 msgid "error setting flags for \"%s\": %s"
 msgstr ""
 
 #. Zero is used as an end marker in the file.
-#: config/obj-coff.c:431
+#: config/obj-coff.c:430
 msgid "Line numbers must be positive integers\n"
 msgstr ""
 
-#: config/obj-coff.c:463
+#: config/obj-coff.c:462
 msgid ".ln pseudo-op inside .def/.endef: ignored."
 msgstr ""
 
-#: config/obj-coff.c:505 ecoff.c:3245
+#: config/obj-coff.c:504 ecoff.c:3245
 msgid ".loc outside of .text"
 msgstr ""
 
-#: config/obj-coff.c:512
+#: config/obj-coff.c:511
 msgid ".loc pseudo-op inside .def/.endef: ignored."
 msgstr ""
 
-#: config/obj-coff.c:592
+#: config/obj-coff.c:591
 msgid ".def pseudo-op used inside of .def/.endef: ignored."
 msgstr ""
 
-#: config/obj-coff.c:625
+#: config/obj-coff.c:624
 msgid ".endef pseudo-op used outside of .def/.endef: ignored."
 msgstr ""
 
-#: config/obj-coff.c:664
+#: config/obj-coff.c:663
 #, c-format
 msgid "`%s' symbol without preceding function"
 msgstr ""
 
-#: config/obj-coff.c:751
+#: config/obj-coff.c:750
 #, c-format
 msgid "unexpected storage class %d"
 msgstr ""
 
-#: config/obj-coff.c:859
+#: config/obj-coff.c:857
 msgid ".dim pseudo-op used outside of .def/.endef: ignored."
 msgstr ""
 
-#: config/obj-coff.c:879
+#: config/obj-coff.c:877
 msgid "badly formed .dim directive ignored"
 msgstr ""
 
-#: config/obj-coff.c:928
+#: config/obj-coff.c:926
 msgid ".size pseudo-op used outside of .def/.endef: ignored."
 msgstr ""
 
-#: config/obj-coff.c:943
+#: config/obj-coff.c:941
 msgid ".scl pseudo-op used outside of .def/.endef: ignored."
 msgstr ""
 
-#: config/obj-coff.c:960
+#: config/obj-coff.c:958
 msgid ".tag pseudo-op used outside of .def/.endef: ignored."
 msgstr ""
 
-#: config/obj-coff.c:977
+#: config/obj-coff.c:975
 #, c-format
 msgid "tag not found for .tag %s"
 msgstr ""
 
-#: config/obj-coff.c:990
+#: config/obj-coff.c:988
 msgid ".type pseudo-op used outside of .def/.endef: ignored."
 msgstr ""
 
-#: config/obj-coff.c:1009
+#: config/obj-coff.c:1007
 msgid ".val pseudo-op used outside of .def/.endef: ignored."
 msgstr ""
 
-#: config/obj-coff.c:1156
+#: config/obj-coff.c:1154
 msgid "badly formed .weak directive ignored"
 msgstr ""
 
-#: config/obj-coff.c:1334
+#: config/obj-coff.c:1332
 msgid "mismatched .eb"
 msgstr ""
 
-#: config/obj-coff.c:1357
+#: config/obj-coff.c:1355
 #, c-format
 msgid "C_EFCN symbol for %s out of scope"
 msgstr ""
 
-#: config/obj-coff.c:1411
+#: config/obj-coff.c:1409
 #, c-format
 msgid "Warning: internal error: forgetting to set endndx of %s"
 msgstr ""
@@ -849,259 +854,273 @@ msgstr ""
 #. STYP_INFO
 #. STYP_LIB
 #. STYP_OVER
-#: config/obj-coff.c:1642
+#: config/obj-coff.c:1640
 #, c-format
 msgid "unsupported section attribute '%c'"
 msgstr ""
 
-#: config/obj-coff.c:1646 config/tc-ppc.c:5898
+#: config/obj-coff.c:1644 config/tc-ppc.c:6241
 #, c-format
 msgid "unknown section attribute '%c'"
 msgstr ""
 
-#: config/obj-coff.c:1689 config/obj-macho.c:269
+#: config/obj-coff.c:1687 config/obj-macho.c:269
 #, c-format
 msgid "Ignoring changed section attributes for %s"
 msgstr ""
 
-#: config/obj-coff.c:1827
+#: config/obj-coff.c:1825
 #, c-format
 msgid "0x%lx: \"%s\" type = %ld, class = %d, segment = %d\n"
 msgstr ""
 
-#: config/obj-ecoff.c:124
+#: config/obj-ecoff.c:125
 msgid "Can't set GP value"
 msgstr ""
 
-#: config/obj-ecoff.c:131
+#: config/obj-ecoff.c:132
 msgid "Can't set register masks"
 msgstr ""
 
-#: config/obj-elf.c:345 config/tc-sparc.c:4389 config/tc-v850.c:511
+#: config/obj-elf.c:346 config/tc-sparc.c:4389 config/tc-v850.c:511
 #, c-format
 msgid "bad .common segment %s"
 msgstr ""
 
-#: config/obj-elf.c:421
+#: config/obj-elf.c:422 config/tc-aarch64.c:2000
 msgid "Missing symbol name in directive"
 msgstr ""
 
-#: config/obj-elf.c:643
+#: config/obj-elf.c:644
 #, c-format
 msgid "setting incorrect section type for %s"
 msgstr ""
 
-#: config/obj-elf.c:648
+#: config/obj-elf.c:649
 #, c-format
 msgid "ignoring incorrect section type for %s"
 msgstr ""
 
-#: config/obj-elf.c:699
+#: config/obj-elf.c:700
 #, c-format
 msgid "setting incorrect section attributes for %s"
 msgstr ""
 
-#: config/obj-elf.c:710
-#, c-format
-msgid "SHF_ALLOC isn't set for GNU_MBIND section: %s"
-msgstr ""
-
-#: config/obj-elf.c:759
+#: config/obj-elf.c:757
 #, c-format
 msgid "ignoring changed section type for %s"
 msgstr ""
 
-#: config/obj-elf.c:771
+#: config/obj-elf.c:769
 #, c-format
 msgid "ignoring changed section attributes for %s"
 msgstr ""
 
-#: config/obj-elf.c:778
+#: config/obj-elf.c:776
 #, c-format
 msgid "ignoring changed section entity size for %s"
 msgstr ""
 
-#: config/obj-elf.c:842
+#: config/obj-elf.c:841
 msgid "unrecognized .section attribute: want a,e,w,x,M,S,G,T or number"
 msgstr ""
 
-#: config/obj-elf.c:902
+#: config/obj-elf.c:901
 msgid "extraneous characters at end of numeric section type"
 msgstr ""
 
-#: config/obj-elf.c:908 read.c:2945
+#: config/obj-elf.c:907 read.c:2945
 msgid "unrecognized section type"
 msgstr ""
 
-#: config/obj-elf.c:940
+#: config/obj-elf.c:939
 msgid "unrecognized section attribute"
 msgstr ""
 
-#: config/obj-elf.c:971 config/tc-alpha.c:4209
+#: config/obj-elf.c:970 config/tc-alpha.c:4208
 msgid "missing name"
 msgstr ""
 
-#: config/obj-elf.c:1129
+#: config/obj-elf.c:1131
 msgid "invalid merge entity size"
 msgstr ""
 
-#: config/obj-elf.c:1136
+#: config/obj-elf.c:1138
 msgid "entity size for SHF_MERGE not specified"
 msgstr ""
 
-#: config/obj-elf.c:1142
+#: config/obj-elf.c:1144
 msgid "? section flag ignored with G present"
 msgstr ""
 
-#: config/obj-elf.c:1166
+#: config/obj-elf.c:1168
 msgid "group name for SHF_GROUP not specified"
 msgstr ""
 
-#: config/obj-elf.c:1191
+#: config/obj-elf.c:1193
 #, c-format
 msgid "unsupported mbind section info: %s"
 msgstr ""
 
-#: config/obj-elf.c:1206
+#: config/obj-elf.c:1208
 msgid "character following name is not '#'"
 msgstr ""
 
-#: config/obj-elf.c:1326
+#: config/obj-elf.c:1237
+#, c-format
+msgid "SHF_ALLOC isn't set for GNU_MBIND section: %s"
+msgstr ""
+
+#: config/obj-elf.c:1244
+msgid "GNU_MBIND section is supported only by GNU and FreeBSD targets"
+msgstr ""
+
+#: config/obj-elf.c:1347
 msgid ".previous without corresponding .section; ignored"
 msgstr ""
 
-#: config/obj-elf.c:1352
+#: config/obj-elf.c:1373
 msgid ".popsection without corresponding .pushsection; ignored"
 msgstr ""
 
-#: config/obj-elf.c:1398
+#: config/obj-elf.c:1419
 msgid "expected comma after name in .symver"
 msgstr ""
 
-#: config/obj-elf.c:1414 config/obj-elf.c:2304
+#: config/obj-elf.c:1435 config/obj-elf.c:2353
 #, c-format
 msgid "`%s' can't be versioned to common symbol '%s'"
 msgstr ""
 
-#: config/obj-elf.c:1429
+#: config/obj-elf.c:1450
 #, c-format
 msgid "missing version name in `%s' for symbol `%s'"
 msgstr ""
 
-#: config/obj-elf.c:1440
+#: config/obj-elf.c:1461
 #, c-format
 msgid "multiple versions [`%s'|`%s'] for symbol `%s'"
 msgstr ""
 
-#: config/obj-elf.c:1476
+#: config/obj-elf.c:1497
 #, c-format
 msgid "expected `%s' to have already been set for .vtable_inherit"
 msgstr ""
 
-#: config/obj-elf.c:1486
+#: config/obj-elf.c:1507
 msgid "expected comma after name in .vtable_inherit"
 msgstr ""
 
-#: config/obj-elf.c:1547
+#: config/obj-elf.c:1568
 msgid "expected comma after name in .vtable_entry"
 msgstr ""
 
-#: config/obj-elf.c:1686
+#: config/obj-elf.c:1707
 #, c-format
 msgid "Attribute name not recognised: %s"
 msgstr ""
 
-#: config/obj-elf.c:1703
+#: config/obj-elf.c:1724
 msgid "expected numeric constant"
 msgstr ""
 
-#: config/obj-elf.c:1712 config/tc-arm.c:6489
+#: config/obj-elf.c:1733 config/tc-arm.c:7015
 msgid "expected comma"
 msgstr ""
 
-#: config/obj-elf.c:1745
+#: config/obj-elf.c:1766
 msgid "bad string constant"
 msgstr ""
 
-#: config/obj-elf.c:1749
+#: config/obj-elf.c:1770
 msgid "expected <tag> , <value>"
 msgstr ""
 
-#: config/obj-elf.c:1869
+#: config/obj-elf.c:1888
 msgid "expected quoted string"
 msgstr ""
 
-#: config/obj-elf.c:1889
+#: config/obj-elf.c:1908
 #, c-format
 msgid "expected comma after name `%s' in .size directive"
 msgstr ""
 
-#: config/obj-elf.c:1898
+#: config/obj-elf.c:1917
 msgid "missing expression in .size directive"
 msgstr ""
 
-#: config/obj-elf.c:2021
+#: config/obj-elf.c:2040
 #, c-format
 msgid "symbol '%s' is already defined"
 msgstr ""
 
-#: config/obj-elf.c:2042
+#: config/obj-elf.c:2061
 #, c-format
 msgid "symbol type \"%s\" is supported only by GNU and FreeBSD targets"
 msgstr ""
 
-#: config/obj-elf.c:2054
+#: config/obj-elf.c:2074
 #, c-format
 msgid "symbol type \"%s\" is supported only by GNU targets"
 msgstr ""
 
-#: config/obj-elf.c:2065
+#: config/obj-elf.c:2084
 #, c-format
 msgid "unrecognized symbol type \"%s\""
 msgstr ""
 
-#: config/obj-elf.c:2232 config/obj-elf.c:2235
+#: config/obj-elf.c:2105
+#, c-format
+msgid "cannot change type of common symbol '%s'"
+msgstr ""
+
+#: config/obj-elf.c:2117
+#, c-format
+msgid "symbol '%s' already has its type set"
+msgstr ""
+
+#: config/obj-elf.c:2281 config/obj-elf.c:2284
 #, c-format
 msgid ".size expression for %s does not evaluate to a constant"
 msgstr ""
 
-#: config/obj-elf.c:2269
+#: config/obj-elf.c:2318
 #, c-format
 msgid ""
 "invalid attempt to declare external version name as default in symbol `%s'"
 msgstr ""
 
-#: config/obj-elf.c:2338 ecoff.c:3600
+#: config/obj-elf.c:2387 ecoff.c:3600
 #, c-format
 msgid "symbol `%s' can not be both weak and common"
 msgstr ""
 
-#: config/obj-elf.c:2450
+#: config/obj-elf.c:2482
 #, c-format
 msgid "assuming all members of group `%s' are COMDAT"
 msgstr ""
 
-#: config/obj-elf.c:2462
+#: config/obj-elf.c:2494
 #, c-format
 msgid "can't create group: %s"
 msgstr ""
 
-#: config/obj-elf.c:2613
+#: config/obj-elf.c:2645
 #, c-format
 msgid "failed to set up debugging information: %s"
 msgstr ""
 
-#: config/obj-elf.c:2633
+#: config/obj-elf.c:2665
 #, c-format
 msgid "can't start writing .mdebug section: %s"
 msgstr ""
 
-#: config/obj-elf.c:2641
+#: config/obj-elf.c:2673
 #, c-format
 msgid "could not write .mdebug section: %s"
 msgstr ""
 
-#: config/obj-evax.c:126
+#: config/obj-evax.c:122
 #, c-format
 msgid "no entry symbol for global function '%s'"
 msgstr ""
@@ -1145,8 +1164,8 @@ msgstr ""
 msgid "missing sizeof_stub expression"
 msgstr ""
 
-#: config/obj-macho.c:478 config/tc-ia64.c:1083 config/tc-ia64.c:11770
-#: config/tc-score.c:6100 expr.c:1172 read.c:1716
+#: config/obj-macho.c:478 config/tc-ia64.c:1083 config/tc-ia64.c:11765
+#: config/tc-score.c:6099 expr.c:1179 read.c:1716
 msgid "expected symbol name"
 msgstr ""
 
@@ -1154,7 +1173,7 @@ msgstr ""
 msgid "bad or irreducible absolute expression"
 msgstr ""
 
-#: config/obj-macho.c:497 config/tc-score.c:6117 read.c:1754
+#: config/obj-macho.c:497 config/tc-score.c:6116 read.c:1754
 msgid "missing size expression"
 msgstr ""
 
@@ -1163,7 +1182,7 @@ msgstr ""
 msgid "size (%ld) out of range, ignored"
 msgstr ""
 
-#: config/obj-macho.c:516 config/tc-score.c:6260 dwarf2dbg.c:969 ecoff.c:3359
+#: config/obj-macho.c:516 config/tc-score.c:6260 dwarf2dbg.c:997 ecoff.c:3359
 #: read.c:1772 read.c:1877 read.c:2628 read.c:3201 read.c:3632 symbols.c:474
 #: symbols.c:569
 #, c-format
@@ -1324,836 +1343,843 @@ msgstr ""
 msgid "attaching copyright header %s: %s"
 msgstr ""
 
-#: config/tc-aarch64.c:383
+#: config/tc-aarch64.c:380
 msgid "integer 32-bit register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:386
+#: config/tc-aarch64.c:383
 msgid "integer 64-bit register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:389
+#: config/tc-aarch64.c:386
 msgid "integer register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:392
+#: config/tc-aarch64.c:389
 msgid "64-bit integer or SP register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:395 config/tc-mcore.c:839 config/tc-mcore.c:1355
+#: config/tc-aarch64.c:392 config/tc-mcore.c:839 config/tc-mcore.c:1355
 #: config/tc-mcore.c:1409
 msgid "base register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:398
+#: config/tc-aarch64.c:395
 msgid "integer or zero register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:401
+#: config/tc-aarch64.c:398
 msgid "offset register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:404
+#: config/tc-aarch64.c:401
 msgid "integer or SP register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:407
+#: config/tc-aarch64.c:404
 msgid "integer, zero or SP register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:410
+#: config/tc-aarch64.c:407
 msgid "8-bit SIMD scalar register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:413
+#: config/tc-aarch64.c:410
 msgid "16-bit SIMD scalar or floating-point half precision register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:417
+#: config/tc-aarch64.c:414
 msgid "32-bit SIMD scalar or floating-point single precision register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:421
+#: config/tc-aarch64.c:418
 msgid "64-bit SIMD scalar or floating-point double precision register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:425
+#: config/tc-aarch64.c:422
 msgid "128-bit SIMD scalar or floating-point quad precision register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:430 config/tc-arm.c:4418
+#: config/tc-aarch64.c:427 config/tc-arm.c:4722
 msgid "register expected"
 msgstr ""
 
 #. any [BHSDQ]P FP
-#: config/tc-aarch64.c:433
+#: config/tc-aarch64.c:430
 msgid "SIMD scalar or floating-point register expected"
 msgstr ""
 
 #. any V reg
-#: config/tc-aarch64.c:436
+#: config/tc-aarch64.c:433
 msgid "vector register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:439
+#: config/tc-aarch64.c:436
 msgid "SVE vector register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:442
+#: config/tc-aarch64.c:439
 msgid "SVE predicate register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:445
+#: config/tc-aarch64.c:442
 #, c-format
 msgid "invalid register type %d"
 msgstr ""
 
-#: config/tc-aarch64.c:606 config/tc-aarch64.c:608 config/tc-arm.c:1094
-#: config/tc-score.c:6510 expr.c:1343 read.c:2610
+#: config/tc-aarch64.c:604 config/tc-aarch64.c:606 config/tc-arm.c:1168
+#: config/tc-score.c:6510 expr.c:1350 read.c:2610
 msgid "bad expression"
 msgstr ""
 
-#: config/tc-aarch64.c:618 config/tc-sparc.c:3385
+#: config/tc-aarch64.c:616 config/tc-sparc.c:3385
 msgid "bad segment"
 msgstr ""
 
-#: config/tc-aarch64.c:836
+#: config/tc-aarch64.c:651 config/tc-arm.c:1234
+msgid "invalid floating point number"
+msgstr ""
+
+#: config/tc-aarch64.c:882
 #, c-format
 msgid "bad size %d in vector width specifier"
 msgstr ""
 
-#: config/tc-aarch64.c:869
+#: config/tc-aarch64.c:915
 #, c-format
 msgid "unexpected character `%c' in element size"
 msgstr ""
 
-#: config/tc-aarch64.c:871
+#: config/tc-aarch64.c:917
 msgid "missing element size"
 msgstr ""
 
-#: config/tc-aarch64.c:880
+#: config/tc-aarch64.c:926
 #, c-format
 msgid "invalid element size %d and vector size combination %c"
 msgstr ""
 
-#: config/tc-aarch64.c:915
+#: config/tc-aarch64.c:961
 #, c-format
 msgid "unexpected character `%c' in predication type"
 msgstr ""
 
-#: config/tc-aarch64.c:918
+#: config/tc-aarch64.c:964
 msgid "missing predication type"
 msgstr ""
 
-#: config/tc-aarch64.c:1013
+#: config/tc-aarch64.c:1059
 msgid "this type of register can't be indexed"
 msgstr ""
 
-#: config/tc-aarch64.c:1019
+#: config/tc-aarch64.c:1065
 msgid "index not allowed inside register list"
 msgstr ""
 
-#: config/tc-aarch64.c:1029 config/tc-aarch64.c:1977 config/tc-aarch64.c:2175
-#: config/tc-arm.c:1586 config/tc-arm.c:3698 config/tc-arm.c:4815
+#: config/tc-aarch64.c:1075 config/tc-aarch64.c:2045 config/tc-aarch64.c:2246
+#: config/tc-arm.c:1788 config/tc-arm.c:3998 config/tc-arm.c:5172
+#: config/tc-arm.c:7294
 msgid "constant expression required"
 msgstr ""
 
 #. Indexed vector register expected.
-#: config/tc-aarch64.c:1041
+#: config/tc-aarch64.c:1087
 msgid "indexed vector register expected"
 msgstr ""
 
-#: config/tc-aarch64.c:1048
+#: config/tc-aarch64.c:1094
 msgid "invalid use of vector register"
 msgstr ""
 
-#: config/tc-aarch64.c:1140 config/tc-arm.c:1854
+#: config/tc-aarch64.c:1186 config/tc-arm.c:2104
 msgid "expecting {"
 msgstr ""
 
-#: config/tc-aarch64.c:1165
+#: config/tc-aarch64.c:1211
 msgid "invalid vector register in list"
 msgstr ""
 
-#: config/tc-aarch64.c:1172
+#: config/tc-aarch64.c:1218
 msgid "invalid scalar register in list"
 msgstr ""
 
-#: config/tc-aarch64.c:1185
+#: config/tc-aarch64.c:1231
 msgid "invalid range in vector register list"
 msgstr ""
 
-#: config/tc-aarch64.c:1198
+#: config/tc-aarch64.c:1244
 msgid "type mismatch in vector register list"
 msgstr ""
 
-#: config/tc-aarch64.c:1215
+#: config/tc-aarch64.c:1261
 msgid "end of vector register list not found"
 msgstr ""
 
-#: config/tc-aarch64.c:1231
+#: config/tc-aarch64.c:1277
 msgid "constant expression required."
 msgstr ""
 
-#: config/tc-aarch64.c:1241
+#: config/tc-aarch64.c:1287
 msgid "expected index"
 msgstr ""
 
-#: config/tc-aarch64.c:1248
+#: config/tc-aarch64.c:1294
 msgid "too many registers in vector register list"
 msgstr ""
 
-#: config/tc-aarch64.c:1253
+#: config/tc-aarch64.c:1299
 msgid "empty vector register list"
 msgstr ""
 
-#: config/tc-aarch64.c:1275 config/tc-arm.c:2240
+#: config/tc-aarch64.c:1321 config/tc-arm.c:2540
 #, c-format
 msgid "ignoring attempt to redefine built-in register '%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:1281 config/tc-arm.c:2245
+#: config/tc-aarch64.c:1327 config/tc-arm.c:2545
 #, c-format
 msgid "ignoring redefinition of register alias '%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:1327 config/tc-arm.c:2311
+#: config/tc-aarch64.c:1373 config/tc-arm.c:2611
 #, c-format
 msgid "unknown register '%s' -- .req ignored"
 msgstr ""
 
-#: config/tc-aarch64.c:1385 config/tc-arm.c:2519
+#: config/tc-aarch64.c:1431 config/tc-arm.c:2819
 msgid "invalid syntax for .req directive"
 msgstr ""
 
-#: config/tc-aarch64.c:1410 config/tc-arm.c:2557
+#: config/tc-aarch64.c:1456 config/tc-arm.c:2857
 msgid "invalid syntax for .unreq directive"
 msgstr ""
 
-#: config/tc-aarch64.c:1416 config/tc-arm.c:2564
+#: config/tc-aarch64.c:1462 config/tc-arm.c:2864
 #, c-format
 msgid "unknown register alias '%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:1418
+#: config/tc-aarch64.c:1464
 #, c-format
 msgid "ignoring attempt to undefine built-in register '%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:1742 config/tc-arm.c:3310 config/tc-arm.c:3337
-#: config/tc-arm.c:3350
+#: config/tc-aarch64.c:1788 config/tc-arm.c:3610 config/tc-arm.c:3637
+#: config/tc-arm.c:3650
 msgid "literal pool overflow"
 msgstr ""
 
-#: config/tc-aarch64.c:1924 config/tc-aarch64.c:6102 config/tc-arm.c:3571
-#: config/tc-arm.c:7012
+#: config/tc-aarch64.c:1970 config/tc-aarch64.c:6223 config/tc-arm.c:3871
+#: config/tc-arm.c:7711
 msgid "unrecognized relocation suffix"
 msgstr ""
 
-#: config/tc-aarch64.c:1926
+#: config/tc-aarch64.c:1972
 msgid "unimplemented relocation suffix"
 msgstr ""
 
-#: config/tc-aarch64.c:2143 config/tc-aarch64.c:2333 config/tc-aarch64.c:2377
+#: config/tc-aarch64.c:2214 config/tc-aarch64.c:2404 config/tc-aarch64.c:2448
 #: config/tc-csky.c:1798
 msgid "immediate operand required"
 msgstr ""
 
-#: config/tc-aarch64.c:2151
+#: config/tc-aarch64.c:2222
 msgid "missing immediate expression"
 msgstr ""
 
-#: config/tc-aarch64.c:2357 config/tc-aarch64.c:5926 config/tc-aarch64.c:5946
+#: config/tc-aarch64.c:2428 config/tc-aarch64.c:6047 config/tc-aarch64.c:6067
 msgid "invalid floating-point constant"
 msgstr ""
 
-#: config/tc-aarch64.c:3050 config/tc-arm.c:5154 config/tc-arm.c:5163
+#: config/tc-aarch64.c:3121 config/tc-arm.c:5512 config/tc-arm.c:5521
 msgid "shift expression expected"
 msgstr ""
 
-#: config/tc-aarch64.c:3058
+#: config/tc-aarch64.c:3129
 msgid "shift operator expected"
 msgstr ""
 
-#: config/tc-aarch64.c:3066
+#: config/tc-aarch64.c:3137
 msgid "invalid use of 'MSL'"
 msgstr ""
 
-#: config/tc-aarch64.c:3074
+#: config/tc-aarch64.c:3145
 msgid "invalid use of 'MUL'"
 msgstr ""
 
-#: config/tc-aarch64.c:3083
+#: config/tc-aarch64.c:3154
 msgid "extending shift is not permitted"
 msgstr ""
 
-#: config/tc-aarch64.c:3091
+#: config/tc-aarch64.c:3162
 msgid "'ROR' shift is not permitted"
 msgstr ""
 
-#: config/tc-aarch64.c:3099
+#: config/tc-aarch64.c:3170
 msgid "only 'LSL' shift is permitted"
 msgstr ""
 
-#: config/tc-aarch64.c:3107
+#: config/tc-aarch64.c:3178
 msgid "only 'MUL' is permitted"
 msgstr ""
 
-#: config/tc-aarch64.c:3125
+#: config/tc-aarch64.c:3196
 msgid "only 'MUL VL' is permitted"
 msgstr ""
 
-#: config/tc-aarch64.c:3133
+#: config/tc-aarch64.c:3204
 msgid "invalid shift for the register offset addressing mode"
 msgstr ""
 
-#: config/tc-aarch64.c:3141
+#: config/tc-aarch64.c:3212
 msgid "invalid shift operator"
 msgstr ""
 
-#: config/tc-aarch64.c:3174
+#: config/tc-aarch64.c:3245
 msgid "missing shift amount"
 msgstr ""
 
-#: config/tc-aarch64.c:3181
+#: config/tc-aarch64.c:3252
 msgid "constant shift amount required"
 msgstr ""
 
-#: config/tc-aarch64.c:3190
+#: config/tc-aarch64.c:3261
 msgid "shift amount out of range 0 to 63"
 msgstr ""
 
-#: config/tc-aarch64.c:3239
+#: config/tc-aarch64.c:3310
 msgid "unexpected shift operator"
 msgstr ""
 
-#: config/tc-aarch64.c:3275
+#: config/tc-aarch64.c:3346
 msgid "unexpected register in the immediate operand"
 msgstr ""
 
-#: config/tc-aarch64.c:3300
+#: config/tc-aarch64.c:3371
 msgid "integer register expected in the extended/shifted operand register"
 msgstr ""
 
-#: config/tc-aarch64.c:3335 config/tc-aarch64.c:3470 config/tc-aarch64.c:3599
-#: config/tc-aarch64.c:3756 config/tc-aarch64.c:3797
+#: config/tc-aarch64.c:3406 config/tc-aarch64.c:3542 config/tc-aarch64.c:3675
+#: config/tc-aarch64.c:3855 config/tc-aarch64.c:3896
 msgid "unknown relocation modifier"
 msgstr ""
 
-#: config/tc-aarch64.c:3342 config/tc-aarch64.c:3489 config/tc-aarch64.c:3606
-#: config/tc-aarch64.c:3763 config/tc-aarch64.c:3804
+#: config/tc-aarch64.c:3413 config/tc-aarch64.c:3561 config/tc-aarch64.c:3682
+#: config/tc-aarch64.c:3862 config/tc-aarch64.c:3903
 msgid "this relocation modifier is not allowed on this instruction"
 msgstr ""
 
-#: config/tc-aarch64.c:3497 config/tc-aarch64.c:3617
+#: config/tc-aarch64.c:3569 config/tc-aarch64.c:3693
 msgid "invalid relocation expression"
 msgstr ""
 
-#: config/tc-aarch64.c:3515
+#: config/tc-aarch64.c:3587
 msgid "invalid address"
 msgstr ""
 
-#: config/tc-aarch64.c:3571
+#: config/tc-aarch64.c:3644
 msgid "invalid use of 32-bit register offset"
 msgstr ""
 
-#: config/tc-aarch64.c:3577
+#: config/tc-aarch64.c:3653
 msgid "offset has different size from base"
 msgstr ""
 
-#: config/tc-aarch64.c:3583
+#: config/tc-aarch64.c:3659
 msgid "invalid use of 64-bit register offset"
 msgstr ""
 
 #. [Xn],#expr
-#: config/tc-aarch64.c:3630 config/tc-aarch64.c:3687
+#: config/tc-aarch64.c:3706 config/tc-aarch64.c:3763
 msgid "invalid expression in the address"
 msgstr ""
 
-#: config/tc-aarch64.c:3644 config/tc-arm.c:5690 config/tc-arm.c:6267
+#: config/tc-aarch64.c:3720 config/tc-arm.c:6102 config/tc-arm.c:6695
 msgid "']' expected"
 msgstr ""
 
-#: config/tc-aarch64.c:3652
+#: config/tc-aarch64.c:3728
 msgid "register offset not allowed in pre-indexed addressing mode"
 msgstr ""
 
-#: config/tc-aarch64.c:3667 config/tc-arm.c:5726
+#: config/tc-aarch64.c:3743 config/tc-arm.c:6138
 msgid "cannot combine pre- and post-indexing"
 msgstr ""
 
 #. Reject [Rn]!
-#: config/tc-aarch64.c:3700
+#: config/tc-aarch64.c:3787
 msgid "missing offset in the pre-indexed address"
 msgstr ""
 
-#: config/tc-aarch64.c:3930
+#: config/tc-aarch64.c:4029
 msgid "unknown or missing option to PSB"
 msgstr ""
 
-#: config/tc-aarch64.c:3938
+#: config/tc-aarch64.c:4037
 msgid "the specified option is not accepted for PSB"
 msgstr ""
 
-#: config/tc-aarch64.c:3965 config/tc-aarch64.c:3979
+#: config/tc-aarch64.c:4064 config/tc-aarch64.c:4078
 msgid "unknown option to BTI"
 msgstr ""
 
-#: config/tc-aarch64.c:4039
+#: config/tc-aarch64.c:4138
 #, c-format
 msgid "selected processor does not support PSTATE field name '%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:4042 config/tc-aarch64.c:4077
+#: config/tc-aarch64.c:4141 config/tc-aarch64.c:4176
 #, c-format
 msgid "selected processor does not support system register name '%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:4045
+#: config/tc-aarch64.c:4144
 #, c-format
 msgid ""
 "system register name '%s' is deprecated and may be removed in a future "
 "release"
 msgstr ""
 
-#: config/tc-aarch64.c:4119
+#: config/tc-aarch64.c:4218
 msgid "immediate value out of range "
 msgstr ""
 
-#: config/tc-aarch64.c:4630
+#: config/tc-aarch64.c:4729
 #, c-format
 msgid "Info: "
 msgstr ""
 
-#: config/tc-aarch64.c:4665 config/tc-score.c:2750 config/tc-score.c:6499
+#: config/tc-aarch64.c:4764 config/tc-score.c:2749 config/tc-score.c:6499
 #, c-format
 msgid "%s -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:4667
+#: config/tc-aarch64.c:4766
 #, c-format
 msgid "%s at operand %d -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:4673
+#: config/tc-aarch64.c:4772
 #, c-format
 msgid "operand %d must be %s -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:4679
+#: config/tc-aarch64.c:4778
 #, c-format
 msgid "operand mismatch -- `%s'"
 msgstr ""
 
 #. Print the hint.
-#: config/tc-aarch64.c:4739
+#: config/tc-aarch64.c:4838
 msgid "   did you mean this?"
 msgstr ""
 
-#: config/tc-aarch64.c:4742 config/tc-aarch64.c:4769
+#: config/tc-aarch64.c:4841 config/tc-aarch64.c:4868
 #, c-format
 msgid "   %s"
 msgstr ""
 
-#: config/tc-aarch64.c:4747
+#: config/tc-aarch64.c:4846
 msgid "   other valid variant(s):"
 msgstr ""
 
-#: config/tc-aarch64.c:4776
+#: config/tc-aarch64.c:4875
 #, c-format
 msgid "operand %d must be the same register as operand 1 -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:4782
+#: config/tc-aarch64.c:4881
 #, c-format
 msgid "%s out of range %d to %d at operand %d -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:4783 config/tc-aarch64.c:4787 config/tc-aarch64.c:6680
+#: config/tc-aarch64.c:4882 config/tc-aarch64.c:4886 config/tc-aarch64.c:6825
 msgid "immediate value"
 msgstr ""
 
-#: config/tc-aarch64.c:4786
+#: config/tc-aarch64.c:4885
 #, c-format
 msgid "%s must be %d at operand %d -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:4793
+#: config/tc-aarch64.c:4892
 #, c-format
 msgid ""
 "invalid number of registers in the list; only 1 register is expected at "
 "operand %d -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:4797
+#: config/tc-aarch64.c:4896
 #, c-format
 msgid ""
 "invalid number of registers in the list; %d registers are expected at "
 "operand %d -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:4803
+#: config/tc-aarch64.c:4902
 #, c-format
 msgid "immediate value must be a multiple of %d at operand %d -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:5116
+#: config/tc-aarch64.c:5220
 msgid "bad vector arrangement type"
 msgstr ""
 
-#: config/tc-aarch64.c:5243
+#: config/tc-aarch64.c:5348
 msgid "the specified relocation type is not allowed for MOVK"
 msgstr ""
 
-#: config/tc-aarch64.c:5291 config/tc-aarch64.c:5302
+#: config/tc-aarch64.c:5396 config/tc-aarch64.c:5407
 msgid "the specified relocation type is not allowed for 32-bit register"
 msgstr ""
 
-#: config/tc-aarch64.c:5493
+#: config/tc-aarch64.c:5598
 msgid "comma expected between operands"
 msgstr ""
 
-#: config/tc-aarch64.c:5627
+#: config/tc-aarch64.c:5733
 msgid "the top half of a 128-bit FP/SIMD register is expected"
 msgstr ""
 
-#: config/tc-aarch64.c:5699 config/tc-arm.c:1923 config/tc-arm.c:1968
+#: config/tc-aarch64.c:5808 config/tc-arm.c:2213 config/tc-arm.c:2258
 #: config/tc-h8300.c:1043
 msgid "invalid register list"
 msgstr ""
 
-#: config/tc-aarch64.c:5719
+#: config/tc-aarch64.c:5815
+msgid "expected element type rather than vector type"
+msgstr ""
+
+#: config/tc-aarch64.c:5836
 msgid "missing type suffix"
 msgstr ""
 
-#: config/tc-aarch64.c:5738
+#: config/tc-aarch64.c:5855
 msgid "C0 - C15 expected"
 msgstr ""
 
-#: config/tc-aarch64.c:5841 config/tc-aarch64.c:5865
+#: config/tc-aarch64.c:5962 config/tc-aarch64.c:5986
 msgid "immediate zero expected"
 msgstr ""
 
-#: config/tc-aarch64.c:5961
+#: config/tc-aarch64.c:6082
 msgid "shift not allowed for bitmask immediate"
 msgstr ""
 
-#: config/tc-aarch64.c:6015
+#: config/tc-aarch64.c:6136
 msgid "can't mix relocation modifier with explicit shift"
 msgstr ""
 
-#: config/tc-aarch64.c:6063
+#: config/tc-aarch64.c:6184 config/tc-arm.c:15831 config/tc-arm.c:15856
+#: config/tc-arm.c:15867 config/tc-arm.c:15874
 msgid "invalid condition"
 msgstr ""
 
-#: config/tc-aarch64.c:6089
+#: config/tc-aarch64.c:6210
 msgid "invalid pc-relative address"
 msgstr ""
 
 #. Only permit "=value" in the literal load instructions.
 #. The literal will be generated by programmer_friendly_fixup.
-#: config/tc-aarch64.c:6097
+#: config/tc-aarch64.c:6218
 msgid "invalid use of \"=immediate\""
 msgstr ""
 
-#: config/tc-aarch64.c:6164 config/tc-aarch64.c:6198 config/tc-aarch64.c:6216
-#: config/tc-aarch64.c:6240 config/tc-aarch64.c:6260 config/tc-aarch64.c:6279
-#: config/tc-aarch64.c:6302 config/tc-aarch64.c:6337 config/tc-aarch64.c:6344
-#: config/tc-aarch64.c:6372 config/tc-aarch64.c:6392 config/tc-aarch64.c:6417
-#: config/tc-aarch64.c:6433 config/tc-aarch64.c:6457
+#: config/tc-aarch64.c:6283 config/tc-aarch64.c:6315 config/tc-aarch64.c:6333
+#: config/tc-aarch64.c:6357 config/tc-aarch64.c:6377 config/tc-aarch64.c:6396
+#: config/tc-aarch64.c:6419 config/tc-aarch64.c:6455 config/tc-aarch64.c:6462
+#: config/tc-aarch64.c:6490 config/tc-aarch64.c:6510 config/tc-aarch64.c:6535
+#: config/tc-aarch64.c:6553 config/tc-aarch64.c:6561 config/tc-aarch64.c:6578
+#: config/tc-aarch64.c:6602
 msgid "invalid addressing mode"
 msgstr ""
 
-#: config/tc-aarch64.c:6180
+#: config/tc-aarch64.c:6299
 msgid "the optional immediate offset can only be 0"
 msgstr ""
 
-#: config/tc-aarch64.c:6221 config/tc-aarch64.c:6245 config/tc-aarch64.c:6265
+#: config/tc-aarch64.c:6338 config/tc-aarch64.c:6362 config/tc-aarch64.c:6382
 msgid "relocation not allowed"
 msgstr ""
 
-#: config/tc-aarch64.c:6312
+#: config/tc-aarch64.c:6429
 msgid "writeback value must be an immediate constant"
 msgstr ""
 
 #. Make sure this has priority over
 #. "invalid addressing mode".
-#: config/tc-aarch64.c:6352
+#: config/tc-aarch64.c:6470
 msgid "constant offset required"
 msgstr ""
 
-#: config/tc-aarch64.c:6469
+#: config/tc-aarch64.c:6614
 msgid "unknown or missing system register name"
 msgstr ""
 
-#: config/tc-aarch64.c:6481
+#: config/tc-aarch64.c:6626
 msgid "unknown or missing PSTATE field name"
 msgstr ""
 
-#: config/tc-aarch64.c:6513
+#: config/tc-aarch64.c:6658
 msgid "unknown or missing operation name"
 msgstr ""
 
-#: config/tc-aarch64.c:6526
+#: config/tc-aarch64.c:6671
 msgid "the specified option is not accepted in ISB"
 msgstr ""
 
-#: config/tc-aarch64.c:6558 config/tc-aarch64.c:7744 config/tc-arm.c:7227
+#: config/tc-aarch64.c:6703 config/tc-aarch64.c:7884 config/tc-arm.c:7993
 #, c-format
 msgid "unhandled operand code %d"
 msgstr ""
 
-#: config/tc-aarch64.c:6600
+#: config/tc-aarch64.c:6745
 msgid "unexpected comma before the omitted optional operand"
 msgstr ""
 
-#: config/tc-aarch64.c:6628
+#: config/tc-aarch64.c:6773
 msgid "unexpected characters following instruction"
 msgstr ""
 
-#: config/tc-aarch64.c:6706 config/tc-arm.c:5265 config/tc-arm.c:5826
-#: config/tc-arm.c:7989
+#: config/tc-aarch64.c:6851 config/tc-arm.c:5636 config/tc-arm.c:6246
+#: config/tc-arm.c:8797
 msgid "constant expression expected"
 msgstr ""
 
-#: config/tc-aarch64.c:6713
+#: config/tc-aarch64.c:6858
 msgid "literal pool insertion failed"
 msgstr ""
 
-#: config/tc-aarch64.c:6782 config/tc-aarch64.c:6804
+#: config/tc-aarch64.c:6929 config/tc-aarch64.c:6944
 #, c-format
 msgid "unpredictable transfer with writeback -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:6789
-#, c-format
-msgid "unpredictable load of register -- `%s'"
-msgstr ""
-
-#: config/tc-aarch64.c:6808
+#: config/tc-aarch64.c:6948
 #, c-format
 msgid "unpredictable load of register pair -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:6820
+#: config/tc-aarch64.c:6960
 #, c-format
 msgid "unpredictable: identical transfer and status registers --`%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:6836
+#: config/tc-aarch64.c:6976
 #, c-format
 msgid "previous `%s' sequence has not been closed"
 msgstr ""
 
-#: config/tc-aarch64.c:6915
+#: config/tc-aarch64.c:7055
 #, c-format
 msgid "unknown mnemonic `%s' -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:6923
+#: config/tc-aarch64.c:7063
 #, c-format
 msgid "unexpected comma after the mnemonic name `%s' -- `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:6981
+#: config/tc-aarch64.c:7121
 #, c-format
 msgid "selected processor does not support `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:7404 config/tc-arm.c:22929
+#: config/tc-aarch64.c:7544 config/tc-arm.c:27479
 msgid "GOT already in the symbol table"
 msgstr ""
 
-#: config/tc-aarch64.c:7567
+#: config/tc-aarch64.c:7707
 msgid "immediate cannot be moved by a single instruction"
 msgstr ""
 
-#: config/tc-aarch64.c:7610 config/tc-aarch64.c:7655 config/tc-aarch64.c:7681
-#: config/tc-arm.c:15430 config/tc-arm.c:15457 config/tc-arm.c:16101
-#: config/tc-arm.c:16734 config/tc-arm.c:17570 config/tc-arm.c:17610
-#: config/tc-metag.c:2444 config/tc-metag.c:2453 config/tc-metag.c:2492
-#: config/tc-metag.c:2501 config/tc-metag.c:3021 config/tc-metag.c:3030
+#: config/tc-aarch64.c:7750 config/tc-aarch64.c:7795 config/tc-aarch64.c:7821
+#: config/tc-arm.c:16375 config/tc-arm.c:18072 config/tc-arm.c:18658
+#: config/tc-arm.c:18685 config/tc-arm.c:19471 config/tc-arm.c:20305
+#: config/tc-arm.c:21320 config/tc-arm.c:21380 config/tc-metag.c:2444
+#: config/tc-metag.c:2453 config/tc-metag.c:2492 config/tc-metag.c:2501
+#: config/tc-metag.c:3021 config/tc-metag.c:3030
 msgid "immediate out of range"
 msgstr ""
 
-#: config/tc-aarch64.c:7674 config/tc-metag.c:4656 config/tc-xtensa.c:4213
+#: config/tc-aarch64.c:7814 config/tc-metag.c:4656 config/tc-xtensa.c:4203
 msgid "invalid immediate"
 msgstr ""
 
-#: config/tc-aarch64.c:7739 config/tc-tic6x.c:3861 config/tc-tic6x.c:3926
+#: config/tc-aarch64.c:7879 config/tc-tic6x.c:3861 config/tc-tic6x.c:3926
 #: config/tc-tic6x.c:3953 config/tc-tic6x.c:3981
 msgid "immediate offset out of range"
 msgstr ""
 
-#: config/tc-aarch64.c:7813 config/tc-arm.c:23267 config/tc-arm.c:23335
-#: config/tc-arm.c:23617
+#: config/tc-aarch64.c:7953 config/tc-arm.c:27817 config/tc-arm.c:27885
+#: config/tc-arm.c:28167
 #, c-format
 msgid "undefined symbol %s used as an immediate value"
 msgstr ""
 
-#: config/tc-aarch64.c:7825
+#: config/tc-aarch64.c:7965
 msgid "pc-relative load offset not word aligned"
 msgstr ""
 
-#: config/tc-aarch64.c:7828
+#: config/tc-aarch64.c:7968
 msgid "pc-relative load offset out of range"
 msgstr ""
 
-#: config/tc-aarch64.c:7840
+#: config/tc-aarch64.c:7980
 msgid "pc-relative address offset out of range"
 msgstr ""
 
-#: config/tc-aarch64.c:7852 config/tc-aarch64.c:7867
+#: config/tc-aarch64.c:7992 config/tc-aarch64.c:8007
 msgid "conditional branch target not word aligned"
 msgstr ""
 
-#: config/tc-aarch64.c:7855 config/tc-aarch64.c:7870 config/tc-arm.c:23910
+#: config/tc-aarch64.c:7995 config/tc-aarch64.c:8010 config/tc-arm.c:28462
 msgid "conditional branch out of range"
 msgstr ""
 
-#: config/tc-aarch64.c:7883
+#: config/tc-aarch64.c:8023
 msgid "branch target not word aligned"
 msgstr ""
 
-#: config/tc-aarch64.c:7886 config/tc-arm.c:856 config/tc-mips.c:15792
-#: config/tc-mips.c:15808 config/tc-mips.c:15898
+#: config/tc-aarch64.c:8026 config/tc-arm.c:899 config/tc-arm.c:29265
+#: config/tc-mips.c:16047 config/tc-mips.c:16063 config/tc-mips.c:16153
 msgid "branch out of range"
 msgstr ""
 
-#: config/tc-aarch64.c:7945 config/tc-arm.c:23508 config/tc-arm.c:23523
-#: config/tc-arm.c:23538 config/tc-arm.c:23549 config/tc-arm.c:23572
-#: config/tc-arm.c:24403 config/tc-moxie.c:716 config/tc-pj.c:452
-#: config/tc-sh.c:3733
+#: config/tc-aarch64.c:8085 config/tc-arm.c:28058 config/tc-arm.c:28073
+#: config/tc-arm.c:28088 config/tc-arm.c:28099 config/tc-arm.c:28122
+#: config/tc-arm.c:28969 config/tc-moxie.c:716 config/tc-pj.c:452
+#: config/tc-sh.c:3727
 msgid "offset out of range"
 msgstr ""
 
-#: config/tc-aarch64.c:7960
+#: config/tc-aarch64.c:8100
 msgid "unsigned value out of range"
 msgstr ""
 
-#: config/tc-aarch64.c:7971
+#: config/tc-aarch64.c:8111
 msgid "signed value out of range"
 msgstr ""
 
-#: config/tc-aarch64.c:8121
+#: config/tc-aarch64.c:8261
 #, c-format
 msgid "unexpected %s fixup"
 msgstr ""
 
-#: config/tc-aarch64.c:8187 config/tc-arm.c:24918 config/tc-arm.c:24939
-#: config/tc-mips.c:18147 config/tc-or1k.c:348 config/tc-score.c:7468
+#: config/tc-aarch64.c:8327 config/tc-arm.c:29685 config/tc-arm.c:29706
+#: config/tc-mips.c:18414 config/tc-or1k.c:345 config/tc-score.c:7468
 #, c-format
 msgid "cannot represent %s relocation in this object file format"
 msgstr ""
 
-#: config/tc-aarch64.c:8220
+#: config/tc-aarch64.c:8360
 #, c-format
 msgid "cannot do %u-byte relocation"
 msgstr ""
 
-#: config/tc-aarch64.c:8540 config/tc-arm.c:25412 config/tc-score.c:6293
+#: config/tc-aarch64.c:8683 config/tc-arm.c:30180 config/tc-score.c:6293
 #: config/tc-score.c:6523 config/tc-score.c:6528
 msgid "virtual memory exhausted"
 msgstr ""
 
-#: config/tc-aarch64.c:8703 config/tc-arm.c:25754
+#: config/tc-aarch64.c:8849 config/tc-arm.c:30523
 msgid "assemble for big-endian"
 msgstr ""
 
-#: config/tc-aarch64.c:8704 config/tc-arm.c:25755
+#: config/tc-aarch64.c:8850 config/tc-arm.c:30524
 msgid "assemble for little-endian"
 msgstr ""
 
-#: config/tc-aarch64.c:8707
+#: config/tc-aarch64.c:8853
 msgid "temporary switch for dumping"
 msgstr ""
 
-#: config/tc-aarch64.c:8709
+#: config/tc-aarch64.c:8855
 msgid "output verbose error messages"
 msgstr ""
 
-#: config/tc-aarch64.c:8711
+#: config/tc-aarch64.c:8857
 msgid "do not output verbose error messages"
 msgstr ""
 
-#: config/tc-aarch64.c:8938 config/tc-arm.c:26583
+#: config/tc-aarch64.c:9137 config/tc-arm.c:31608
 msgid "invalid architectural extension"
 msgstr ""
 
-#: config/tc-aarch64.c:8963 config/tc-arm.c:26615
+#: config/tc-aarch64.c:9162 config/tc-arm.c:31640
 msgid "must specify extensions to add before specifying those to remove"
 msgstr ""
 
-#: config/tc-aarch64.c:8971 config/tc-arm.c:26623
+#: config/tc-aarch64.c:9170 config/tc-arm.c:31648
 msgid "missing architectural extension"
 msgstr ""
 
-#: config/tc-aarch64.c:8998 config/tc-arm.c:26674
+#: config/tc-aarch64.c:9197 config/tc-arm.c:31734
 #, c-format
 msgid "unknown architectural extension `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:9022 config/tc-arm.c:26708 config/tc-metag.c:5834
+#: config/tc-aarch64.c:9221 config/tc-arm.c:31784 config/tc-metag.c:5834
 #, c-format
 msgid "missing cpu name `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:9036 config/tc-aarch64.c:9253 config/tc-arm.c:26743
-#: config/tc-arm.c:27524 config/tc-csky.c:896 config/tc-metag.c:5845
+#: config/tc-aarch64.c:9235 config/tc-aarch64.c:9452 config/tc-arm.c:31819
+#: config/tc-arm.c:32618 config/tc-csky.c:896 config/tc-metag.c:5845
 #, c-format
 msgid "unknown cpu `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:9054 config/tc-arm.c:26761
+#: config/tc-aarch64.c:9253 config/tc-arm.c:31837
 #, c-format
 msgid "missing architecture name `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:9068 config/tc-aarch64.c:9300 config/tc-arm.c:26781
-#: config/tc-arm.c:27558 config/tc-arm.c:27588 config/tc-score.c:7703
+#: config/tc-aarch64.c:9267 config/tc-aarch64.c:9499 config/tc-arm.c:31859
+#: config/tc-arm.c:32653 config/tc-arm.c:32683 config/tc-score.c:7703
 #, c-format
 msgid "unknown architecture `%s'\n"
 msgstr ""
 
-#: config/tc-aarch64.c:9091
+#: config/tc-aarch64.c:9290
 #, c-format
 msgid "missing abi name `%s'"
 msgstr ""
 
-#: config/tc-aarch64.c:9102
+#: config/tc-aarch64.c:9301
 #, c-format
 msgid "unknown abi `%s'\n"
 msgstr ""
 
-#: config/tc-aarch64.c:9108
+#: config/tc-aarch64.c:9307
 msgid "<abi name>\t  specify for ABI <abi name>"
 msgstr ""
 
-#: config/tc-aarch64.c:9111 config/tc-arm.c:26868 config/tc-metag.c:5911
+#: config/tc-aarch64.c:9310 config/tc-arm.c:31946 config/tc-metag.c:5911
 msgid "<cpu name>\t  assemble for CPU <cpu name>"
 msgstr ""
 
-#: config/tc-aarch64.c:9113 config/tc-arm.c:26870
+#: config/tc-aarch64.c:9312 config/tc-arm.c:31948
 msgid "<arch name>\t  assemble for architecture <arch name>"
 msgstr ""
 
-#: config/tc-aarch64.c:9152 config/tc-aarch64.c:9172 config/tc-arm.c:26932
-#: config/tc-arm.c:26950 config/tc-arm.c:26970 config/tc-metag.c:5936
+#: config/tc-aarch64.c:9351 config/tc-aarch64.c:9371 config/tc-arm.c:32016
+#: config/tc-arm.c:32034 config/tc-arm.c:32054 config/tc-metag.c:5936
 #, c-format
 msgid "option `-%c%s' is deprecated: %s"
 msgstr ""
 
-#: config/tc-aarch64.c:9192
+#: config/tc-aarch64.c:9391
 #, c-format
 msgid " AArch64-specific assembler options:\n"
 msgstr ""
 
-#: config/tc-aarch64.c:9203 config/tc-arc.c:3557 config/tc-arm.c:27001
+#: config/tc-aarch64.c:9402 config/tc-arc.c:3554 config/tc-arm.c:32085
 #, c-format
 msgid "  -EB                     assemble code for a big-endian cpu\n"
 msgstr ""
 
-#: config/tc-aarch64.c:9208 config/tc-arc.c:3559 config/tc-arm.c:27006
+#: config/tc-aarch64.c:9407 config/tc-arc.c:3556 config/tc-arm.c:32090
 #, c-format
 msgid "  -EL                     assemble code for a little-endian cpu\n"
 msgstr ""
@@ -2193,7 +2219,7 @@ msgstr ""
 msgid "More than one relocation op per insn"
 msgstr ""
 
-#: config/tc-alpha.c:929 config/tc-arc.c:1199
+#: config/tc-alpha.c:929 config/tc-arc.c:1196
 msgid "No relocation operand"
 msgstr ""
 
@@ -2217,344 +2243,344 @@ msgstr ""
 msgid "Bad sequence number: !%s!%s"
 msgstr ""
 
-#: config/tc-alpha.c:1185 config/tc-alpha.c:3359
+#: config/tc-alpha.c:1185 config/tc-alpha.c:3358
 #, c-format
 msgid "inappropriate arguments for opcode `%s'"
 msgstr ""
 
-#: config/tc-alpha.c:1187 config/tc-alpha.c:3361
+#: config/tc-alpha.c:1187 config/tc-alpha.c:3360
 #, c-format
 msgid "opcode `%s' not supported for target %s"
 msgstr ""
 
-#: config/tc-alpha.c:1191 config/tc-alpha.c:3365 config/tc-avr.c:1903
-#: config/tc-msp430.c:4163 config/tc-wasm32.c:753
+#: config/tc-alpha.c:1191 config/tc-alpha.c:3364 config/tc-avr.c:1903
+#: config/tc-msp430.c:4349 config/tc-wasm32.c:753
 #, c-format
 msgid "unknown opcode `%s'"
 msgstr ""
 
-#: config/tc-alpha.c:1272 config/tc-alpha.c:1531
+#: config/tc-alpha.c:1271 config/tc-alpha.c:1530
 msgid "overflow in literal (.lita) table"
 msgstr ""
 
-#: config/tc-alpha.c:1279 config/tc-alpha.c:1303 config/tc-alpha.c:1544
-#: config/tc-alpha.c:2231 config/tc-alpha.c:2276 config/tc-alpha.c:2345
-#: config/tc-alpha.c:2428 config/tc-alpha.c:2653 config/tc-alpha.c:2751
+#: config/tc-alpha.c:1278 config/tc-alpha.c:1302 config/tc-alpha.c:1543
+#: config/tc-alpha.c:2230 config/tc-alpha.c:2275 config/tc-alpha.c:2344
+#: config/tc-alpha.c:2427 config/tc-alpha.c:2652 config/tc-alpha.c:2750
 msgid "macro requires $at register while noat in effect"
 msgstr ""
 
-#: config/tc-alpha.c:1281 config/tc-alpha.c:1305 config/tc-alpha.c:1546
+#: config/tc-alpha.c:1280 config/tc-alpha.c:1304 config/tc-alpha.c:1545
 msgid "macro requires $at while $at in use"
 msgstr ""
 
-#: config/tc-alpha.c:1490
+#: config/tc-alpha.c:1489
 msgid "bignum invalid; zero assumed"
 msgstr ""
 
-#: config/tc-alpha.c:1492
+#: config/tc-alpha.c:1491
 msgid "floating point number invalid; zero assumed"
 msgstr ""
 
-#: config/tc-alpha.c:1497
+#: config/tc-alpha.c:1496
 msgid "can't handle expression"
 msgstr ""
 
-#: config/tc-alpha.c:1537
+#: config/tc-alpha.c:1536
 msgid "overflow in literal (.lit8) table"
 msgstr ""
 
-#: config/tc-alpha.c:1834
+#: config/tc-alpha.c:1833
 #, c-format
 msgid "too many ldah insns for !gpdisp!%ld"
 msgstr ""
 
-#: config/tc-alpha.c:1836 config/tc-alpha.c:1848
+#: config/tc-alpha.c:1835 config/tc-alpha.c:1847
 #, c-format
 msgid "both insns for !gpdisp!%ld must be in the same section"
 msgstr ""
 
-#: config/tc-alpha.c:1846
+#: config/tc-alpha.c:1845
 #, c-format
 msgid "too many lda insns for !gpdisp!%ld"
 msgstr ""
 
-#: config/tc-alpha.c:1902
+#: config/tc-alpha.c:1901
 #, c-format
 msgid "too many lituse insns for !lituse_tlsgd!%ld"
 msgstr ""
 
-#: config/tc-alpha.c:1905
+#: config/tc-alpha.c:1904
 #, c-format
 msgid "too many lituse insns for !lituse_tlsldm!%ld"
 msgstr ""
 
-#: config/tc-alpha.c:1922
+#: config/tc-alpha.c:1921
 #, c-format
 msgid "duplicate !tlsgd!%ld"
 msgstr ""
 
-#: config/tc-alpha.c:1924
+#: config/tc-alpha.c:1923
 #, c-format
 msgid "sequence number in use for !tlsldm!%ld"
 msgstr ""
 
-#: config/tc-alpha.c:1938
+#: config/tc-alpha.c:1937
 #, c-format
 msgid "duplicate !tlsldm!%ld"
 msgstr ""
 
-#: config/tc-alpha.c:1940
+#: config/tc-alpha.c:1939
 #, c-format
 msgid "sequence number in use for !tlsgd!%ld"
 msgstr ""
 
-#: config/tc-alpha.c:1995 config/tc-arc.c:2827 config/tc-mn10200.c:854
-#: config/tc-mn10300.c:1150 config/tc-ppc.c:1964 config/tc-s390.c:674
+#: config/tc-alpha.c:1994 config/tc-arc.c:2824 config/tc-mn10200.c:854
+#: config/tc-mn10300.c:1150 config/tc-ppc.c:2079 config/tc-s390.c:676
 #: config/tc-tilegx.c:426 config/tc-tilegx.c:476 config/tc-tilepro.c:382
 msgid "operand"
 msgstr ""
 
-#: config/tc-alpha.c:2134
+#: config/tc-alpha.c:2133
 msgid "invalid relocation for instruction"
 msgstr ""
 
-#: config/tc-alpha.c:2148
+#: config/tc-alpha.c:2147
 msgid "invalid relocation for field"
 msgstr ""
 
-#: config/tc-alpha.c:2980
+#: config/tc-alpha.c:2979
 msgid "can not resolve expression"
 msgstr ""
 
-#: config/tc-alpha.c:3515 config/tc-microblaze.c:204 config/tc-ppc.c:2287
-#: config/tc-ppc.c:5663
+#: config/tc-alpha.c:3514 config/tc-microblaze.c:204 config/tc-ppc.c:2414
+#: config/tc-ppc.c:6006
 #, c-format
 msgid ".COMMon length (%ld.) <0! Ignored."
 msgstr ""
 
-#: config/tc-alpha.c:3526 config/tc-ia64.c:1094 config/tc-sparc.c:4279
+#: config/tc-alpha.c:3525 config/tc-ia64.c:1094 config/tc-sparc.c:4279
 #: config/tc-v850.c:306
 msgid "Ignoring attempt to re-define symbol"
 msgstr ""
 
-#: config/tc-alpha.c:3618 config/tc-sparc.c:4287
+#: config/tc-alpha.c:3617 config/tc-sparc.c:4287
 #, c-format
 msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld."
 msgstr ""
 
-#: config/tc-alpha.c:3725
+#: config/tc-alpha.c:3724
 msgid ".ent directive has no name"
 msgstr ""
 
-#: config/tc-alpha.c:3733
+#: config/tc-alpha.c:3732
 msgid "nested .ent directives"
 msgstr ""
 
-#: config/tc-alpha.c:3777 ecoff.c:3008
+#: config/tc-alpha.c:3776 ecoff.c:3008
 msgid ".end directive has no name"
 msgstr ""
 
-#: config/tc-alpha.c:3785
+#: config/tc-alpha.c:3784
 msgid ".end directive without matching .ent"
 msgstr ""
 
-#: config/tc-alpha.c:3787
+#: config/tc-alpha.c:3786
 msgid ".end directive names different symbol than .ent"
 msgstr ""
 
-#: config/tc-alpha.c:3830 ecoff.c:3145
+#: config/tc-alpha.c:3829 ecoff.c:3145
 msgid ".fmask outside of .ent"
 msgstr ""
 
-#: config/tc-alpha.c:3832 config/tc-score.c:5595 ecoff.c:3209
+#: config/tc-alpha.c:3831 config/tc-score.c:5594 ecoff.c:3209
 msgid ".mask outside of .ent"
 msgstr ""
 
-#: config/tc-alpha.c:3840 ecoff.c:3152
+#: config/tc-alpha.c:3839 ecoff.c:3152
 msgid "bad .fmask directive"
 msgstr ""
 
-#: config/tc-alpha.c:3842 ecoff.c:3216
+#: config/tc-alpha.c:3841 ecoff.c:3216
 msgid "bad .mask directive"
 msgstr ""
 
-#: config/tc-alpha.c:3875 config/tc-mips.c:19628 config/tc-score.c:5736
+#: config/tc-alpha.c:3874 config/tc-mips.c:19896 config/tc-score.c:5735
 #: ecoff.c:3173
 msgid ".frame outside of .ent"
 msgstr ""
 
-#: config/tc-alpha.c:3886 config/tc-mips.c:19639 ecoff.c:3184
+#: config/tc-alpha.c:3885 config/tc-mips.c:19907 ecoff.c:3184
 msgid "bad .frame directive"
 msgstr ""
 
-#: config/tc-alpha.c:3920
+#: config/tc-alpha.c:3919
 msgid ".prologue directive without a preceding .ent directive"
 msgstr ""
 
-#: config/tc-alpha.c:3938
+#: config/tc-alpha.c:3937
 #, c-format
 msgid "Invalid argument %d to .prologue."
 msgstr ""
 
-#: config/tc-alpha.c:4027
+#: config/tc-alpha.c:4026
 msgid "ECOFF debugging is disabled."
 msgstr ""
 
-#: config/tc-alpha.c:4041
+#: config/tc-alpha.c:4040
 msgid ".ent directive without matching .end"
 msgstr ""
 
-#: config/tc-alpha.c:4134
+#: config/tc-alpha.c:4133
 msgid ".usepv directive has no name"
 msgstr ""
 
-#: config/tc-alpha.c:4147
+#: config/tc-alpha.c:4146
 msgid ".usepv directive has no type"
 msgstr ""
 
-#: config/tc-alpha.c:4162
+#: config/tc-alpha.c:4161
 msgid "unknown argument for .usepv"
 msgstr ""
 
-#: config/tc-alpha.c:4275
+#: config/tc-alpha.c:4274
 #, c-format
 msgid "unknown section attribute %s"
 msgstr ""
 
-#: config/tc-alpha.c:4370
+#: config/tc-alpha.c:4369
 msgid "previous .ent not closed by a .end"
 msgstr ""
 
-#: config/tc-alpha.c:4391
+#: config/tc-alpha.c:4390
 msgid ".ent directive has no symbol"
 msgstr ""
 
-#: config/tc-alpha.c:4416
+#: config/tc-alpha.c:4415
 msgid ".handler directive has no name"
 msgstr ""
 
-#: config/tc-alpha.c:4447
+#: config/tc-alpha.c:4446
 msgid "Bad .frame directive 1./2. param"
 msgstr ""
 
-#: config/tc-alpha.c:4457
+#: config/tc-alpha.c:4456
 #, c-format
 msgid "Bad RA (%d) register for .frame"
 msgstr ""
 
-#: config/tc-alpha.c:4462
+#: config/tc-alpha.c:4461
 msgid "Bad .frame directive 3./4. param"
 msgstr ""
 
-#: config/tc-alpha.c:4498
+#: config/tc-alpha.c:4497
 msgid ".pdesc directive not in link (.link) section"
 msgstr ""
 
-#: config/tc-alpha.c:4505
+#: config/tc-alpha.c:4504
 msgid ".pdesc directive has no entry symbol"
 msgstr ""
 
-#: config/tc-alpha.c:4516
+#: config/tc-alpha.c:4515
 msgid ".pdesc has a bad entry symbol"
 msgstr ""
 
-#: config/tc-alpha.c:4527
+#: config/tc-alpha.c:4526
 msgid ".pdesc doesn't match with last .ent"
 msgstr ""
 
-#: config/tc-alpha.c:4542
+#: config/tc-alpha.c:4541
 msgid "No comma after .pdesc <entryname>"
 msgstr ""
 
-#: config/tc-alpha.c:4562
+#: config/tc-alpha.c:4561
 msgid "unknown procedure kind"
 msgstr ""
 
-#: config/tc-alpha.c:4657
+#: config/tc-alpha.c:4656
 msgid ".name directive not in link (.link) section"
 msgstr ""
 
-#: config/tc-alpha.c:4665
+#: config/tc-alpha.c:4664
 msgid ".name directive has no symbol"
 msgstr ""
 
-#: config/tc-alpha.c:4699
+#: config/tc-alpha.c:4698
 msgid "No symbol after .linkage"
 msgstr ""
 
-#: config/tc-alpha.c:4746
+#: config/tc-alpha.c:4745
 msgid "No symbol after .code_address"
 msgstr ""
 
-#: config/tc-alpha.c:4772 config/tc-score.c:5601
+#: config/tc-alpha.c:4771 config/tc-score.c:5600
 msgid "Bad .mask directive"
 msgstr ""
 
-#: config/tc-alpha.c:4790
+#: config/tc-alpha.c:4789
 msgid "Bad .fmask directive"
 msgstr ""
 
-#: config/tc-alpha.c:4947
+#: config/tc-alpha.c:4946
 #, c-format
 msgid "Expected comma after name \"%s\""
 msgstr ""
 
-#: config/tc-alpha.c:4959
+#: config/tc-alpha.c:4958
 #, c-format
 msgid "unhandled: .proc %s,%d"
 msgstr ""
 
-#: config/tc-alpha.c:4992
+#: config/tc-alpha.c:4991
 #, c-format
 msgid "Tried to .set unrecognized mode `%s'"
 msgstr ""
 
-#: config/tc-alpha.c:5018
+#: config/tc-alpha.c:5017
 #, c-format
 msgid "Bad base register, using $%d."
 msgstr ""
 
-#: config/tc-alpha.c:5039 config/tc-nios2.c:351 config/tc-nios2.c:476
+#: config/tc-alpha.c:5038 config/tc-nios2.c:351 config/tc-nios2.c:476
 #, c-format
 msgid "Alignment too large: %d. assumed"
 msgstr ""
 
-#: config/tc-alpha.c:5043 config/tc-d30v.c:2057 config/tc-nios2.c:355
+#: config/tc-alpha.c:5042 config/tc-d30v.c:2037 config/tc-nios2.c:355
 #: config/tc-nios2.c:480 config/tc-pru.c:220 config/tc-pru.c:336
 msgid "Alignment negative: 0 assumed"
 msgstr ""
 
-#: config/tc-alpha.c:5138 config/tc-alpha.c:5631
+#: config/tc-alpha.c:5137 config/tc-alpha.c:5630
 #, c-format
 msgid "Unknown CPU identifier `%s'"
 msgstr ""
 
-#: config/tc-alpha.c:5329
+#: config/tc-alpha.c:5328
 #, c-format
 msgid "Chose GP value of %lx\n"
 msgstr ""
 
-#: config/tc-alpha.c:5343
+#: config/tc-alpha.c:5342
 msgid "bad .section directive: want a,s,w,x,M,S,G,T in string"
 msgstr ""
 
-#: config/tc-alpha.c:5432
+#: config/tc-alpha.c:5431
 #, c-format
 msgid "internal error: can't hash opcode `%s': %s"
 msgstr ""
 
-#: config/tc-alpha.c:5468
+#: config/tc-alpha.c:5467
 #, c-format
 msgid "internal error: can't hash macro `%s': %s"
 msgstr ""
 
-#: config/tc-alpha.c:5552 config/tc-arc.c:2480 config/tc-arc.c:2494
-#: config/tc-arm.c:7304 config/tc-arm.c:7316 config/tc-xtensa.c:5462
-#: config/tc-xtensa.c:5538 config/tc-xtensa.c:5655 config/tc-z80.c:1951
+#: config/tc-alpha.c:5551 config/tc-arc.c:2477 config/tc-arc.c:2491
+#: config/tc-arm.c:872 config/tc-xtensa.c:5445 config/tc-xtensa.c:5521
+#: config/tc-xtensa.c:5638 config/tc-z80.c:3257
 msgid "syntax error"
 msgstr ""
 
-#: config/tc-alpha.c:5682
+#: config/tc-alpha.c:5681
 msgid ""
 "Alpha options:\n"
 "-32addr\t\t\ttreat addresses as 32-bit values\n"
@@ -2566,7 +2592,7 @@ msgid ""
 "\t\t\tthese variants include PALcode opcodes\n"
 msgstr ""
 
-#: config/tc-alpha.c:5692
+#: config/tc-alpha.c:5691
 msgid ""
 "VMS options:\n"
 "-+\t\t\tencode (don't truncate) names longer than 64 characters\n"
@@ -2574,204 +2600,204 @@ msgid ""
 "-replace/-noreplace\tenable or disable the optimization of procedure calls\n"
 msgstr ""
 
-#: config/tc-alpha.c:5949 config/tc-arc.c:3107
+#: config/tc-alpha.c:5948 config/tc-arc.c:3104
 #, c-format
 msgid "unhandled relocation type %s"
 msgstr ""
 
-#: config/tc-alpha.c:5962 config/tc-arc.c:3115
+#: config/tc-alpha.c:5961 config/tc-arc.c:3112
 msgid "non-absolute expression in constant field"
 msgstr ""
 
-#: config/tc-alpha.c:5976
+#: config/tc-alpha.c:5975
 #, c-format
 msgid "type %d reloc done?\n"
 msgstr ""
 
-#: config/tc-alpha.c:6023 config/tc-alpha.c:6030
+#: config/tc-alpha.c:6022 config/tc-alpha.c:6029
 msgid "Used $at without \".set noat\""
 msgstr ""
 
-#: config/tc-alpha.c:6199
+#: config/tc-alpha.c:6198
 #, c-format
 msgid "!samegp reloc against symbol without .prologue: %s"
 msgstr ""
 
-#: config/tc-alpha.c:6243 config/tc-arc.c:3238 config/tc-csky.c:5149
-#: config/tc-tilegx.c:1752 config/tc-tilepro.c:1532 config/tc-wasm32.c:813
-#: config/tc-xtensa.c:6148
+#: config/tc-alpha.c:6242 config/tc-arc.c:3235 config/tc-csky.c:5152
+#: config/tc-tilegx.c:1749 config/tc-tilepro.c:1529 config/tc-wasm32.c:813
+#: config/tc-xtensa.c:6142
 #, c-format
 msgid "cannot represent `%s' relocation in object file"
 msgstr ""
 
-#: config/tc-alpha.c:6249 config/tc-arc.c:3244
+#: config/tc-alpha.c:6248 config/tc-arc.c:3241
 #, c-format
 msgid "internal error? cannot generate `%s' relocation"
 msgstr ""
 
-#: config/tc-alpha.c:6345
+#: config/tc-alpha.c:6344
 #, c-format
 msgid "frame reg expected, using $%d."
 msgstr ""
 
-#: config/tc-arc.c:773
+#: config/tc-arc.c:770
 #, c-format
 msgid "internal error: can't hash opcode '%s': %s"
 msgstr ""
 
-#: config/tc-arc.c:781 config/tc-arc.c:2577 config/tc-arc.c:2595
-#: config/tc-arc.c:2648 config/tc-arc.c:2672 config/tc-arc.c:4875
-#: config/tc-arc.c:4942 config/tc-cr16.c:805 config/tc-cr16.c:828
+#: config/tc-arc.c:778 config/tc-arc.c:2574 config/tc-arc.c:2592
+#: config/tc-arc.c:2645 config/tc-arc.c:2669 config/tc-arc.c:4871
+#: config/tc-arc.c:4938 config/tc-cr16.c:805 config/tc-cr16.c:828
 #: config/tc-cris.c:1195 config/tc-crx.c:535 config/tc-crx.c:562
 #: config/tc-crx.c:580 config/tc-pdp11.c:193
 msgid "Virtual memory exhausted"
 msgstr ""
 
-#: config/tc-arc.c:831
+#: config/tc-arc.c:828
 #, c-format
 msgid "invalid %s option for %s cpu"
 msgstr ""
 
-#: config/tc-arc.c:836
+#: config/tc-arc.c:833
 msgid "conflicting ISA extension attributes."
 msgstr ""
 
-#: config/tc-arc.c:855
+#: config/tc-arc.c:852
 msgid "Multiple .cpu directives found"
 msgstr ""
 
-#: config/tc-arc.c:873
+#: config/tc-arc.c:870
 msgid "Command-line value overrides \".cpu\" directive"
 msgstr ""
 
-#: config/tc-arc.c:890
+#: config/tc-arc.c:887
 #, c-format
 msgid "unknown architecture: %s\n"
 msgstr ""
 
-#: config/tc-arc.c:1189
+#: config/tc-arc.c:1186
 msgid "No valid label relocation operand"
 msgstr ""
 
-#: config/tc-arc.c:1211
+#: config/tc-arc.c:1208
 #, c-format
 msgid "Unknown relocation operand: @%s"
 msgstr ""
 
-#: config/tc-arc.c:1224
+#: config/tc-arc.c:1221
 #, c-format
 msgid "Unable to parse TLS base: %s"
 msgstr ""
 
-#: config/tc-arc.c:1248
+#: config/tc-arc.c:1245
 #, c-format
 msgid "@%s is not a complex relocation."
 msgstr ""
 
-#: config/tc-arc.c:1254
+#: config/tc-arc.c:1251
 #, c-format
 msgid "Bad expression: @%s + %s."
 msgstr ""
 
-#: config/tc-arc.c:1315
+#: config/tc-arc.c:1312
 msgid "Brackets in operand field incorrect"
 msgstr ""
 
-#: config/tc-arc.c:1317 config/tc-xtensa.c:2068
+#: config/tc-arc.c:1314 config/tc-xtensa.c:2058
 msgid "extra comma"
 msgstr ""
 
-#: config/tc-arc.c:1319 config/tc-pru.c:1449 config/tc-pru.c:1718
-#: config/tc-xtensa.c:2072
+#: config/tc-arc.c:1316 config/tc-pru.c:1450 config/tc-pru.c:1719
+#: config/tc-xtensa.c:2062
 msgid "missing argument"
 msgstr ""
 
-#: config/tc-arc.c:1321 config/tc-xtensa.c:2074
+#: config/tc-arc.c:1318 config/tc-xtensa.c:2064
 msgid "missing comma or colon"
 msgstr ""
 
-#: config/tc-arc.c:1390
+#: config/tc-arc.c:1387
 msgid "extra dot"
 msgstr ""
 
-#: config/tc-arc.c:1392
+#: config/tc-arc.c:1389
 msgid "unrecognized flag"
 msgstr ""
 
-#: config/tc-arc.c:1394
+#: config/tc-arc.c:1391
 msgid "failed to parse flags"
 msgstr ""
 
-#: config/tc-arc.c:1420
+#: config/tc-arc.c:1417
 msgid "Unhandled reloc type"
 msgstr ""
 
-#: config/tc-arc.c:2448
+#: config/tc-arc.c:2445
 #, c-format
 msgid "%s for instruction '%s'"
 msgstr ""
 
-#: config/tc-arc.c:2450
+#: config/tc-arc.c:2447
 #, c-format
 msgid "inappropriate arguments for opcode '%s'"
 msgstr ""
 
-#: config/tc-arc.c:2452
+#: config/tc-arc.c:2449
 #, c-format
 msgid "opcode '%s' not supported for target %s"
 msgstr ""
 
-#: config/tc-arc.c:2456 config/tc-tic6x.c:3195
+#: config/tc-arc.c:2453 config/tc-tic6x.c:3195
 #, c-format
 msgid "unknown opcode '%s'"
 msgstr ""
 
-#: config/tc-arc.c:2514
+#: config/tc-arc.c:2511
 #, c-format
 msgid "Inserting \"%s\" into register table failed: %s"
 msgstr ""
 
-#: config/tc-arc.c:2550
+#: config/tc-arc.c:2547
 #, c-format
 msgid "Inserting \"%s\" into address type table failed: %s"
 msgstr ""
 
-#: config/tc-arc.c:2569 config/tc-arc.c:5054 config/tc-h8300.c:78
+#: config/tc-arc.c:2566 config/tc-arc.c:5050 config/tc-h8300.c:78
 #: config/tc-h8300.c:87 config/tc-h8300.c:97 config/tc-h8300.c:107
 #: config/tc-h8300.c:117 config/tc-h8300.c:128 config/tc-h8300.c:243
-#: config/tc-hppa.c:6822 config/tc-hppa.c:6828 config/tc-hppa.c:6834
-#: config/tc-hppa.c:6840 config/tc-hppa.c:8229 config/tc-lm32.c:197
-#: config/tc-mips.c:3652 config/tc-mips.c:4161 config/tc-mn10300.c:935
+#: config/tc-hppa.c:6821 config/tc-hppa.c:6827 config/tc-hppa.c:6833
+#: config/tc-hppa.c:6839 config/tc-hppa.c:8227 config/tc-lm32.c:197
+#: config/tc-mips.c:3691 config/tc-mips.c:4199 config/tc-mn10300.c:935
 #: config/tc-mn10300.c:940 config/tc-mn10300.c:2440 config/tc-xc16x.c:79
 #: config/tc-xc16x.c:86 config/tc-xc16x.c:93
 msgid "could not set architecture and machine"
 msgstr ""
 
-#: config/tc-arc.c:2665 config/tc-arc.c:4862
+#: config/tc-arc.c:2662 config/tc-arc.c:4858
 #, c-format
 msgid "internal error: can't hash aux register '%s': %s"
 msgstr ""
 
-#: config/tc-arc.c:2772
+#: config/tc-arc.c:2769
 #, c-format
 msgid "unhandled reloc %s in md_pcrel_from_section"
 msgstr ""
 
-#: config/tc-arc.c:2837
+#: config/tc-arc.c:2834
 msgid "Unaligned operand. Needs to be 32bit aligned"
 msgstr ""
 
-#: config/tc-arc.c:2842
+#: config/tc-arc.c:2839
 msgid "Unaligned operand. Needs to be 16bit aligned"
 msgstr ""
 
-#: config/tc-arc.c:2919 config/tc-cr16.c:573 config/tc-crx.c:345
-#: config/tc-mn10200.c:766 write.c:1029
+#: config/tc-arc.c:2916 config/tc-cr16.c:573 config/tc-crx.c:345
+#: config/tc-mn10200.c:766 write.c:1027
 #, c-format
 msgid "can't resolve `%s' {%s section} - `%s' {%s section}"
 msgstr ""
 
-#: config/tc-arc.c:2978
+#: config/tc-arc.c:2975
 #, c-format
 msgid "PC relative relocation not allowed for (internal) type %d"
 msgstr ""
@@ -2780,35 +2806,35 @@ msgstr ""
 #. the insn.
 #. FIXME! Check for the conditionality of
 #. the insn.
-#: config/tc-arc.c:3023 config/tc-arc.c:4001
+#: config/tc-arc.c:3020 config/tc-arc.c:3998
 msgid "TLS_*_S9 relocs are not supported yet"
 msgstr ""
 
 #. I cannot fix an GOTPC relocation because I need to relax it
 #. from ld rx,[pcl,@sym@gotpc] to add rx,pcl,@sym@gotpc.
-#: config/tc-arc.c:3059
+#: config/tc-arc.c:3056
 msgid "Unsupported operation on reloc"
 msgstr ""
 
-#: config/tc-arc.c:3135 config/tc-arc.c:3151
+#: config/tc-arc.c:3132 config/tc-arc.c:3148
 msgid "unknown fixup size"
 msgstr ""
 
-#: config/tc-arc.c:3285
+#: config/tc-arc.c:3282
 msgid "no relaxation found for this instruction."
 msgstr ""
 
-#: config/tc-arc.c:3535
+#: config/tc-arc.c:3532
 #, c-format
 msgid "ARC-specific assembler options:\n"
 msgstr ""
 
-#: config/tc-arc.c:3561
+#: config/tc-arc.c:3558
 #, c-format
 msgid "  -mrelax                 enable relaxation\n"
 msgstr ""
 
-#: config/tc-arc.c:3564
+#: config/tc-arc.c:3561
 #, c-format
 msgid ""
 "The following ARC-specific assembler options are deprecated and are "
@@ -2816,7 +2842,7 @@ msgid ""
 "for compatibility only:\n"
 msgstr ""
 
-#: config/tc-arc.c:3567
+#: config/tc-arc.c:3564
 #, c-format
 msgid ""
 "  -mEA\n"
@@ -2846,934 +2872,1074 @@ msgid ""
 "  -mxy\n"
 msgstr ""
 
-#: config/tc-arc.c:3657
+#: config/tc-arc.c:3654
 #, c-format
 msgid "Unable to find %s relocation for instruction %s"
 msgstr ""
 
-#: config/tc-arc.c:3952
+#: config/tc-arc.c:3949
 #, c-format
 msgid "Unable to use @plt relocation for insn %s"
 msgstr ""
 
-#: config/tc-arc.c:3971
+#: config/tc-arc.c:3968
 #, c-format
 msgid "Unable to use @pcl relocation for insn %s"
 msgstr ""
 
-#: config/tc-arc.c:4027
+#: config/tc-arc.c:4024
 #, c-format
 msgid "invalid relocation %s for field"
 msgstr ""
 
-#: config/tc-arc.c:4138
+#: config/tc-arc.c:4135
 #, c-format
 msgid "Insn %s has a jump/branch instruction %s in its delay slot."
 msgstr ""
 
-#: config/tc-arc.c:4143
+#: config/tc-arc.c:4140
 #, c-format
 msgid "Insn %s has an instruction %s with limm in its delay slot."
 msgstr ""
 
-#: config/tc-arc.c:4253 config/tc-microblaze.c:2558 config/tc-mn10300.c:1069
-#: config/tc-sh.c:418 config/tc-z80.c:700 read.c:4576
+#: config/tc-arc.c:4250 config/tc-microblaze.c:2554 config/tc-mn10300.c:1069
+#: config/tc-sh.c:418 config/tc-z80.c:1015 read.c:4577
 #, c-format
 msgid "unsupported BFD relocation size %u"
 msgstr ""
 
-#: config/tc-arc.c:4273
+#: config/tc-arc.c:4270
 #, c-format
 msgid "Jump/Branch instruction detected at the end of the ZOL label @%s"
 msgstr ""
 
-#: config/tc-arc.c:4280
+#: config/tc-arc.c:4277
 #, c-format
 msgid "Kernel instruction detected at the end of the ZOL label @%s"
 msgstr ""
 
-#: config/tc-arc.c:4285
+#: config/tc-arc.c:4282
 #, c-format
 msgid ""
 "A jump instruction with long immediate detected at the end of the ZOL label @"
 "%s"
 msgstr ""
 
-#: config/tc-arc.c:4291
+#: config/tc-arc.c:4288
 #, c-format
 msgid "An illegal use of delay slot detected at the end of the ZOL label @%s"
 msgstr ""
 
-#: config/tc-arc.c:4400
+#: config/tc-arc.c:4397
 msgid "expected comma after instruction name"
 msgstr ""
 
-#: config/tc-arc.c:4412
+#: config/tc-arc.c:4409
 msgid "expected comma after major opcode"
 msgstr ""
 
-#: config/tc-arc.c:4598
+#: config/tc-arc.c:4594
 #, c-format
 msgid "Pseudocode already used %s"
 msgstr ""
 
-#: config/tc-arc.c:4606
+#: config/tc-arc.c:4602
 #, c-format
 msgid "major opcode not in range [0x%02x - 0x%02x]"
 msgstr ""
 
-#: config/tc-arc.c:4610
+#: config/tc-arc.c:4606
 msgid "minor opcode not in range [0x00 - 0x3f]"
 msgstr ""
 
-#: config/tc-arc.c:4616
+#: config/tc-arc.c:4612
 msgid "Improper use of OP1_IMM_IMPLIED"
 msgstr ""
 
-#: config/tc-arc.c:4622
+#: config/tc-arc.c:4618
 msgid "Improper use of OP1_MUST_BE_IMM"
 msgstr ""
 
-#: config/tc-arc.c:4634
+#: config/tc-arc.c:4630
 msgid "Couldn't generate extension instruction opcodes"
 msgstr ""
 
-#: config/tc-arc.c:4670
+#: config/tc-arc.c:4666
 msgid "expected comma after name"
 msgstr ""
 
-#: config/tc-arc.c:4681
+#: config/tc-arc.c:4677
 #, c-format
 msgid "%s second argument cannot be a negative number %d"
 msgstr ""
 
-#: config/tc-arc.c:4696
+#: config/tc-arc.c:4692
 msgid "expected comma after register number"
 msgstr ""
 
-#: config/tc-arc.c:4717
+#: config/tc-arc.c:4713
 msgid "invalid mode"
 msgstr ""
 
-#: config/tc-arc.c:4735
+#: config/tc-arc.c:4731
 msgid "expected comma after register mode"
 msgstr ""
 
-#: config/tc-arc.c:4750
+#: config/tc-arc.c:4746
 msgid "shortcut designator invalid"
 msgstr ""
 
-#: config/tc-arc.c:4849
+#: config/tc-arc.c:4845
 #, c-format
 msgid "core register %s value (%d) too large"
 msgstr ""
 
-#: config/tc-arc.c:4868
+#: config/tc-arc.c:4864
 #, c-format
 msgid "condition code %s value (%d) too large"
 msgstr ""
 
-#: config/tc-arc.c:4887
+#: config/tc-arc.c:4883
 msgid "Unknown extension"
 msgstr ""
 
-#: config/tc-arc.c:4992
+#: config/tc-arc.c:4988
 msgid "Overwrite explicitly set Tag_ARC_CPU_base"
 msgstr ""
 
-#: config/tc-arc.c:5040
+#: config/tc-arc.c:5036
 msgid "Overwrite explicitly set Tag_ARC_ABI_rf16 to full register file"
 msgstr ""
 
-#: config/tc-arm.c:653
+#: config/tc-arm.c:684
 msgid "ARM register expected"
 msgstr ""
 
-#: config/tc-arm.c:654
+#: config/tc-arm.c:685
 msgid "bad or missing co-processor number"
 msgstr ""
 
-#: config/tc-arm.c:655
+#: config/tc-arm.c:686
 msgid "co-processor register expected"
 msgstr ""
 
-#: config/tc-arm.c:656
+#: config/tc-arm.c:687
 msgid "FPA register expected"
 msgstr ""
 
-#: config/tc-arm.c:657
+#: config/tc-arm.c:688
 msgid "VFP single precision register expected"
 msgstr ""
 
-#: config/tc-arm.c:658
+#: config/tc-arm.c:689
 msgid "VFP/Neon double precision register expected"
 msgstr ""
 
-#: config/tc-arm.c:659
+#: config/tc-arm.c:690
 msgid "Neon quad precision register expected"
 msgstr ""
 
-#: config/tc-arm.c:660
+#: config/tc-arm.c:691
 msgid "VFP single or double precision register expected"
 msgstr ""
 
-#: config/tc-arm.c:661
+#: config/tc-arm.c:692
 msgid "Neon double or quad precision register expected"
 msgstr ""
 
-#: config/tc-arm.c:662
+#: config/tc-arm.c:693
 msgid "Neon single or double precision register expected"
 msgstr ""
 
-#: config/tc-arm.c:663
+#: config/tc-arm.c:694
 msgid "VFP single, double or Neon quad precision register expected"
 msgstr ""
 
-#: config/tc-arm.c:665
+#: config/tc-arm.c:696
 msgid "VFP system register expected"
 msgstr ""
 
-#: config/tc-arm.c:666
+#: config/tc-arm.c:697
 msgid "Maverick MVF register expected"
 msgstr ""
 
-#: config/tc-arm.c:667
+#: config/tc-arm.c:698
 msgid "Maverick MVD register expected"
 msgstr ""
 
-#: config/tc-arm.c:668
+#: config/tc-arm.c:699
 msgid "Maverick MVFX register expected"
 msgstr ""
 
-#: config/tc-arm.c:669
+#: config/tc-arm.c:700
 msgid "Maverick MVDX register expected"
 msgstr ""
 
-#: config/tc-arm.c:670
+#: config/tc-arm.c:701
 msgid "Maverick MVAX register expected"
 msgstr ""
 
-#: config/tc-arm.c:671
+#: config/tc-arm.c:702
 msgid "Maverick DSPSC register expected"
 msgstr ""
 
-#: config/tc-arm.c:672
+#: config/tc-arm.c:703
 msgid "iWMMXt data register expected"
 msgstr ""
 
-#: config/tc-arm.c:673 config/tc-arm.c:7077
+#: config/tc-arm.c:704 config/tc-arm.c:7793
 msgid "iWMMXt control register expected"
 msgstr ""
 
-#: config/tc-arm.c:674
+#: config/tc-arm.c:705
 msgid "iWMMXt scalar register expected"
 msgstr ""
 
-#: config/tc-arm.c:675
+#: config/tc-arm.c:706
 msgid "XScale accumulator register expected"
 msgstr ""
 
+#: config/tc-arm.c:707
+msgid "MVE vector register expected"
+msgstr ""
+
 #. For score5u : div/mul will pop warning message, mmu/alw/asw will pop error message.
-#: config/tc-arm.c:837 config/tc-score.c:259
+#: config/tc-arm.c:873 config/tc-score.c:259
 msgid "bad arguments to instruction"
 msgstr ""
 
-#: config/tc-arm.c:838
+#: config/tc-arm.c:874
 msgid "r13 not allowed here"
 msgstr ""
 
-#: config/tc-arm.c:839
+#: config/tc-arm.c:875
 msgid "r15 not allowed here"
 msgstr ""
 
-#: config/tc-arm.c:840
+#: config/tc-arm.c:876
+msgid "Odd register not allowed here"
+msgstr ""
+
+#: config/tc-arm.c:877
+msgid "Even register not allowed here"
+msgstr ""
+
+#: config/tc-arm.c:878
 msgid "instruction cannot be conditional"
 msgstr ""
 
-#: config/tc-arm.c:841
+#: config/tc-arm.c:879
 msgid "registers may not be the same"
 msgstr ""
 
-#: config/tc-arm.c:842
+#: config/tc-arm.c:880
 msgid "lo register required"
 msgstr ""
 
-#: config/tc-arm.c:843
+#: config/tc-arm.c:881
 msgid "instruction not supported in Thumb16 mode"
 msgstr ""
 
-#: config/tc-arm.c:844
+#: config/tc-arm.c:882
 msgid "instruction does not accept this addressing mode"
 msgstr ""
 
-#: config/tc-arm.c:845
+#: config/tc-arm.c:883
 msgid "branch must be last instruction in IT block"
 msgstr ""
 
-#: config/tc-arm.c:846
+#: config/tc-arm.c:884
+msgid "branch out of range or not a multiple of 2"
+msgstr ""
+
+#: config/tc-arm.c:885
 msgid "instruction not allowed in IT block"
 msgstr ""
 
-#: config/tc-arm.c:847
+#: config/tc-arm.c:886
+msgid "instruction missing MVE vector predication code"
+msgstr ""
+
+#: config/tc-arm.c:887
 msgid "selected FPU does not support instruction"
 msgstr ""
 
-#: config/tc-arm.c:848
+#: config/tc-arm.c:888
 msgid "thumb conditional instruction should be in IT block"
 msgstr ""
 
-#: config/tc-arm.c:849
+#: config/tc-arm.c:890
+msgid "vector predicated instruction should be in VPT/VPST block"
+msgstr ""
+
+#: config/tc-arm.c:891
 msgid "incorrect condition in IT block"
 msgstr ""
 
-#: config/tc-arm.c:850
+#: config/tc-arm.c:892
+msgid "incorrect condition in VPT/VPST block"
+msgstr ""
+
+#: config/tc-arm.c:893
 msgid "IT falling in the range of a previous IT block"
 msgstr ""
 
-#: config/tc-arm.c:851
+#: config/tc-arm.c:894
 msgid "missing .fnstart before unwinding directive"
 msgstr ""
 
-#: config/tc-arm.c:853
+#: config/tc-arm.c:896
 msgid "cannot use register index with PC-relative addressing"
 msgstr ""
 
-#: config/tc-arm.c:855
+#: config/tc-arm.c:898
 msgid "cannot use writeback with PC-relative addressing"
 msgstr ""
 
-#: config/tc-arm.c:857
+#: config/tc-arm.c:900
 msgid "selected processor does not support fp16 instruction"
 msgstr ""
 
-#: config/tc-arm.c:858
+#: config/tc-arm.c:901
+msgid "selected processor does not support bf16 instruction"
+msgstr ""
+
+#: config/tc-arm.c:902
 msgid "using "
 msgstr ""
 
-#: config/tc-arm.c:859
+#: config/tc-arm.c:903
 msgid "relocation valid in thumb1 code only"
 msgstr ""
 
-#: config/tc-arm.c:1065
+#: config/tc-arm.c:904
+msgid "Warning: instruction is UNPREDICTABLE in an IT block"
+msgstr ""
+
+#: config/tc-arm.c:906
+msgid "Warning: instruction is UNPREDICTABLE in a VPT block"
+msgstr ""
+
+#: config/tc-arm.c:908
+msgid "Warning: instruction is UNPREDICTABLE with PC operand"
+msgstr ""
+
+#: config/tc-arm.c:910
+msgid "Warning: instruction is UNPREDICTABLE with SP operand"
+msgstr ""
+
+#: config/tc-arm.c:912
+msgid "bad type in SIMD instruction"
+msgstr ""
+
+#: config/tc-arm.c:914
+msgid ""
+"GAS auto-detection mode and -march=all is deprecated for MVE, please use a "
+"valid -march or -mcpu option."
+msgstr ""
+
+#: config/tc-arm.c:916
+msgid ""
+"Warning: 32-bit element size and same destination and source operands makes "
+"instruction UNPREDICTABLE"
+msgstr ""
+
+#: config/tc-arm.c:918
+msgid "bad element type for instruction"
+msgstr ""
+
+#: config/tc-arm.c:919
+msgid "MVE vector register Q[0..7] expected"
+msgstr ""
+
+#: config/tc-arm.c:1139
 msgid "immediate expression requires a # prefix"
 msgstr ""
 
-#: config/tc-arm.c:1094 read.c:3799
+#: config/tc-arm.c:1168 read.c:3800
 msgid "missing expression"
 msgstr ""
 
-#: config/tc-arm.c:1108 config/tc-arm.c:5277 config/tc-score.c:1210
+#: config/tc-arm.c:1182 config/tc-arm.c:5649 config/tc-score.c:1209
 msgid "invalid constant"
 msgstr ""
 
-#: config/tc-arm.c:1240
+#: config/tc-arm.c:1360
 msgid "expected #constant"
 msgstr ""
 
-#: config/tc-arm.c:1404
+#: config/tc-arm.c:1532 config/tc-arm.c:1563
 #, c-format
-msgid "unexpected character `%c' in type specifier"
+msgid "bad size %d in type specifier"
+msgstr ""
+
+#: config/tc-arm.c:1539
+msgid "unexpected type character `b' -- did you mean `bf'?"
 msgstr ""
 
-#: config/tc-arm.c:1421
+#: config/tc-arm.c:1546
 #, c-format
-msgid "bad size %d in type specifier"
+msgid "unexpected character `%c' in type specifier"
 msgstr ""
 
-#: config/tc-arm.c:1471
+#: config/tc-arm.c:1613
 msgid "only one type should be specified for operand"
 msgstr ""
 
-#: config/tc-arm.c:1477
+#: config/tc-arm.c:1619
 msgid "vector type expected"
 msgstr ""
 
-#: config/tc-arm.c:1551
+#: config/tc-arm.c:1728
+msgid "expected MVE register [q0..q7]"
+msgstr ""
+
+#: config/tc-arm.c:1748
 msgid "can't redefine type for operand"
 msgstr ""
 
-#: config/tc-arm.c:1564
+#: config/tc-arm.c:1764
+msgid "only D and Q registers may be indexed"
+msgstr ""
+
+#: config/tc-arm.c:1766
 msgid "only D registers may be indexed"
 msgstr ""
 
-#: config/tc-arm.c:1570
+#: config/tc-arm.c:1772
 msgid "can't change index for operand"
 msgstr ""
 
-#: config/tc-arm.c:1633
+#: config/tc-arm.c:1835
 msgid "register operand expected, but got scalar"
 msgstr ""
 
-#: config/tc-arm.c:1670
+#: config/tc-arm.c:1886
 msgid "scalar must have an index"
 msgstr ""
 
-#: config/tc-arm.c:1675 config/tc-arm.c:16604 config/tc-arm.c:16664
-#: config/tc-arm.c:17151
+#: config/tc-arm.c:1891 config/tc-arm.c:20150 config/tc-arm.c:20233
+#: config/tc-arm.c:20898
 msgid "scalar index out of range"
 msgstr ""
 
-#: config/tc-arm.c:1725
+#: config/tc-arm.c:1961
+msgid "r0-r12, lr or APSR expected"
+msgstr ""
+
+#: config/tc-arm.c:1980
 msgid "bad range in register list"
 msgstr ""
 
-#: config/tc-arm.c:1733 config/tc-arm.c:1742 config/tc-arm.c:1783
+#: config/tc-arm.c:1988 config/tc-arm.c:1997 config/tc-arm.c:2038
 #, c-format
 msgid "Warning: duplicated register (r%d) in register list"
 msgstr ""
 
-#: config/tc-arm.c:1745
+#: config/tc-arm.c:2000
 msgid "Warning: register range not in ascending order"
 msgstr ""
 
-#: config/tc-arm.c:1756
+#: config/tc-arm.c:2011
 msgid "missing `}'"
 msgstr ""
 
-#: config/tc-arm.c:1772
+#: config/tc-arm.c:2027
 msgid "invalid register mask"
 msgstr ""
 
-#: config/tc-arm.c:1907 config/tc-arm.c:1951
+#: config/tc-arm.c:2171 config/tc-arm.c:2279
+msgid "VPR expected last"
+msgstr ""
+
+#: config/tc-arm.c:2177
+msgid "VFP single precision register or VPR expected"
+msgstr ""
+
+#. regtype == REG_TYPE_VFD.
+#: config/tc-arm.c:2180
+msgid "VFP/Neon double precision register or VPR expected"
+msgstr ""
+
+#: config/tc-arm.c:2197 config/tc-arm.c:2241
 msgid "register out of range in list"
 msgstr ""
 
-#: config/tc-arm.c:1929 config/tc-arm.c:4214 config/tc-arm.c:4348
+#: config/tc-arm.c:2219 config/tc-arm.c:4518 config/tc-arm.c:4652
 msgid "register list not in ascending order"
 msgstr ""
 
-#: config/tc-arm.c:1960
+#: config/tc-arm.c:2250
 msgid "register range not in ascending order"
 msgstr ""
 
-#: config/tc-arm.c:1993
+#: config/tc-arm.c:2289
 msgid "non-contiguous register range"
 msgstr ""
 
-#: config/tc-arm.c:2052
+#: config/tc-arm.c:2349
+msgid "register stride must be 1"
+msgstr ""
+
+#: config/tc-arm.c:2350
 msgid "register stride must be 1 or 2"
 msgstr ""
 
-#: config/tc-arm.c:2053
+#: config/tc-arm.c:2351
 msgid "mismatched element/structure types in list"
 msgstr ""
 
-#: config/tc-arm.c:2121
+#: config/tc-arm.c:2421
 msgid "don't use Rn-Rm syntax with non-unit stride"
 msgstr ""
 
-#: config/tc-arm.c:2176
+#: config/tc-arm.c:2476
 msgid "error parsing element/structure list"
 msgstr ""
 
-#: config/tc-arm.c:2182
+#: config/tc-arm.c:2482
 msgid "expected }"
 msgstr ""
 
-#: config/tc-arm.c:2273
+#: config/tc-arm.c:2573
 msgid "attempt to redefine typed alias"
 msgstr ""
 
-#: config/tc-arm.c:2408
+#: config/tc-arm.c:2708
 msgid "bad type for register"
 msgstr ""
 
-#: config/tc-arm.c:2419 config/tc-nios2.c:1804
+#: config/tc-arm.c:2719 config/tc-nios2.c:1802
 msgid "expression must be constant"
 msgstr ""
 
-#: config/tc-arm.c:2436
+#: config/tc-arm.c:2736
 msgid "can't redefine the type of a register alias"
 msgstr ""
 
-#: config/tc-arm.c:2443
+#: config/tc-arm.c:2743
 msgid "you must specify a single type only"
 msgstr ""
 
-#: config/tc-arm.c:2456
+#: config/tc-arm.c:2756
 msgid "can't redefine the index of a scalar alias"
 msgstr ""
 
-#: config/tc-arm.c:2464
+#: config/tc-arm.c:2764
 msgid "scalar index must be constant"
 msgstr ""
 
-#: config/tc-arm.c:2473
+#: config/tc-arm.c:2773
 msgid "expecting ]"
 msgstr ""
 
-#: config/tc-arm.c:2525
+#: config/tc-arm.c:2825
 msgid "invalid syntax for .dn directive"
 msgstr ""
 
-#: config/tc-arm.c:2531
+#: config/tc-arm.c:2831
 msgid "invalid syntax for .qn directive"
 msgstr ""
 
-#: config/tc-arm.c:2566
+#: config/tc-arm.c:2866
 #, c-format
 msgid "ignoring attempt to use .unreq on fixed register name: '%s'"
 msgstr ""
 
-#: config/tc-arm.c:2831
+#: config/tc-arm.c:3131
 #, c-format
 msgid "Failed to find real start of function: %s\n"
 msgstr ""
 
-#: config/tc-arm.c:2848
+#: config/tc-arm.c:3148
 msgid "selected processor does not support THUMB opcodes"
 msgstr ""
 
-#: config/tc-arm.c:2861
+#: config/tc-arm.c:3161
 msgid "selected processor does not support ARM opcodes"
 msgstr ""
 
-#: config/tc-arm.c:2873
+#: config/tc-arm.c:3173
 #, c-format
 msgid "invalid instruction size selected (%d)"
 msgstr ""
 
-#: config/tc-arm.c:2905
+#: config/tc-arm.c:3205
 #, c-format
 msgid "invalid operand to .code directive (%d) (expecting 16 or 32)"
 msgstr ""
 
-#: config/tc-arm.c:2960
+#: config/tc-arm.c:3260
 #, c-format
 msgid "expected comma after name \"%s\""
 msgstr ""
 
-#: config/tc-arm.c:3010 config/tc-m32r.c:584
+#: config/tc-arm.c:3310 config/tc-m32r.c:584
 #, c-format
 msgid "symbol `%s' already defined"
 msgstr ""
 
-#: config/tc-arm.c:3043
+#: config/tc-arm.c:3343
 #, c-format
 msgid "unrecognized syntax mode \"%s\""
 msgstr ""
 
-#: config/tc-arm.c:3086
+#: config/tc-arm.c:3386
 msgid ".ref pseudo-op only available with -mccs flag."
 msgstr ""
 
-#: config/tc-arm.c:3127
+#: config/tc-arm.c:3427
 msgid ".asmfunc repeated."
 msgstr ""
 
-#: config/tc-arm.c:3131
+#: config/tc-arm.c:3431
 msgid ".asmfunc without function."
 msgstr ""
 
-#: config/tc-arm.c:3137
+#: config/tc-arm.c:3437
 msgid ".asmfunc pseudo-op only available with -mccs flag."
 msgstr ""
 
-#: config/tc-arm.c:3148
+#: config/tc-arm.c:3448
 msgid ".endasmfunc without a .asmfunc."
 msgstr ""
 
-#: config/tc-arm.c:3152
+#: config/tc-arm.c:3452
 msgid ".endasmfunc without function."
 msgstr ""
 
-#: config/tc-arm.c:3163
+#: config/tc-arm.c:3463
 msgid ".endasmfunc pseudo-op only available with -mccs flag."
 msgstr ""
 
-#: config/tc-arm.c:3172
+#: config/tc-arm.c:3472
 msgid ".def pseudo-op only available with -mccs flag."
 msgstr ""
 
-#: config/tc-arm.c:3330
+#: config/tc-arm.c:3630
 msgid "invalid type for literal pool"
 msgstr ""
 
-#: config/tc-arm.c:3410 config/tc-tic54x.c:5353
+#: config/tc-arm.c:3710 config/tc-tic54x.c:5354
 #, c-format
 msgid "Invalid label '%s'"
 msgstr ""
 
-#: config/tc-arm.c:3586
+#: config/tc-arm.c:3886
 msgid "(plt) is only valid on branch targets"
 msgstr ""
 
-#: config/tc-arm.c:3592 config/tc-csky.c:6989 config/tc-s390.c:1208
-#: config/tc-s390.c:1878 config/tc-xtensa.c:1694
+#: config/tc-arm.c:3892 config/tc-csky.c:6992 config/tc-s390.c:1210
+#: config/tc-s390.c:1880 config/tc-xtensa.c:1684
 #, c-format
 msgid "%s relocations do not fit in %d byte"
 msgid_plural "%s relocations do not fit in %d bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: config/tc-arm.c:3674
+#: config/tc-arm.c:3974
 msgid ".inst.n operand too big. Use .inst.w instead"
 msgstr ""
 
-#: config/tc-arm.c:3694
+#: config/tc-arm.c:3994
 msgid "cannot determine Thumb instruction size. Use .inst.n/.inst.w instead"
 msgstr ""
 
-#: config/tc-arm.c:3724
+#: config/tc-arm.c:4024
 msgid "width suffixes are invalid in ARM mode"
 msgstr ""
 
-#: config/tc-arm.c:3766 dwarf2dbg.c:1005
+#: config/tc-arm.c:4066 dwarf2dbg.c:1033
 msgid "expected 0 or 1"
 msgstr ""
 
-#: config/tc-arm.c:3770
+#: config/tc-arm.c:4070
 msgid "missing comma"
 msgstr ""
 
-#: config/tc-arm.c:3803
+#: config/tc-arm.c:4103
 msgid "duplicate .fnstart directive"
 msgstr ""
 
-#: config/tc-arm.c:3834 config/tc-tic6x.c:412
+#: config/tc-arm.c:4134 config/tc-tic6x.c:412
 msgid "duplicate .handlerdata directive"
 msgstr ""
 
-#: config/tc-arm.c:3853
+#: config/tc-arm.c:4153
 msgid ".fnend directive without .fnstart"
 msgstr ""
 
-#: config/tc-arm.c:3920 config/tc-tic6x.c:393
+#: config/tc-arm.c:4220 config/tc-tic6x.c:393
 msgid "personality routine specified for cantunwind frame"
 msgstr ""
 
-#: config/tc-arm.c:3937 config/tc-tic6x.c:454
+#: config/tc-arm.c:4237 config/tc-tic6x.c:454
 msgid "duplicate .personalityindex directive"
 msgstr ""
 
-#: config/tc-arm.c:3944 config/tc-tic6x.c:461
+#: config/tc-arm.c:4244 config/tc-tic6x.c:461
 msgid "bad personality routine number"
 msgstr ""
 
-#: config/tc-arm.c:3966 config/tc-tic6x.c:478
+#: config/tc-arm.c:4266 config/tc-tic6x.c:478
 msgid "duplicate .personality directive"
 msgstr ""
 
-#: config/tc-arm.c:3990 config/tc-arm.c:4118 config/tc-arm.c:4166
+#: config/tc-arm.c:4290 config/tc-arm.c:4420 config/tc-arm.c:4470
 msgid "expected register list"
 msgstr ""
 
-#: config/tc-arm.c:4072
+#: config/tc-arm.c:4372
 msgid "expected , <constant>"
 msgstr ""
 
-#: config/tc-arm.c:4081
+#: config/tc-arm.c:4381
 msgid "number of registers must be in the range [1:4]"
 msgstr ""
 
-#: config/tc-arm.c:4228 config/tc-arm.c:4362
+#: config/tc-arm.c:4532 config/tc-arm.c:4666
 msgid "bad register range"
 msgstr ""
 
-#: config/tc-arm.c:4428
+#: config/tc-arm.c:4732
 msgid "FPA .unwind_save does not take a register list"
 msgstr ""
 
-#: config/tc-arm.c:4456
+#: config/tc-arm.c:4760
 msgid ".unwind_save does not support this kind of register"
 msgstr ""
 
-#: config/tc-arm.c:4495
+#: config/tc-arm.c:4799
 msgid "SP and PC not permitted in .unwind_movsp directive"
 msgstr ""
 
-#: config/tc-arm.c:4500
+#: config/tc-arm.c:4804
 msgid "unexpected .unwind_movsp directive"
 msgstr ""
 
-#: config/tc-arm.c:4527
+#: config/tc-arm.c:4831
 msgid "stack increment must be multiple of 4"
 msgstr ""
 
-#: config/tc-arm.c:4559
+#: config/tc-arm.c:4863
 msgid "expected <reg>, <reg>"
 msgstr ""
 
-#: config/tc-arm.c:4577
+#: config/tc-arm.c:4881
 msgid "register must be either sp or set by a previousunwind_movsp directive"
 msgstr ""
 
-#: config/tc-arm.c:4616
+#: config/tc-arm.c:4920
 msgid "expected <offset>, <opcode>"
 msgstr ""
 
-#: config/tc-arm.c:4628
+#: config/tc-arm.c:4932
 msgid "unwind opcode too long"
 msgstr ""
 
-#: config/tc-arm.c:4633
+#: config/tc-arm.c:4937
 msgid "invalid unwind opcode"
 msgstr ""
 
-#: config/tc-arm.c:4821 config/tc-arm.c:5832 config/tc-arm.c:10678
-#: config/tc-arm.c:11211 config/tc-arm.c:13238 config/tc-arm.c:14820
-#: config/tc-arm.c:24280 config/tc-arm.c:24344 config/tc-arm.c:24352
+#: config/tc-arm.c:5052 config/tc-arm.c:31763
+#, c-format
+msgid "unrecognised float16 format \"%s\""
+msgstr ""
+
+#: config/tc-arm.c:5063
+msgid "float16 format cannot be set more than once, ignoring."
+msgstr ""
+
+#: config/tc-arm.c:5178 config/tc-arm.c:6252 config/tc-arm.c:11606
+#: config/tc-arm.c:12139 config/tc-arm.c:14259 config/tc-arm.c:16192
+#: config/tc-arm.c:16227 config/tc-arm.c:17155 config/tc-arm.c:19082
+#: config/tc-arm.c:19090 config/tc-arm.c:19097 config/tc-arm.c:20739
+#: config/tc-arm.c:28846 config/tc-arm.c:28910 config/tc-arm.c:28918
 #: config/tc-metag.c:5176 config/tc-z8k.c:1151 config/tc-z8k.c:1161
 msgid "immediate value out of range"
 msgstr ""
 
-#: config/tc-arm.c:4991
+#: config/tc-arm.c:5348
 msgid "invalid FPA immediate expression"
 msgstr ""
 
-#: config/tc-arm.c:5177
+#: config/tc-arm.c:5533
+msgid "'UXTW' not allowed here"
+msgstr ""
+
+#: config/tc-arm.c:5541
 msgid "'LSL' or 'ASR' required"
 msgstr ""
 
-#: config/tc-arm.c:5185
+#: config/tc-arm.c:5549
 msgid "'LSL' required"
 msgstr ""
 
-#: config/tc-arm.c:5193
+#: config/tc-arm.c:5557
 msgid "'ASR' required"
 msgstr ""
 
-#: config/tc-arm.c:5272
+#: config/tc-arm.c:5564
+msgid "'UXTW' required"
+msgstr ""
+
+#: config/tc-arm.c:5643
 msgid "invalid rotation"
 msgstr ""
 
-#: config/tc-arm.c:5452 config/tc-arm.c:5621
+#: config/tc-arm.c:5825 config/tc-arm.c:6030
 msgid "unknown group relocation"
 msgstr ""
 
-#: config/tc-arm.c:5488
+#: config/tc-arm.c:5861
 msgid "alignment must be constant"
 msgstr ""
 
-#: config/tc-arm.c:5652
+#: config/tc-arm.c:6064
 msgid "this group relocation is not allowed on this instruction"
 msgstr ""
 
-#: config/tc-arm.c:5708
+#: config/tc-arm.c:6120
 msgid "'}' expected at end of 'option' field"
 msgstr ""
 
-#: config/tc-arm.c:5713
+#: config/tc-arm.c:6125
 msgid "cannot combine index with option"
 msgstr ""
 
-#: config/tc-arm.c:5970
+#: config/tc-arm.c:6390
 msgid "unexpected bit specified after APSR"
 msgstr ""
 
-#: config/tc-arm.c:5982
+#: config/tc-arm.c:6402
 msgid "selected processor does not support DSP extension"
 msgstr ""
 
-#: config/tc-arm.c:5994
+#: config/tc-arm.c:6414
 msgid "bad bitmask specified after APSR"
 msgstr ""
 
-#: config/tc-arm.c:6018
+#: config/tc-arm.c:6438
 msgid "writing to APSR without specifying a bitmask is deprecated"
 msgstr ""
 
-#: config/tc-arm.c:6030 config/tc-arm.c:12372 config/tc-arm.c:12417
-#: config/tc-arm.c:12421
+#: config/tc-arm.c:6450 config/tc-arm.c:13362 config/tc-arm.c:13407
+#: config/tc-arm.c:13411
 msgid "selected processor does not support requested special purpose register"
 msgstr ""
 
-#: config/tc-arm.c:6035
+#: config/tc-arm.c:6455
 msgid "flag for {c}psr instruction expected"
 msgstr ""
 
-#: config/tc-arm.c:6060
+#: config/tc-arm.c:6513
 msgid "unrecognized CPS flag"
 msgstr ""
 
-#: config/tc-arm.c:6067
+#: config/tc-arm.c:6520
 msgid "missing CPS flags"
 msgstr ""
 
-#: config/tc-arm.c:6090 config/tc-arm.c:6096
+#: config/tc-arm.c:6543 config/tc-arm.c:6549
 msgid "valid endian specifiers are be or le"
 msgstr ""
 
-#: config/tc-arm.c:6118
+#: config/tc-arm.c:6571
 msgid "missing rotation field after comma"
 msgstr ""
 
-#: config/tc-arm.c:6133
+#: config/tc-arm.c:6586
 msgid "rotation can only be 0, 8, 16, or 24"
 msgstr ""
 
-#: config/tc-arm.c:6162
+#: config/tc-arm.c:6615
 msgid "condition required"
 msgstr ""
 
-#: config/tc-arm.c:6229 config/tc-arm.c:8962
+#: config/tc-arm.c:6657 config/tc-arm.c:9775
 msgid "'[' expected"
 msgstr ""
 
-#: config/tc-arm.c:6242
+#: config/tc-arm.c:6670
 msgid "',' expected"
 msgstr ""
 
-#: config/tc-arm.c:6259
+#: config/tc-arm.c:6687
 msgid "invalid shift"
 msgstr ""
 
-#: config/tc-arm.c:6332
+#: config/tc-arm.c:6767
+msgid "expected ARM or MVE vector register"
+msgstr ""
+
+#: config/tc-arm.c:6816
 msgid "can't use Neon quad register here"
 msgstr ""
 
-#: config/tc-arm.c:6399
+#: config/tc-arm.c:6885
 msgid "expected <Rm> or <Dm> or <Qm> operand"
 msgstr ""
 
-#: config/tc-arm.c:6479
+#: config/tc-arm.c:6985
+msgid "VFP single, double or MVE vector register expected"
+msgstr ""
+
+#: config/tc-arm.c:7005
 msgid "parse error"
 msgstr ""
 
+#: config/tc-arm.c:7299
+msgid "immediate value 48 or 64 expected"
+msgstr ""
+
 #. ISB can only take SY as an option.
-#: config/tc-arm.c:6748
+#: config/tc-arm.c:7348
 msgid "invalid barrier type"
 msgstr ""
 
-#: config/tc-arm.c:6845
+#: config/tc-arm.c:7511
 msgid "only floating point zero is allowed as immediate value"
 msgstr ""
 
-#: config/tc-arm.c:6915
+#: config/tc-arm.c:7606
 msgid "immediate value is out of range"
 msgstr ""
 
-#: config/tc-arm.c:7062
+#: config/tc-arm.c:7778
 msgid "iWMMXt data or control register expected"
 msgstr ""
 
-#: config/tc-arm.c:7102
+#: config/tc-arm.c:7819
 msgid "Banked registers are not available with this architecture."
 msgstr ""
 
-#: config/tc-arm.c:7330 config/tc-score.c:264
+#: config/tc-arm.c:8067
+msgid "operand must be LR register"
+msgstr ""
+
+#: config/tc-arm.c:8138 config/tc-score.c:264
 msgid "garbage following instruction"
 msgstr ""
 
 #. If REG is R13 (the stack pointer), warn that its use is
 #. deprecated.
-#: config/tc-arm.c:7380
+#: config/tc-arm.c:8188
 msgid "use of r13 is deprecated"
 msgstr ""
 
-#: config/tc-arm.c:7398 config/tc-arm.c:16819
+#: config/tc-arm.c:8206 config/tc-arm.c:20447
 msgid ""
 "ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is "
 "UNPREDICTABLE"
 msgstr ""
 
-#: config/tc-arm.c:7473
+#: config/tc-arm.c:8281
 msgid "D register out of range for selected VFP version"
 msgstr ""
 
-#: config/tc-arm.c:7570 config/tc-arm.c:10397
+#: config/tc-arm.c:8378 config/tc-arm.c:11301
 msgid "Instruction does not support =N addresses"
 msgstr ""
 
-#: config/tc-arm.c:7578
+#: config/tc-arm.c:8386
 msgid "instruction does not accept preindexed addressing"
 msgstr ""
 
 #. unindexed - only for coprocessor
-#: config/tc-arm.c:7594 config/tc-arm.c:10460
+#: config/tc-arm.c:8402 config/tc-arm.c:11364
 msgid "instruction does not accept unindexed addressing"
 msgstr ""
 
-#: config/tc-arm.c:7602
+#: config/tc-arm.c:8410
 msgid "destination register same as write-back base"
 msgstr ""
 
-#: config/tc-arm.c:7603
+#: config/tc-arm.c:8411
 msgid "source register same as write-back base"
 msgstr ""
 
-#: config/tc-arm.c:7653
+#: config/tc-arm.c:8461
 msgid "use of PC in this instruction is deprecated"
 msgstr ""
 
-#: config/tc-arm.c:7676
+#: config/tc-arm.c:8484
 msgid "instruction does not accept scaled register index"
 msgstr ""
 
-#: config/tc-arm.c:7981
+#: config/tc-arm.c:8789
 msgid "invalid pseudo operation"
 msgstr ""
 
-#: config/tc-arm.c:8219
+#: config/tc-arm.c:9032
 msgid "invalid co-processor operand"
 msgstr ""
 
-#: config/tc-arm.c:8235
+#: config/tc-arm.c:9048
 msgid "instruction does not support unindexed addressing"
 msgstr ""
 
-#: config/tc-arm.c:8250
+#: config/tc-arm.c:9063
 msgid "pc may not be used with write-back"
 msgstr ""
 
-#: config/tc-arm.c:8255
+#: config/tc-arm.c:9068
 msgid "instruction does not support writeback"
 msgstr ""
 
-#: config/tc-arm.c:8361
+#: config/tc-arm.c:9174
 msgid "Rn must not overlap other operands"
 msgstr ""
 
-#: config/tc-arm.c:8366
+#: config/tc-arm.c:9179
 msgid "swp{b} use is obsoleted for ARMv8 and later"
 msgstr ""
 
-#: config/tc-arm.c:8369
+#: config/tc-arm.c:9182
 msgid "swp{b} use is deprecated for ARMv6 and ARMv7"
 msgstr ""
 
-#: config/tc-arm.c:8488 config/tc-arm.c:8507 config/tc-arm.c:8520
-#: config/tc-arm.c:11048 config/tc-arm.c:11079 config/tc-arm.c:11101
+#: config/tc-arm.c:9301 config/tc-arm.c:9320 config/tc-arm.c:9333
+#: config/tc-arm.c:11976 config/tc-arm.c:12007 config/tc-arm.c:12029
 msgid "bit-field extends past end of register"
 msgstr ""
 
-#: config/tc-arm.c:8550
+#: config/tc-arm.c:9363
 msgid "the only valid suffixes here are '(plt)' and '(tlscall)'"
 msgstr ""
 
-#: config/tc-arm.c:8603
+#: config/tc-arm.c:9416
 msgid "use of r15 in blx in ARM mode is not really useful"
 msgstr ""
 
-#: config/tc-arm.c:8625
+#: config/tc-arm.c:9438
 msgid "use of r15 in bx in ARM mode is not really useful"
 msgstr ""
 
-#: config/tc-arm.c:8651
+#: config/tc-arm.c:9464
 msgid "use of r15 in bxj is not really useful"
 msgstr ""
 
-#: config/tc-arm.c:8699
+#: config/tc-arm.c:9512
 msgid "This coprocessor register access is deprecated in ARMv8"
 msgstr ""
 
-#: config/tc-arm.c:8907 config/tc-arm.c:8916
+#: config/tc-arm.c:9720 config/tc-arm.c:9729
 msgid "writeback of base register is UNPREDICTABLE"
 msgstr ""
 
-#: config/tc-arm.c:8910
+#: config/tc-arm.c:9723
 msgid "writeback of base register when in register list is UNPREDICTABLE"
 msgstr ""
 
-#: config/tc-arm.c:8920
+#: config/tc-arm.c:9733
 msgid "if writeback register is in list, it must be the lowest reg in the list"
 msgstr ""
 
-#: config/tc-arm.c:8957
+#: config/tc-arm.c:9770
 msgid "first transfer register must be even"
 msgstr ""
 
-#: config/tc-arm.c:8960
+#: config/tc-arm.c:9773
 msgid "can only transfer two consecutive registers"
 msgstr ""
 
@@ -3781,1248 +3947,1392 @@ msgstr ""
 #. have been called in the first place.
 #. If op 2 were present and equal to PC, this function wouldn't
 #. have been called in the first place.
-#: config/tc-arm.c:8961 config/tc-arm.c:9031 config/tc-arm.c:9695
-#: config/tc-arm.c:11863
+#: config/tc-arm.c:9774 config/tc-arm.c:9844 config/tc-arm.c:10575
+#: config/tc-arm.c:12851
 msgid "r14 not allowed here"
 msgstr ""
 
-#: config/tc-arm.c:8973
+#: config/tc-arm.c:9786
 msgid "base register written back, and overlaps second transfer register"
 msgstr ""
 
-#: config/tc-arm.c:8983
+#: config/tc-arm.c:9796
 msgid "index register overlaps transfer register"
 msgstr ""
 
-#: config/tc-arm.c:9012 config/tc-arm.c:9662
+#: config/tc-arm.c:9825 config/tc-arm.c:10542
 msgid "offset must be zero in ARM encoding"
 msgstr ""
 
-#: config/tc-arm.c:9025 config/tc-arm.c:9689
+#: config/tc-arm.c:9838 config/tc-arm.c:10569
 msgid "even register required"
 msgstr ""
 
-#: config/tc-arm.c:9028
+#: config/tc-arm.c:9841
 msgid "can only load two consecutive registers"
 msgstr ""
 
-#: config/tc-arm.c:9046
+#: config/tc-arm.c:9859
 msgid "ldr to register 15 must be 4-byte aligned"
 msgstr ""
 
-#: config/tc-arm.c:9069 config/tc-arm.c:9101
+#: config/tc-arm.c:9882 config/tc-arm.c:9914
 msgid "this instruction requires a post-indexed address"
 msgstr ""
 
-#: config/tc-arm.c:9128
+#: config/tc-arm.c:9941
 msgid "Rd and Rm should be different in mla"
 msgstr ""
 
-#: config/tc-arm.c:9155 config/tc-arm.c:12236
+#: config/tc-arm.c:9968 config/tc-arm.c:13226
 msgid ":lower16: not allowed in this instruction"
 msgstr ""
 
-#: config/tc-arm.c:9157 config/tc-arm.c:12241
+#: config/tc-arm.c:9970 config/tc-arm.c:13231
 msgid ":upper16: not allowed in this instruction"
 msgstr ""
 
-#: config/tc-arm.c:9174
+#: config/tc-arm.c:9987
 msgid "operand 1 must be FPSCR"
 msgstr ""
 
-#: config/tc-arm.c:9266 config/tc-arm.c:12355
+#: config/tc-arm.c:10040 config/tc-arm.c:10049 config/tc-arm.c:10103
+#: config/tc-arm.c:10112
+msgid "selected processor does not support instruction"
+msgstr ""
+
+#: config/tc-arm.c:10052 config/tc-arm.c:10115
+msgid "accessing MVE system register without MVE is UNPREDICTABLE"
+msgstr ""
+
+#: config/tc-arm.c:10143 config/tc-arm.c:13345
 msgid "bad register for mrs"
 msgstr ""
 
-#: config/tc-arm.c:9273 config/tc-arm.c:12379
+#: config/tc-arm.c:10150 config/tc-arm.c:13369
 msgid "'APSR', 'CPSR' or 'SPSR' expected"
 msgstr ""
 
-#: config/tc-arm.c:9314
+#: config/tc-arm.c:10191
 msgid "Rd and Rm should be different in mul"
 msgstr ""
 
-#: config/tc-arm.c:9333 config/tc-arm.c:9607 config/tc-arm.c:12518
+#: config/tc-arm.c:10210 config/tc-arm.c:10487 config/tc-arm.c:13508
 msgid "rdhi and rdlo must be different"
 msgstr ""
 
-#: config/tc-arm.c:9339
+#: config/tc-arm.c:10216
 msgid "rdhi, rdlo and rm must all be different"
 msgstr ""
 
-#: config/tc-arm.c:9405
+#: config/tc-arm.c:10282
 msgid "'[' expected after PLD mnemonic"
 msgstr ""
 
-#: config/tc-arm.c:9407 config/tc-arm.c:9422
+#: config/tc-arm.c:10284 config/tc-arm.c:10299
 msgid "post-indexed expression used in preload instruction"
 msgstr ""
 
-#: config/tc-arm.c:9409 config/tc-arm.c:9424
+#: config/tc-arm.c:10286 config/tc-arm.c:10301
 msgid "writeback used in preload instruction"
 msgstr ""
 
-#: config/tc-arm.c:9411 config/tc-arm.c:9426
+#: config/tc-arm.c:10288 config/tc-arm.c:10303
 msgid "unindexed addressing used in preload instruction"
 msgstr ""
 
-#: config/tc-arm.c:9420
+#: config/tc-arm.c:10297
 msgid "'[' expected after PLI mnemonic"
 msgstr ""
 
-#: config/tc-arm.c:9435 config/tc-arm.c:12687
+#: config/tc-arm.c:10312 config/tc-arm.c:13677
 msgid "push/pop do not support {reglist}^"
 msgstr ""
 
-#: config/tc-arm.c:9513 config/tc-arm.c:12834
+#: config/tc-arm.c:10390 config/tc-arm.c:13854
 msgid "setend use is deprecated for ARMv8"
 msgstr ""
 
-#: config/tc-arm.c:9534 config/tc-arm.c:12895 config/tc-arm.c:12927
-#: config/tc-arm.c:12970
+#: config/tc-arm.c:10411 config/tc-arm.c:13915 config/tc-arm.c:13947
+#: config/tc-arm.c:13990
 msgid "extraneous shift as part of operand to shift insn"
 msgstr ""
 
-#: config/tc-arm.c:9565 config/tc-arm.c:9574
+#: config/tc-arm.c:10421 config/tc-arm.c:14053
+msgid "immediate too large (bigger than 0xF)"
+msgstr ""
+
+#: config/tc-arm.c:10445 config/tc-arm.c:10454
 msgid "selected processor does not support SETPAN instruction"
 msgstr ""
 
-#: config/tc-arm.c:9633
+#: config/tc-arm.c:10513
 msgid "SRS base register must be r13"
 msgstr ""
 
-#: config/tc-arm.c:9692
+#: config/tc-arm.c:10572
 msgid "can only store two consecutive registers"
 msgstr ""
 
-#: config/tc-arm.c:9806 config/tc-arm.c:9823
+#: config/tc-arm.c:10694 config/tc-arm.c:10715
 msgid "only two consecutive VFP SP registers allowed here"
 msgstr ""
 
-#: config/tc-arm.c:9851 config/tc-arm.c:9866
+#: config/tc-arm.c:10743 config/tc-arm.c:10758
 msgid "this addressing mode requires base-register writeback"
 msgstr ""
 
 #. If srcsize is 16, inst.operands[1].imm must be in the range 0-16.
 #. i.e. immbits must be in range 0 - 16.
-#: config/tc-arm.c:9983
+#: config/tc-arm.c:10887
 msgid "immediate value out of range, expected range [0, 16]"
 msgstr ""
 
 #. If srcsize is 32, inst.operands[1].imm must be in the range 1-32.
 #. i.e. immbits must be in range 0 - 31.
-#: config/tc-arm.c:9990
+#: config/tc-arm.c:10894
 msgid "immediate value out of range, expected range [1, 32]"
 msgstr ""
 
-#: config/tc-arm.c:10056
+#: config/tc-arm.c:10960
 msgid "this instruction does not support indexing"
 msgstr ""
 
-#: config/tc-arm.c:10079
+#: config/tc-arm.c:10983
 msgid "only r15 allowed here"
 msgstr ""
 
-#: config/tc-arm.c:10214
+#: config/tc-arm.c:11118
 msgid "immediate operand requires iWMMXt2"
 msgstr ""
 
-#: config/tc-arm.c:10358
+#: config/tc-arm.c:11262
 msgid "shift by register not allowed in thumb mode"
 msgstr ""
 
-#: config/tc-arm.c:10370 config/tc-arm.c:13078 config/tc-arm.c:23590
+#: config/tc-arm.c:11274 config/tc-arm.c:14099 config/tc-arm.c:28140
 msgid "shift expression is too large"
 msgstr ""
 
-#: config/tc-arm.c:10403
+#: config/tc-arm.c:11307
 msgid "cannot use register index with this instruction"
 msgstr ""
 
-#: config/tc-arm.c:10405
+#: config/tc-arm.c:11309
 msgid "Thumb does not support negative register indexing"
 msgstr ""
 
-#: config/tc-arm.c:10407
+#: config/tc-arm.c:11311
 msgid "Thumb does not support register post-indexing"
 msgstr ""
 
-#: config/tc-arm.c:10409
+#: config/tc-arm.c:11313
 msgid "Thumb does not support register indexing with writeback"
 msgstr ""
 
-#: config/tc-arm.c:10411
+#: config/tc-arm.c:11315
 msgid "Thumb supports only LSL in shifted register indexing"
 msgstr ""
 
-#: config/tc-arm.c:10420 config/tc-arm.c:16395
+#: config/tc-arm.c:11324 config/tc-arm.c:19815
 msgid "shift out of range"
 msgstr ""
 
-#: config/tc-arm.c:10429
+#: config/tc-arm.c:11333
 msgid "cannot use writeback with this instruction"
 msgstr ""
 
-#: config/tc-arm.c:10450
+#: config/tc-arm.c:11354
 msgid "cannot use post-indexing with PC-relative addressing"
 msgstr ""
 
-#: config/tc-arm.c:10451
+#: config/tc-arm.c:11355
 msgid "cannot use post-indexing with this instruction"
 msgstr ""
 
-#: config/tc-arm.c:10673
+#: config/tc-arm.c:11601
 msgid "only SUBS PC, LR, #const allowed"
 msgstr ""
 
-#: config/tc-arm.c:10756 config/tc-arm.c:10916 config/tc-arm.c:11013
-#: config/tc-arm.c:12316 config/tc-arm.c:12624
+#: config/tc-arm.c:11684 config/tc-arm.c:11844 config/tc-arm.c:11941
+#: config/tc-arm.c:13306 config/tc-arm.c:13614
 msgid "shift must be constant"
 msgstr ""
 
-#: config/tc-arm.c:10761
+#: config/tc-arm.c:11689
 msgid "shift value over 3 not allowed in thumb mode"
 msgstr ""
 
-#: config/tc-arm.c:10763
+#: config/tc-arm.c:11691
 msgid "only LSL shift allowed in thumb mode"
 msgstr ""
 
-#: config/tc-arm.c:10787 config/tc-arm.c:10931 config/tc-arm.c:11028
-#: config/tc-arm.c:12329
+#: config/tc-arm.c:11715 config/tc-arm.c:11859 config/tc-arm.c:11956
+#: config/tc-arm.c:13319
 msgid "unshifted register required"
 msgstr ""
 
-#: config/tc-arm.c:10802 config/tc-arm.c:11039 config/tc-arm.c:12479
+#: config/tc-arm.c:11730 config/tc-arm.c:11967 config/tc-arm.c:13469
 msgid "dest must overlap one source register"
 msgstr ""
 
-#: config/tc-arm.c:10934 config/tc-csky.c:5507
+#: config/tc-arm.c:11862 config/tc-csky.c:5510
 msgid "dest and source1 must be the same register"
 msgstr ""
 
-#: config/tc-arm.c:11174
+#: config/tc-arm.c:12102
 msgid ""
 "selected architecture does not support wide conditional branch instruction"
 msgstr ""
 
-#: config/tc-arm.c:11207
+#: config/tc-arm.c:12135
 msgid "instruction is always unconditional"
 msgstr ""
 
-#: config/tc-arm.c:11328
+#: config/tc-arm.c:12310
 msgid "selected processor does not support 'A' form of this instruction"
 msgstr ""
 
-#: config/tc-arm.c:11331
+#: config/tc-arm.c:12313
 msgid "Thumb does not support the 2-argument form of this instruction"
 msgstr ""
 
-#: config/tc-arm.c:11452
+#: config/tc-arm.c:12438
 msgid "SP not allowed in register list"
 msgstr ""
 
-#: config/tc-arm.c:11456 config/tc-arm.c:11562
+#: config/tc-arm.c:12442 config/tc-arm.c:12549
 msgid ""
 "having the base register in the register list when using write back is "
 "UNPREDICTABLE"
 msgstr ""
 
-#: config/tc-arm.c:11464
+#: config/tc-arm.c:12450
 msgid "LR and PC should not both be in register list"
 msgstr ""
 
-#: config/tc-arm.c:11472
+#: config/tc-arm.c:12458
 msgid "PC not allowed in register list"
 msgstr ""
 
-#: config/tc-arm.c:11514
+#: config/tc-arm.c:12501
 msgid "Thumb load/store multiple does not support {reglist}^"
 msgstr ""
 
-#: config/tc-arm.c:11539 config/tc-arm.c:11616
+#: config/tc-arm.c:12526 config/tc-arm.c:12604
 #, c-format
 msgid "value stored for r%d is UNKNOWN"
 msgstr ""
 
-#: config/tc-arm.c:11609
+#: config/tc-arm.c:12597
 msgid "Thumb-2 instruction only valid in unified syntax"
 msgstr ""
 
-#: config/tc-arm.c:11613 config/tc-arm.c:11623
+#: config/tc-arm.c:12601 config/tc-arm.c:12611
 msgid "this instruction will write back the base register"
 msgstr ""
 
-#: config/tc-arm.c:11626
+#: config/tc-arm.c:12614
 msgid "this instruction will not write back the base register"
 msgstr ""
 
-#: config/tc-arm.c:11657
+#: config/tc-arm.c:12645
 msgid "r14 not allowed as first register when second register is omitted"
 msgstr ""
 
-#: config/tc-arm.c:11757
+#: config/tc-arm.c:12745
 msgid ""
 "This instruction may be unpredictable if executed on M-profile cores with "
 "interrupts enabled."
 msgstr ""
 
-#: config/tc-arm.c:11786 config/tc-arm.c:11799 config/tc-arm.c:11835
+#: config/tc-arm.c:12774 config/tc-arm.c:12787 config/tc-arm.c:12823
 msgid "Thumb does not support this addressing mode"
 msgstr ""
 
-#: config/tc-arm.c:11803
+#: config/tc-arm.c:12791
 msgid "byte or halfword not valid for base register"
 msgstr ""
 
-#: config/tc-arm.c:11806
+#: config/tc-arm.c:12794
 msgid "r15 based store not allowed"
 msgstr ""
 
-#: config/tc-arm.c:11808
+#: config/tc-arm.c:12796
 msgid "invalid base register for register offset"
 msgstr ""
 
-#: config/tc-arm.c:11865
+#: config/tc-arm.c:12853
 msgid "r12 not allowed here"
 msgstr ""
 
-#: config/tc-arm.c:11871
+#: config/tc-arm.c:12859
 msgid "base register written back, and overlaps one of transfer registers"
 msgstr ""
 
-#: config/tc-arm.c:11999
+#: config/tc-arm.c:12987
 #, c-format
 msgid ""
 "Use of r%u as a source register is deprecated when r%u is the destination "
 "register."
 msgstr ""
 
-#: config/tc-arm.c:12192
+#: config/tc-arm.c:13182
 msgid "shifts in CMP/MOV instructions are only supported in unified syntax"
 msgstr ""
 
-#: config/tc-arm.c:12220
+#: config/tc-arm.c:13210
 msgid "only lo regs allowed with immediate"
 msgstr ""
 
-#: config/tc-arm.c:12397
+#: config/tc-arm.c:13387
 msgid "Thumb encoding does not support an immediate here"
 msgstr ""
 
-#: config/tc-arm.c:12484
+#: config/tc-arm.c:13474
 msgid "Thumb-2 MUL must not set flags"
 msgstr ""
 
-#: config/tc-arm.c:12549
+#: config/tc-arm.c:13539
 msgid "Thumb does not support NOP with hints"
 msgstr ""
 
-#: config/tc-arm.c:12709
+#: config/tc-arm.c:13699 config/tc-arm.c:13711
 msgid "invalid register list to push/pop instruction"
 msgstr ""
 
-#: config/tc-arm.c:12954
+#: config/tc-arm.c:13974
 msgid "source1 and dest must be same register"
 msgstr ""
 
-#: config/tc-arm.c:12979
+#: config/tc-arm.c:13999
 msgid "ror #imm not supported"
 msgstr ""
 
-#: config/tc-arm.c:13030
+#: config/tc-arm.c:14050
 msgid "SMC is not permitted on this architecture"
 msgstr ""
 
-#: config/tc-arm.c:13195
+#: config/tc-arm.c:14216
 msgid "Thumb encoding does not support rotation"
 msgstr ""
 
-#: config/tc-arm.c:13215
+#: config/tc-arm.c:14236
 msgid "instruction requires register index"
 msgstr ""
 
-#: config/tc-arm.c:13225
+#: config/tc-arm.c:14246
 msgid "instruction does not allow shifted index"
 msgstr ""
 
-#: config/tc-arm.c:13411
+#: config/tc-arm.c:14402 config/tc-arm.c:29281
+msgid "out of range label-relative fixup value"
+msgstr ""
+
+#: config/tc-arm.c:14726
 msgid "invalid neon suffix for non neon instruction"
 msgstr ""
 
-#: config/tc-arm.c:13773 config/tc-arm.c:14119 config/tc-arm.c:15736
-#: config/tc-arm.c:17396
+#: config/tc-arm.c:15105 config/tc-arm.c:15458 config/tc-arm.c:16941
+#: config/tc-arm.c:17021 config/tc-arm.c:17078 config/tc-arm.c:18965
+#: config/tc-arm.c:21143 config/tc-arm.c:21330
 msgid "invalid instruction shape"
 msgstr ""
 
-#: config/tc-arm.c:14018
+#: config/tc-arm.c:15357
 msgid "types specified in both the mnemonic and operands"
 msgstr ""
 
-#: config/tc-arm.c:14055
+#: config/tc-arm.c:15394
 msgid "operand types can't be inferred"
 msgstr ""
 
-#: config/tc-arm.c:14061
+#: config/tc-arm.c:15400
 msgid "type specifier has the wrong number of parts"
 msgstr ""
 
-#: config/tc-arm.c:14147 config/tc-arm.c:15926 config/tc-arm.c:15933
+#: config/tc-arm.c:15486 config/tc-arm.c:19234 config/tc-arm.c:19241
 msgid "operand size must match register width"
 msgstr ""
 
-#: config/tc-arm.c:14158
-msgid "bad type in Neon instruction"
+#: config/tc-arm.c:15508
+msgid "inconsistent types in Neon instruction"
 msgstr ""
 
-#: config/tc-arm.c:14169
-msgid "inconsistent types in Neon instruction"
+#: config/tc-arm.c:15927
+msgid "Type is not allowed for this instruction"
 msgstr ""
 
-#: config/tc-arm.c:14540 config/tc-arm.c:14555 config/tc-arm.c:16975
-msgid "register list must contain at least 1 and at most 16 registers"
+#: config/tc-arm.c:16002
+msgid "MVE vector or ARM register expected"
+msgstr ""
+
+#: config/tc-arm.c:16119
+msgid "immediate must be either 1, 2, 4 or 8"
+msgstr ""
+
+#: config/tc-arm.c:16276
+msgid "immediate operand expected in the range [1,8]"
+msgstr ""
+
+#: config/tc-arm.c:16277
+msgid "immediate operand expected in the range [1,16]"
 msgstr ""
 
-#: config/tc-arm.c:14698 config/tc-arm.c:14734 config/tc-arm.c:15373
-#: config/tc-arm.c:16801
+#: config/tc-arm.c:16419
+msgid "expected LR"
+msgstr ""
+
+#: config/tc-arm.c:16918 config/tc-arm.c:16998 config/tc-arm.c:18601
+#: config/tc-arm.c:20432
 msgid "immediate out of range for shift"
 msgstr ""
 
-#: config/tc-arm.c:14854
+#: config/tc-arm.c:17212
 msgid "first and second operands shall be the same register"
 msgstr ""
 
-#: config/tc-arm.c:15139 config/tc-arm.c:16231
+#: config/tc-arm.c:17326 config/tc-arm.c:17388
+msgid "destination register and offset register may not be the same"
+msgstr ""
+
+#: config/tc-arm.c:17338 config/tc-arm.c:17457
+msgid "immediate must be a multiple of 4 in the range of +/-[0,508]"
+msgstr ""
+
+#: config/tc-arm.c:17340
+msgid "immediate must be a multiple of 8 in the range of +/-[0,1016]"
+msgstr ""
+
+#: config/tc-arm.c:17361
+msgid "can not shift offsets when accessing less than half-word"
+msgstr ""
+
+#: config/tc-arm.c:17363
+msgid ""
+"shift immediate must be 1, 2 or 3 for half-word, word or double-word "
+"accesses respectively"
+msgstr ""
+
+#: config/tc-arm.c:17450
+msgid "immediate must be in the range of +/-[0,127]"
+msgstr ""
+
+#: config/tc-arm.c:17453
+msgid "immediate must be a multiple of 2 in the range of +/-[0,254]"
+msgstr ""
+
+#: config/tc-arm.c:17467 config/tc-arm.c:18299
+msgid "MVE vector register in the range [Q0..Q7] expected"
+msgstr ""
+
+#: config/tc-arm.c:17783 config/tc-arm.c:19652
 msgid "scalar out of range for multiply instruction"
 msgstr ""
 
-#: config/tc-arm.c:15263
+#: config/tc-arm.c:17871
+msgid "index must be in the range 0 to 3"
+msgstr ""
+
+#: config/tc-arm.c:17874
+msgid "indexed register must be less than 8"
+msgstr ""
+
+#: config/tc-arm.c:18075 config/tc-arm.c:21394
+msgid ""
+"Warning: 32-bit element size and same first and third operand makes "
+"instruction UNPREDICTABLE"
+msgstr ""
+
+#: config/tc-arm.c:18440
 msgid "instruction form not available on this architecture."
 msgstr ""
 
-#: config/tc-arm.c:15266
+#: config/tc-arm.c:18443
 msgid "this instruction implies use of ARMv8.1 AdvSIMD."
 msgstr ""
 
-#: config/tc-arm.c:15349 config/tc-arm.c:15361
+#: config/tc-arm.c:18550 config/tc-arm.c:18575
 msgid "immediate out of range for insert"
 msgstr ""
 
-#: config/tc-arm.c:15494
+#: config/tc-arm.c:18722
 msgid "immediate out of range for narrowing operation"
 msgstr ""
 
-#: config/tc-arm.c:15640
+#: config/tc-arm.c:18869
 msgid "operands 0 and 1 must be the same register"
 msgstr ""
 
-#: config/tc-arm.c:15746 config/tc-arm.c:17494
+#: config/tc-arm.c:18975 config/tc-arm.c:21242
 msgid "invalid rounding mode"
 msgstr ""
 
-#: config/tc-arm.c:16075
+#: config/tc-arm.c:19445
 msgid "operand size must be specified for immediate VMOV"
 msgstr ""
 
-#: config/tc-arm.c:16085
+#: config/tc-arm.c:19455
 msgid "immediate has bits set outside the operand size"
 msgstr ""
 
-#: config/tc-arm.c:16247
+#: config/tc-arm.c:19687
 msgid ""
 "vfmal/vfmsl with FP16 type cannot be conditional, the behaviour is "
 "UNPREDICTABLE"
 msgstr ""
 
-#: config/tc-arm.c:16377
+#: config/tc-arm.c:19797
 msgid "Instruction form not available on this architecture."
 msgstr ""
 
-#: config/tc-arm.c:16421
+#: config/tc-arm.c:19851
+msgid ""
+"Warning: 64-bit element size and same destination and source operands makes "
+"instruction UNPREDICTABLE"
+msgstr ""
+
+#: config/tc-arm.c:19856
 msgid "elements must be smaller than reversal region"
 msgstr ""
 
-#: config/tc-arm.c:16603 config/tc-arm.c:16663
+#: config/tc-arm.c:19948
+msgid "Index one must be [2,3] and index two must be two less than index one."
+msgstr ""
+
+#: config/tc-arm.c:19951
+msgid "General purpose registers may not be the same"
+msgstr ""
+
+#: config/tc-arm.c:20149 config/tc-arm.c:20232
 msgid "bad type for scalar"
 msgstr ""
 
-#: config/tc-arm.c:16717
+#: config/tc-arm.c:20288
 msgid ""
 "immediate constant is valid both as a bit-pattern and a floating point value "
 "(using the fp value)"
 msgstr ""
 
-#: config/tc-arm.c:16759 config/tc-arm.c:16767
+#: config/tc-arm.c:20340 config/tc-arm.c:20351
 msgid "VFP registers must be adjacent"
 msgstr ""
 
-#: config/tc-arm.c:16810
+#: config/tc-arm.c:20441
 msgid "invalid suffix"
 msgstr ""
 
-#: config/tc-arm.c:16942
+#: config/tc-arm.c:20593
 msgid "bad list length for table lookup"
 msgstr ""
 
-#: config/tc-arm.c:16972
+#: config/tc-arm.c:20626
 msgid "writeback (!) must be used for VLDMDB and VSTMDB"
 msgstr ""
 
-#: config/tc-arm.c:17000
+#: config/tc-arm.c:20629 config/tc-arm.c:20654 config/tc-arm.c:20675
+msgid "register list must contain at least 1 and at most 16 registers"
+msgstr ""
+
+#: config/tc-arm.c:20697 config/tc-arm.c:20730
 msgid "Use of PC here is UNPREDICTABLE"
 msgstr ""
 
-#: config/tc-arm.c:17002
+#: config/tc-arm.c:20699
 msgid "Use of PC here is deprecated"
 msgstr ""
 
-#: config/tc-arm.c:17069
-msgid "bad alignment"
+#: config/tc-arm.c:20733
+msgid "instruction does not accept register index"
 msgstr ""
 
-#: config/tc-arm.c:17086
-msgid "bad list type for instruction"
+#: config/tc-arm.c:20736
+msgid "instruction does not accept PC-relative addressing"
 msgstr ""
 
-#: config/tc-arm.c:17088
-msgid "bad element type for instruction"
+#: config/tc-arm.c:20758 config/tc-arm.c:20767
+msgid "Instruction not permitted on this architecture"
 msgstr ""
 
-#: config/tc-arm.c:17130
+#: config/tc-arm.c:20816
+msgid "bad alignment"
+msgstr ""
+
+#: config/tc-arm.c:20833
+msgid "bad list type for instruction"
+msgstr ""
+
+#: config/tc-arm.c:20877
 msgid "unsupported alignment for instruction"
 msgstr ""
 
-#: config/tc-arm.c:17149 config/tc-arm.c:17243 config/tc-arm.c:17255
-#: config/tc-arm.c:17265 config/tc-arm.c:17279
+#: config/tc-arm.c:20896 config/tc-arm.c:20990 config/tc-arm.c:21002
+#: config/tc-arm.c:21012 config/tc-arm.c:21026
 msgid "bad list length"
 msgstr ""
 
-#: config/tc-arm.c:17154
+#: config/tc-arm.c:20901
 msgid "stride of 2 unavailable when element size is 8"
 msgstr ""
 
-#: config/tc-arm.c:17187 config/tc-arm.c:17263
+#: config/tc-arm.c:20934 config/tc-arm.c:21010
 msgid "can't use alignment with this instruction"
 msgstr ""
 
-#: config/tc-arm.c:17335
+#: config/tc-arm.c:21082
 msgid "post-index must be a register"
 msgstr ""
 
-#: config/tc-arm.c:17337
+#: config/tc-arm.c:21084
 msgid "bad register for post-index"
 msgstr ""
 
-#: config/tc-arm.c:17558
+#: config/tc-arm.c:21306
 msgid "scalar out of range"
 msgstr ""
 
-#: config/tc-arm.c:17631
+#: config/tc-arm.c:21439
 msgid ""
 "Dot Product instructions cannot be conditional,  the behaviour is "
 "UNPREDICTABLE"
 msgstr ""
 
-#: config/tc-arm.c:18204 config/tc-arm.c:18290
+#: config/tc-arm.c:21514 config/tc-arm.c:21542 config/tc-arm.c:21777
+msgid "index must be 0 or 1"
+msgstr ""
+
+#: config/tc-arm.c:21517 config/tc-arm.c:21545 config/tc-arm.c:21780
+msgid "indexed register must be less than 16"
+msgstr ""
+
+#: config/tc-arm.c:22130 config/tc-arm.c:22234
 msgid "conditional infixes are deprecated in unified syntax"
 msgstr ""
 
-#: config/tc-arm.c:18441
+#: config/tc-arm.c:22445
 msgid "Warning: conditional outside an IT block for Thumb."
 msgstr ""
 
-#: config/tc-arm.c:18593
+#: config/tc-arm.c:22771
 msgid "Short branches, Undefined, SVC, LDM/STM"
 msgstr ""
 
-#: config/tc-arm.c:18594
+#: config/tc-arm.c:22772
 msgid "Miscellaneous 16-bit instructions"
 msgstr ""
 
-#: config/tc-arm.c:18595
+#: config/tc-arm.c:22773
 msgid "ADR"
 msgstr ""
 
-#: config/tc-arm.c:18596
+#: config/tc-arm.c:22774
 msgid "Literal loads"
 msgstr ""
 
-#: config/tc-arm.c:18597
+#: config/tc-arm.c:22775
 msgid "Hi-register ADD, MOV, CMP, BX, BLX using pc"
 msgstr ""
 
-#: config/tc-arm.c:18598
+#: config/tc-arm.c:22776
 msgid "Hi-register ADD, MOV, CMP using pc"
 msgstr ""
 
 #. NOTE: 0x00dd is not the real encoding, instead, it is the 'tvalue'
 #. field in asm_opcode. 'tvalue' is used at the stage this check happen.
-#: config/tc-arm.c:18601
+#: config/tc-arm.c:22779
 msgid "ADD/SUB sp, sp #imm"
 msgstr ""
 
-#: config/tc-arm.c:18621
+#: config/tc-arm.c:22800
 msgid ""
 "IT blocks containing 32-bit Thumb instructions are performance deprecated in "
 "ARMv8-A and ARMv8-R"
 msgstr ""
 
-#: config/tc-arm.c:18633
+#: config/tc-arm.c:22812
 #, c-format
 msgid ""
 "IT blocks containing 16-bit Thumb instructions of the following class are "
 "performance deprecated in ARMv8-A and ARMv8-R: %s"
 msgstr ""
 
-#: config/tc-arm.c:18647
+#: config/tc-arm.c:22826
 msgid ""
 "IT blocks containing more than one conditional instruction are performance "
 "deprecated in ARMv8-A and ARMv8-R"
 msgstr ""
 
-#: config/tc-arm.c:18763
+#: config/tc-arm.c:22944
 #, c-format
 msgid "bad instruction `%s'"
 msgstr ""
 
-#: config/tc-arm.c:18769
+#: config/tc-arm.c:22950
 msgid "s suffix on comparison instruction is deprecated"
 msgstr ""
 
-#: config/tc-arm.c:18789
+#: config/tc-arm.c:22970
 msgid "SVC is not permitted on this architecture"
 msgstr ""
 
-#: config/tc-arm.c:18791
+#: config/tc-arm.c:22972
 #, c-format
 msgid "selected processor does not support `%s' in Thumb mode"
 msgstr ""
 
-#: config/tc-arm.c:18797
+#: config/tc-arm.c:22978
 msgid "Thumb does not support conditional execution"
 msgstr ""
 
-#: config/tc-arm.c:18817
+#: config/tc-arm.c:22998
 #, c-format
 msgid ""
 "selected processor does not support 32bit wide variant of instruction `%s'"
 msgstr ""
 
-#: config/tc-arm.c:18820
+#: config/tc-arm.c:23001
 #, c-format
 msgid "selected processor does not support `%s' in Thumb-2 mode"
 msgstr ""
 
-#: config/tc-arm.c:18845
+#: config/tc-arm.c:23026
 #, c-format
 msgid "cannot honor width suffix -- `%s'"
 msgstr ""
 
-#: config/tc-arm.c:18887
+#: config/tc-arm.c:23068
 #, c-format
 msgid "selected processor does not support `%s' in ARM mode"
 msgstr ""
 
-#: config/tc-arm.c:18892
+#: config/tc-arm.c:23073
 #, c-format
 msgid "width suffixes are invalid in ARM mode -- `%s'"
 msgstr ""
 
-#: config/tc-arm.c:18925
+#: config/tc-arm.c:23106
 #, c-format
 msgid "attempt to use an ARM instruction on a Thumb-only processor -- `%s'"
 msgstr ""
 
-#: config/tc-arm.c:18942
+#: config/tc-arm.c:23124
 #, c-format
 msgid "section '%s' finished with an open IT block."
 msgstr ""
 
-#: config/tc-arm.c:18947
+#: config/tc-arm.c:23127
+#, c-format
+msgid "section '%s' finished with an open VPT/VPST block."
+msgstr ""
+
+#: config/tc-arm.c:23134
 msgid "file finished with an open IT block."
 msgstr ""
 
-#: config/tc-arm.c:22243
+#: config/tc-arm.c:23136
+msgid "file finished with an open VPT/VPST block."
+msgstr ""
+
+#: config/tc-arm.c:26787
 #, c-format
 msgid "alignments greater than %d bytes not supported in .text sections."
 msgstr ""
 
-#: config/tc-arm.c:22510 config/tc-ia64.c:3594
+#: config/tc-arm.c:27054 config/tc-ia64.c:3594
 #, c-format
 msgid "Group section `%s' has no group signature"
 msgstr ""
 
-#: config/tc-arm.c:22556
+#: config/tc-arm.c:27100
 msgid "handlerdata in cantunwind frame"
 msgstr ""
 
-#: config/tc-arm.c:22573
+#: config/tc-arm.c:27117
 msgid "too many unwind opcodes for personality routine 0"
 msgstr ""
 
-#: config/tc-arm.c:22604
+#: config/tc-arm.c:27148
 msgid "attempt to recreate an unwind entry"
 msgstr ""
 
-#: config/tc-arm.c:22614
+#: config/tc-arm.c:27158
 msgid "too many unwind opcodes"
 msgstr ""
 
-#: config/tc-arm.c:22907
+#: config/tc-arm.c:27457
 #, c-format
 msgid "[-mwarn-syms]: Assignment makes a symbol match an ARM instruction: %s"
 msgstr ""
 
-#: config/tc-arm.c:23269 config/tc-arm.c:23337
+#: config/tc-arm.c:27819 config/tc-arm.c:27887
 #, c-format
 msgid "symbol %s is in a different section"
 msgstr ""
 
-#: config/tc-arm.c:23271 config/tc-arm.c:23339
+#: config/tc-arm.c:27821 config/tc-arm.c:27889
 #, c-format
 msgid "symbol %s is weak and may be overridden later"
 msgstr ""
 
-#: config/tc-arm.c:23316 config/tc-arm.c:23688
+#: config/tc-arm.c:27866 config/tc-arm.c:28238
 #, c-format
 msgid "invalid constant (%lx) after fixup"
 msgstr ""
 
-#: config/tc-arm.c:23372
+#: config/tc-arm.c:27922
 #, c-format
 msgid "unable to compute ADRL instructions for PC offset of 0x%lx"
 msgstr ""
 
-#: config/tc-arm.c:23408 config/tc-arm.c:23438
+#: config/tc-arm.c:27958 config/tc-arm.c:27988
 msgid "invalid literal constant: pool needs to be closer"
 msgstr ""
 
-#: config/tc-arm.c:23411 config/tc-arm.c:23460
+#: config/tc-arm.c:27961 config/tc-arm.c:28010
 #, c-format
 msgid "bad immediate value for offset (%ld)"
 msgstr ""
 
-#: config/tc-arm.c:23441
+#: config/tc-arm.c:27991
 #, c-format
 msgid "bad immediate value for 8-bit offset (%ld)"
 msgstr ""
 
-#: config/tc-arm.c:23501
+#: config/tc-arm.c:28051
 msgid "offset not a multiple of 4"
 msgstr ""
 
-#: config/tc-arm.c:23704
+#: config/tc-arm.c:28254
 msgid "invalid smc expression"
 msgstr ""
 
-#: config/tc-arm.c:23713
+#: config/tc-arm.c:28264
 msgid "invalid hvc expression"
 msgstr ""
 
-#: config/tc-arm.c:23724 config/tc-arm.c:23733
+#: config/tc-arm.c:28275 config/tc-arm.c:28284
 msgid "invalid swi expression"
 msgstr ""
 
-#: config/tc-arm.c:23743
+#: config/tc-arm.c:28294
 msgid "invalid expression in load/store multiple"
 msgstr ""
 
-#: config/tc-arm.c:23805
+#: config/tc-arm.c:28356
 #, c-format
 msgid "blx to '%s' an ARM ISA state function changed to bl"
 msgstr ""
 
-#: config/tc-arm.c:23824
+#: config/tc-arm.c:28375
 msgid "misaligned branch destination"
 msgstr ""
 
-#: config/tc-arm.c:23944
+#: config/tc-arm.c:28496
 #, c-format
 msgid "blx to Thumb func '%s' from Thumb ISA state changed to bl"
 msgstr ""
 
-#: config/tc-arm.c:23994
+#: config/tc-arm.c:28545
 msgid "Thumb2 branch out of range"
 msgstr ""
 
-#: config/tc-arm.c:24046 config/tc-arm.c:24079
+#: config/tc-arm.c:28597 config/tc-arm.c:28630
 msgid "Relocation supported only in FDPIC mode"
 msgstr ""
 
-#: config/tc-arm.c:24109
+#: config/tc-arm.c:28660
 msgid "rel31 relocation overflow"
 msgstr ""
 
-#: config/tc-arm.c:24130 config/tc-arm.c:24134 config/tc-arm.c:24173
+#: config/tc-arm.c:28682 config/tc-arm.c:28688 config/tc-arm.c:28692
+#: config/tc-arm.c:28739
 msgid "co-processor offset out of range"
 msgstr ""
 
-#: config/tc-arm.c:24190
+#: config/tc-arm.c:28756
 #, c-format
 msgid "invalid offset, target not word aligned (0x%08lX)"
 msgstr ""
 
-#: config/tc-arm.c:24197 config/tc-arm.c:24206 config/tc-arm.c:24214
-#: config/tc-arm.c:24222 config/tc-arm.c:24230
+#: config/tc-arm.c:28763 config/tc-arm.c:28772 config/tc-arm.c:28780
+#: config/tc-arm.c:28788 config/tc-arm.c:28796
 #, c-format
 msgid "invalid offset, value too big (0x%08lX)"
 msgstr ""
 
-#: config/tc-arm.c:24271
+#: config/tc-arm.c:28837
 msgid "invalid Hi register with immediate"
 msgstr ""
 
-#: config/tc-arm.c:24287
+#: config/tc-arm.c:28853
 msgid "invalid immediate for stack address calculation"
 msgstr ""
 
-#: config/tc-arm.c:24306
+#: config/tc-arm.c:28872
 msgid "address calculation needs a strongly defined nearby symbol"
 msgstr ""
 
-#: config/tc-arm.c:24322
+#: config/tc-arm.c:28888
 msgid "symbol too far away"
 msgstr ""
 
-#: config/tc-arm.c:24334
+#: config/tc-arm.c:28900
 #, c-format
 msgid "invalid immediate for address calculation (value = 0x%08lX)"
 msgstr ""
 
-#: config/tc-arm.c:24364
+#: config/tc-arm.c:28930
 #, c-format
 msgid "invalid immediate: %ld is out of range"
 msgstr ""
 
-#: config/tc-arm.c:24376
+#: config/tc-arm.c:28942
 #, c-format
 msgid "invalid shift value: %ld"
 msgstr ""
 
-#: config/tc-arm.c:24446 config/tc-arm.c:24517
+#: config/tc-arm.c:29012 config/tc-arm.c:29083
 #, c-format
 msgid "the offset 0x%08lX is not representable"
 msgstr ""
 
-#: config/tc-arm.c:24478
+#: config/tc-arm.c:29044
 #, c-format
 msgid "Unable to process relocation for thumb opcode: %lx"
 msgstr ""
 
-#: config/tc-arm.c:24557
+#: config/tc-arm.c:29123
 #, c-format
 msgid "bad offset 0x%08lX (only 12 bits available for the magnitude)"
 msgstr ""
 
-#: config/tc-arm.c:24596
+#: config/tc-arm.c:29162
 #, c-format
 msgid "bad offset 0x%08lX (only 8 bits available for the magnitude)"
 msgstr ""
 
-#: config/tc-arm.c:24636
+#: config/tc-arm.c:29202
 #, c-format
 msgid "bad offset 0x%08lX (must be word-aligned)"
 msgstr ""
 
-#: config/tc-arm.c:24641
+#: config/tc-arm.c:29207
 #, c-format
 msgid "bad offset 0x%08lX (must be an 8-bit number of words)"
 msgstr ""
 
-#: config/tc-arm.c:24672 config/tc-score.c:7379
+#: config/tc-arm.c:29428 config/tc-score.c:7379
 #, c-format
 msgid "bad relocation fixup type (%d)"
 msgstr ""
 
-#: config/tc-arm.c:24790
+#: config/tc-arm.c:29546
 msgid "literal referenced across section boundary"
 msgstr ""
 
-#: config/tc-arm.c:24867
+#: config/tc-arm.c:29626
 msgid "internal relocation (type: IMMEDIATE) not fixed up"
 msgstr ""
 
-#: config/tc-arm.c:24872
+#: config/tc-arm.c:29631
 msgid "ADRL used for a symbol not defined in the same file"
 msgstr ""
 
-#: config/tc-arm.c:24887
+#: config/tc-arm.c:29638
+#, c-format
+msgid "%s used for a symbol not defined in the same file"
+msgstr ""
+
+#: config/tc-arm.c:29654
 #, c-format
 msgid "undefined local label `%s'"
 msgstr ""
 
-#: config/tc-arm.c:24893
+#: config/tc-arm.c:29660
 msgid "internal_relocation (type: OFFSET_IMM) not fixed up"
 msgstr ""
 
-#: config/tc-arm.c:24915 config/tc-cris.c:4006 config/tc-csky.c:877
-#: config/tc-ft32.c:709 config/tc-mcore.c:1928 config/tc-microblaze.c:1998
-#: config/tc-mmix.c:2895 config/tc-moxie.c:825 config/tc-ns32k.c:2248
+#: config/tc-arm.c:29682 config/tc-cris.c:4006 config/tc-csky.c:877
+#: config/tc-ft32.c:709 config/tc-mcore.c:1928 config/tc-microblaze.c:1995
+#: config/tc-mmix.c:2894 config/tc-moxie.c:825 config/tc-ns32k.c:2248
 #: config/tc-score.c:7466
 msgid "<unknown>"
 msgstr ""
 
-#: config/tc-arm.c:25317
+#: config/tc-arm.c:30084
 #, c-format
 msgid "%s: unexpected function type: %d"
 msgstr ""
 
-#: config/tc-arm.c:25454
+#: config/tc-arm.c:30224
 msgid "use of old and new-style options to set CPU type"
 msgstr ""
 
-#: config/tc-arm.c:25473
+#: config/tc-arm.c:30243
 msgid "use of old and new-style options to set FPU type"
 msgstr ""
 
-#: config/tc-arm.c:25552
+#: config/tc-arm.c:30322
 msgid "hard-float conflicts with specified fpu"
 msgstr ""
 
-#: config/tc-arm.c:25744
+#: config/tc-arm.c:30513
 msgid "generate PIC code"
 msgstr ""
 
-#: config/tc-arm.c:25745
+#: config/tc-arm.c:30514
 msgid "assemble Thumb code"
 msgstr ""
 
-#: config/tc-arm.c:25746
+#: config/tc-arm.c:30515
 msgid "support ARM/Thumb interworking"
 msgstr ""
 
-#: config/tc-arm.c:25748
+#: config/tc-arm.c:30517
 msgid "code uses 32-bit program counter"
 msgstr ""
 
-#: config/tc-arm.c:25749
+#: config/tc-arm.c:30518
 msgid "code uses 26-bit program counter"
 msgstr ""
 
-#: config/tc-arm.c:25750
+#: config/tc-arm.c:30519
 msgid "floating point args are in fp regs"
 msgstr ""
 
-#: config/tc-arm.c:25752
+#: config/tc-arm.c:30521
 msgid "re-entrant code"
 msgstr ""
 
-#: config/tc-arm.c:25753
+#: config/tc-arm.c:30522
 msgid "code is ATPCS conformant"
 msgstr ""
 
 #. These are recognized by the assembler, but have no affect on code.
-#: config/tc-arm.c:25759
+#: config/tc-arm.c:30528
 msgid "use frame pointer"
 msgstr ""
 
-#: config/tc-arm.c:25760
+#: config/tc-arm.c:30529
 msgid "use stack size checking"
 msgstr ""
 
-#: config/tc-arm.c:25763
+#: config/tc-arm.c:30532
 msgid "do not warn on use of deprecated feature"
 msgstr ""
 
-#: config/tc-arm.c:25765
+#: config/tc-arm.c:30535
+msgid ""
+"warn about performance deprecated IT instructions in ARMv8-A and ARMv8-R"
+msgstr ""
+
+#: config/tc-arm.c:30539
 msgid "warn about symbols that match instruction names [default]"
 msgstr ""
 
-#: config/tc-arm.c:25766
+#: config/tc-arm.c:30540
 msgid "disable warnings about symobls that match instructions"
 msgstr ""
 
 #. DON'T add any new processors to this list -- we want the whole list
 #. to go away...  Add them to the processors table instead.
-#: config/tc-arm.c:25782 config/tc-arm.c:25783
+#: config/tc-arm.c:30556 config/tc-arm.c:30557
 msgid "use -mcpu=arm1"
 msgstr ""
 
-#: config/tc-arm.c:25784 config/tc-arm.c:25785
+#: config/tc-arm.c:30558 config/tc-arm.c:30559
 msgid "use -mcpu=arm2"
 msgstr ""
 
-#: config/tc-arm.c:25786 config/tc-arm.c:25787
+#: config/tc-arm.c:30560 config/tc-arm.c:30561
 msgid "use -mcpu=arm250"
 msgstr ""
 
-#: config/tc-arm.c:25788 config/tc-arm.c:25789
+#: config/tc-arm.c:30562 config/tc-arm.c:30563
 msgid "use -mcpu=arm3"
 msgstr ""
 
-#: config/tc-arm.c:25790 config/tc-arm.c:25791
+#: config/tc-arm.c:30564 config/tc-arm.c:30565
 msgid "use -mcpu=arm6"
 msgstr ""
 
-#: config/tc-arm.c:25792 config/tc-arm.c:25793
+#: config/tc-arm.c:30566 config/tc-arm.c:30567
 msgid "use -mcpu=arm600"
 msgstr ""
 
-#: config/tc-arm.c:25794 config/tc-arm.c:25795
+#: config/tc-arm.c:30568 config/tc-arm.c:30569
 msgid "use -mcpu=arm610"
 msgstr ""
 
-#: config/tc-arm.c:25796 config/tc-arm.c:25797
+#: config/tc-arm.c:30570 config/tc-arm.c:30571
 msgid "use -mcpu=arm620"
 msgstr ""
 
-#: config/tc-arm.c:25798 config/tc-arm.c:25799
+#: config/tc-arm.c:30572 config/tc-arm.c:30573
 msgid "use -mcpu=arm7"
 msgstr ""
 
-#: config/tc-arm.c:25800 config/tc-arm.c:25801
+#: config/tc-arm.c:30574 config/tc-arm.c:30575
 msgid "use -mcpu=arm70"
 msgstr ""
 
-#: config/tc-arm.c:25802 config/tc-arm.c:25803
+#: config/tc-arm.c:30576 config/tc-arm.c:30577
 msgid "use -mcpu=arm700"
 msgstr ""
 
-#: config/tc-arm.c:25804 config/tc-arm.c:25805
+#: config/tc-arm.c:30578 config/tc-arm.c:30579
 msgid "use -mcpu=arm700i"
 msgstr ""
 
-#: config/tc-arm.c:25806 config/tc-arm.c:25807
+#: config/tc-arm.c:30580 config/tc-arm.c:30581
 msgid "use -mcpu=arm710"
 msgstr ""
 
-#: config/tc-arm.c:25808 config/tc-arm.c:25809
+#: config/tc-arm.c:30582 config/tc-arm.c:30583
 msgid "use -mcpu=arm710c"
 msgstr ""
 
-#: config/tc-arm.c:25810 config/tc-arm.c:25811
+#: config/tc-arm.c:30584 config/tc-arm.c:30585
 msgid "use -mcpu=arm720"
 msgstr ""
 
-#: config/tc-arm.c:25812 config/tc-arm.c:25813
+#: config/tc-arm.c:30586 config/tc-arm.c:30587
 msgid "use -mcpu=arm7d"
 msgstr ""
 
-#: config/tc-arm.c:25814 config/tc-arm.c:25815
+#: config/tc-arm.c:30588 config/tc-arm.c:30589
 msgid "use -mcpu=arm7di"
 msgstr ""
 
-#: config/tc-arm.c:25816 config/tc-arm.c:25817
+#: config/tc-arm.c:30590 config/tc-arm.c:30591
 msgid "use -mcpu=arm7m"
 msgstr ""
 
-#: config/tc-arm.c:25818 config/tc-arm.c:25819
+#: config/tc-arm.c:30592 config/tc-arm.c:30593
 msgid "use -mcpu=arm7dm"
 msgstr ""
 
-#: config/tc-arm.c:25820 config/tc-arm.c:25821
+#: config/tc-arm.c:30594 config/tc-arm.c:30595
 msgid "use -mcpu=arm7dmi"
 msgstr ""
 
-#: config/tc-arm.c:25822 config/tc-arm.c:25823
+#: config/tc-arm.c:30596 config/tc-arm.c:30597
 msgid "use -mcpu=arm7100"
 msgstr ""
 
-#: config/tc-arm.c:25824 config/tc-arm.c:25825
+#: config/tc-arm.c:30598 config/tc-arm.c:30599
 msgid "use -mcpu=arm7500"
 msgstr ""
 
-#: config/tc-arm.c:25826 config/tc-arm.c:25827
+#: config/tc-arm.c:30600 config/tc-arm.c:30601
 msgid "use -mcpu=arm7500fe"
 msgstr ""
 
-#: config/tc-arm.c:25828 config/tc-arm.c:25829 config/tc-arm.c:25830
-#: config/tc-arm.c:25831
+#: config/tc-arm.c:30602 config/tc-arm.c:30603 config/tc-arm.c:30604
+#: config/tc-arm.c:30605
 msgid "use -mcpu=arm7tdmi"
 msgstr ""
 
-#: config/tc-arm.c:25832 config/tc-arm.c:25833
+#: config/tc-arm.c:30606 config/tc-arm.c:30607
 msgid "use -mcpu=arm710t"
 msgstr ""
 
-#: config/tc-arm.c:25834 config/tc-arm.c:25835
+#: config/tc-arm.c:30608 config/tc-arm.c:30609
 msgid "use -mcpu=arm720t"
 msgstr ""
 
-#: config/tc-arm.c:25836 config/tc-arm.c:25837
+#: config/tc-arm.c:30610 config/tc-arm.c:30611
 msgid "use -mcpu=arm740t"
 msgstr ""
 
-#: config/tc-arm.c:25838 config/tc-arm.c:25839
+#: config/tc-arm.c:30612 config/tc-arm.c:30613
 msgid "use -mcpu=arm8"
 msgstr ""
 
-#: config/tc-arm.c:25840 config/tc-arm.c:25841
+#: config/tc-arm.c:30614 config/tc-arm.c:30615
 msgid "use -mcpu=arm810"
 msgstr ""
 
-#: config/tc-arm.c:25842 config/tc-arm.c:25843
+#: config/tc-arm.c:30616 config/tc-arm.c:30617
 msgid "use -mcpu=arm9"
 msgstr ""
 
-#: config/tc-arm.c:25844 config/tc-arm.c:25845
+#: config/tc-arm.c:30618 config/tc-arm.c:30619
 msgid "use -mcpu=arm9tdmi"
 msgstr ""
 
-#: config/tc-arm.c:25846 config/tc-arm.c:25847
+#: config/tc-arm.c:30620 config/tc-arm.c:30621
 msgid "use -mcpu=arm920"
 msgstr ""
 
-#: config/tc-arm.c:25848 config/tc-arm.c:25849
+#: config/tc-arm.c:30622 config/tc-arm.c:30623
 msgid "use -mcpu=arm940"
 msgstr ""
 
-#: config/tc-arm.c:25850
+#: config/tc-arm.c:30624
 msgid "use -mcpu=strongarm"
 msgstr ""
 
-#: config/tc-arm.c:25852
+#: config/tc-arm.c:30626
 msgid "use -mcpu=strongarm110"
 msgstr ""
 
-#: config/tc-arm.c:25854
+#: config/tc-arm.c:30628
 msgid "use -mcpu=strongarm1100"
 msgstr ""
 
-#: config/tc-arm.c:25856
+#: config/tc-arm.c:30630
 msgid "use -mcpu=strongarm1110"
 msgstr ""
 
-#: config/tc-arm.c:25857
+#: config/tc-arm.c:30631
 msgid "use -mcpu=xscale"
 msgstr ""
 
-#: config/tc-arm.c:25858
+#: config/tc-arm.c:30632
 msgid "use -mcpu=iwmmxt"
 msgstr ""
 
-#: config/tc-arm.c:25859
+#: config/tc-arm.c:30633
 msgid "use -mcpu=all"
 msgstr ""
 
 #. Architecture variants -- don't add any more to this list either.
-#: config/tc-arm.c:25862 config/tc-arm.c:25863
+#: config/tc-arm.c:30636 config/tc-arm.c:30637
 msgid "use -march=armv2"
 msgstr ""
 
-#: config/tc-arm.c:25864 config/tc-arm.c:25865
+#: config/tc-arm.c:30638 config/tc-arm.c:30639
 msgid "use -march=armv2a"
 msgstr ""
 
-#: config/tc-arm.c:25866 config/tc-arm.c:25867
+#: config/tc-arm.c:30640 config/tc-arm.c:30641
 msgid "use -march=armv3"
 msgstr ""
 
-#: config/tc-arm.c:25868 config/tc-arm.c:25869
+#: config/tc-arm.c:30642 config/tc-arm.c:30643
 msgid "use -march=armv3m"
 msgstr ""
 
-#: config/tc-arm.c:25870 config/tc-arm.c:25871
+#: config/tc-arm.c:30644 config/tc-arm.c:30645
 msgid "use -march=armv4"
 msgstr ""
 
-#: config/tc-arm.c:25872 config/tc-arm.c:25873
+#: config/tc-arm.c:30646 config/tc-arm.c:30647
 msgid "use -march=armv4t"
 msgstr ""
 
-#: config/tc-arm.c:25874 config/tc-arm.c:25875
+#: config/tc-arm.c:30648 config/tc-arm.c:30649
 msgid "use -march=armv5"
 msgstr ""
 
-#: config/tc-arm.c:25876 config/tc-arm.c:25877
+#: config/tc-arm.c:30650 config/tc-arm.c:30651
 msgid "use -march=armv5t"
 msgstr ""
 
-#: config/tc-arm.c:25878 config/tc-arm.c:25879
+#: config/tc-arm.c:30652 config/tc-arm.c:30653
 msgid "use -march=armv5te"
 msgstr ""
 
 #. Floating point variants -- don't add any more to this list either.
-#: config/tc-arm.c:25882
+#: config/tc-arm.c:30656
 msgid "use -mfpu=fpe"
 msgstr ""
 
-#: config/tc-arm.c:25883
+#: config/tc-arm.c:30657
 msgid "use -mfpu=fpa10"
 msgstr ""
 
-#: config/tc-arm.c:25884
+#: config/tc-arm.c:30658
 msgid "use -mfpu=fpa11"
 msgstr ""
 
-#: config/tc-arm.c:25886
+#: config/tc-arm.c:30660
 msgid "use either -mfpu=softfpa or -mfpu=softvfp"
 msgstr ""
 
-#: config/tc-arm.c:26647
+#: config/tc-arm.c:31707
 msgid "extension does not apply to the base architecture"
 msgstr ""
 
-#: config/tc-arm.c:26676
+#: config/tc-arm.c:31736
 msgid "architectural extensions must be specified in alphabetical order"
 msgstr ""
 
-#: config/tc-arm.c:26797 config/tc-arm.c:27691
+#: config/tc-arm.c:31875 config/tc-arm.c:32816
 #, c-format
 msgid "unknown floating point format `%s'\n"
 msgstr ""
 
-#: config/tc-arm.c:26813
+#: config/tc-arm.c:31891
 #, c-format
 msgid "unknown floating point abi `%s'\n"
 msgstr ""
 
-#: config/tc-arm.c:26829
+#: config/tc-arm.c:31907
 #, c-format
 msgid "unknown EABI `%s'\n"
 msgstr ""
 
-#: config/tc-arm.c:26849
+#: config/tc-arm.c:31927
 #, c-format
 msgid "unknown implicit IT mode `%s', should be arm, thumb, always, or never."
 msgstr ""
 
-#: config/tc-arm.c:26872 config/tc-metag.c:5913
+#: config/tc-arm.c:31950 config/tc-metag.c:5913
 msgid "<fpu name>\t  assemble for FPU architecture <fpu name>"
 msgstr ""
 
-#: config/tc-arm.c:26874
+#: config/tc-arm.c:31952
 msgid "<abi>\t  assemble for floating point ABI <abi>"
 msgstr ""
 
-#: config/tc-arm.c:26877
+#: config/tc-arm.c:31955
 msgid "<ver>\t\t  assemble for eabi version <ver>"
 msgstr ""
 
-#: config/tc-arm.c:26880
+#: config/tc-arm.c:31958
 msgid "<mode>\t  controls implicit insertion of IT instructions"
 msgstr ""
 
-#: config/tc-arm.c:26882
+#: config/tc-arm.c:31960
 msgid "\t\t\t  TI CodeComposer Studio syntax compatibility mode"
 msgstr ""
 
-#: config/tc-arm.c:26990
+#: config/tc-arm.c:31963
+msgid ""
+"[ieee|alternative]\n"
+"                          set the encoding for half precision floating point "
+"numbers to IEEE\n"
+"                          or Arm alternative format."
+msgstr ""
+
+#: config/tc-arm.c:32074
 #, c-format
 msgid " ARM-specific assembler options:\n"
 msgstr ""
 
-#: config/tc-arm.c:27010
+#: config/tc-arm.c:32094
 #, c-format
 msgid "  --fix-v4bx              Allow BX in ARMv4 code\n"
 msgstr ""
 
-#: config/tc-arm.c:27014
+#: config/tc-arm.c:32098
 #, c-format
 msgid "  --fdpic                 generate an FDPIC object file\n"
 msgstr ""
 
-#: config/tc-arm.c:27318
+#: config/tc-arm.c:32404
 msgid "no architecture contains all the instructions used\n"
 msgstr ""
 
-#: config/tc-arm.c:27632
+#: config/tc-arm.c:32756
 #, c-format
 msgid ""
 "architectural extension `%s' is not allowed for the current base architecture"
 msgstr ""
 
-#: config/tc-arm.c:27655
+#: config/tc-arm.c:32779
 #, c-format
 msgid "unknown architecture extension `%s'\n"
 msgstr ""
@@ -5098,11 +5408,11 @@ msgstr ""
 msgid "constant out of 8-bit range: %d"
 msgstr ""
 
-#: config/tc-avr.c:954 config/tc-score.c:1199 read.c:3797
+#: config/tc-avr.c:954 config/tc-score.c:1198 read.c:3798
 msgid "illegal expression"
 msgstr ""
 
-#: config/tc-avr.c:983 config/tc-avr.c:1993 config/tc-pru.c:1882
+#: config/tc-avr.c:983 config/tc-avr.c:1993 config/tc-pru.c:1883
 msgid "`)' required"
 msgstr ""
 
@@ -5122,7 +5432,7 @@ msgstr ""
 msgid "register number above 15 required"
 msgstr ""
 
-#: config/tc-avr.c:1119 config/tc-csky.c:5882 config/tc-csky.c:5916
+#: config/tc-avr.c:1119 config/tc-csky.c:5885 config/tc-csky.c:5919
 msgid "even register number required"
 msgstr ""
 
@@ -5176,7 +5486,7 @@ msgid "skipping two-word instruction"
 msgstr ""
 
 #: config/tc-avr.c:1602 config/tc-avr.c:1618 config/tc-avr.c:1749
-#: config/tc-msp430.c:4300 config/tc-msp430.c:4319
+#: config/tc-msp430.c:4486 config/tc-msp430.c:4505
 #, c-format
 msgid "odd address operand: %ld"
 msgstr ""
@@ -5184,7 +5494,7 @@ msgstr ""
 #: config/tc-avr.c:1610 config/tc-avr.c:1629 config/tc-avr.c:1647
 #: config/tc-avr.c:1658 config/tc-avr.c:1674 config/tc-avr.c:1682
 #: config/tc-avr.c:1777 config/tc-avr.c:1784 config/tc-d10v.c:503
-#: config/tc-d30v.c:553 config/tc-msp430.c:4308 config/tc-msp430.c:4326
+#: config/tc-d30v.c:553 config/tc-msp430.c:4494 config/tc-msp430.c:4512
 #, c-format
 msgid "operand out of range: %ld"
 msgstr ""
@@ -5194,8 +5504,8 @@ msgstr ""
 msgid "operand out of range: 0x%lx"
 msgstr ""
 
-#: config/tc-avr.c:1770 config/tc-d10v.c:1590 config/tc-d30v.c:2034
-#: config/tc-msp430.c:4397
+#: config/tc-avr.c:1770 config/tc-d10v.c:1593 config/tc-d30v.c:2014
+#: config/tc-msp430.c:4583
 #, c-format
 msgid "line %d: unknown relocation type: 0x%x"
 msgstr ""
@@ -5206,10 +5516,10 @@ msgstr ""
 
 #. xgettext:c-format.
 #: config/tc-avr.c:1853 config/tc-bfin.c:824 config/tc-d10v.c:1462
-#: config/tc-d30v.c:1771 config/tc-metag.c:7022 config/tc-mn10200.c:779
-#: config/tc-mn10300.c:2177 config/tc-msp430.c:4445 config/tc-ppc.c:7533
+#: config/tc-d30v.c:1771 config/tc-metag.c:7019 config/tc-mn10200.c:779
+#: config/tc-mn10300.c:2177 config/tc-msp430.c:4631 config/tc-ppc.c:7949
 #: config/tc-spu.c:894 config/tc-spu.c:1105 config/tc-v850.c:3367
-#: config/tc-z80.c:2075
+#: config/tc-z80.c:3423
 #, c-format
 msgid "reloc %d not supported by object file format"
 msgstr ""
@@ -5235,7 +5545,7 @@ msgstr ""
 msgid "garbage at end of line"
 msgstr ""
 
-#: config/tc-avr.c:2042 config/tc-pru.c:1914
+#: config/tc-avr.c:2042 config/tc-pru.c:1915
 #, c-format
 msgid "illegal %s relocation size: %d"
 msgstr ""
@@ -5334,6 +5644,28 @@ msgstr ""
 msgid "rel too far BFD_RELOC_16"
 msgstr ""
 
+#: config/tc-bpf.c:143
+#, c-format
+msgid ""
+"\n"
+"BPF options:\n"
+msgstr ""
+
+#: config/tc-bpf.c:144
+#, c-format
+msgid ""
+"  --EL\t\t\tgenerate code for a little endian machine\n"
+"  --EB\t\t\tgenerate code for a big endian machine\n"
+msgstr ""
+
+#: config/tc-bpf.c:279
+msgid "convert_frag called"
+msgstr ""
+
+#: config/tc-bpf.c:286 config/tc-sparc.h:68 config/tc-z80.h:56
+msgid "estimate_size_before_relax called"
+msgstr ""
+
 #: config/tc-cr16.c:164
 msgid "using a bit field width of zero"
 msgstr ""
@@ -5365,7 +5697,7 @@ msgstr ""
 msgid "internal error: reloc %d (`%s') not supported by object file format"
 msgstr ""
 
-#: config/tc-cr16.c:696 config/tc-i386.c:11722 config/tc-s390.c:2119
+#: config/tc-cr16.c:696 config/tc-i386.c:12972 config/tc-s390.c:2121
 msgid "GOT already in symbol table"
 msgstr ""
 
@@ -5568,7 +5900,7 @@ msgstr ""
 msgid "internal inconsistency problem in %s: fr_symbol %lx"
 msgstr ""
 
-#: config/tc-cris.c:554 config/tc-m68hc11.c:3897 config/tc-msp430.c:4795
+#: config/tc-cris.c:554 config/tc-m68hc11.c:3897 config/tc-msp430.c:4981
 #, c-format
 msgid "internal inconsistency problem in %s: resolved symbol"
 msgstr ""
@@ -5832,51 +6164,47 @@ msgid ""
 "\t\t\t\tare v0_v10, v10, v32 and common_v10_v32.\n"
 msgstr ""
 
-#: config/tc-cris.c:4059
-msgid "Invalid relocation"
-msgstr ""
-
-#: config/tc-cris.c:4096
+#: config/tc-cris.c:4088
 msgid "Invalid pc-relative relocation"
 msgstr ""
 
-#: config/tc-cris.c:4141
+#: config/tc-cris.c:4133
 #, c-format
 msgid "Adjusted signed .word (%ld) overflows: `switch'-statement too large."
 msgstr ""
 
-#: config/tc-cris.c:4171
+#: config/tc-cris.c:4163
 #, c-format
 msgid ".syntax %s requires command-line option `--underscore'"
 msgstr ""
 
-#: config/tc-cris.c:4180
+#: config/tc-cris.c:4172
 #, c-format
 msgid ".syntax %s requires command-line option `--no-underscore'"
 msgstr ""
 
-#: config/tc-cris.c:4217
+#: config/tc-cris.c:4209
 msgid "Unknown .syntax operand"
 msgstr ""
 
-#: config/tc-cris.c:4227
+#: config/tc-cris.c:4219
 msgid "Pseudodirective .file is only valid when generating ELF"
 msgstr ""
 
-#: config/tc-cris.c:4239
+#: config/tc-cris.c:4231
 msgid "Pseudodirective .loc is only valid when generating ELF"
 msgstr ""
 
-#: config/tc-cris.c:4254
+#: config/tc-cris.c:4246
 #, c-format
 msgid "internal inconsistency problem: %s called for %d bytes"
 msgstr ""
 
-#: config/tc-cris.c:4406
+#: config/tc-cris.c:4398
 msgid "unknown operand to .arch"
 msgstr ""
 
-#: config/tc-cris.c:4415
+#: config/tc-cris.c:4407
 msgid ".arch <arch> requires a matching --march=... option"
 msgstr ""
 
@@ -5976,8 +6304,8 @@ msgstr ""
 
 #. Variable not in small data read only segment accessed
 #. using small data read only anchor.
-#: config/tc-csky.c:874 config/tc-mcore.c:1923 config/tc-microblaze.c:1990
-#: config/tc-microblaze.c:2292 config/tc-microblaze.c:2315
+#: config/tc-csky.c:874 config/tc-mcore.c:1923 config/tc-microblaze.c:1987
+#: config/tc-microblaze.c:2288 config/tc-microblaze.c:2311
 msgid "unknown"
 msgstr ""
 
@@ -6188,58 +6516,58 @@ msgstr ""
 msgid "more than 65K literal pools"
 msgstr ""
 
-#: config/tc-csky.c:1804 read.c:3558 read.c:4866
+#: config/tc-csky.c:1804 read.c:3558 read.c:4867
 #, c-format
 msgid "bad floating literal: %s"
 msgstr ""
 
-#: config/tc-csky.c:1931 config/tc-mcore.c:742
+#: config/tc-csky.c:1932 config/tc-mcore.c:742
 msgid "missing ']'"
 msgstr ""
 
-#: config/tc-csky.c:1950 config/tc-mips.c:14106 config/tc-mips.c:14170
-#: config/tc-mips.c:14181 config/tc-score.c:2691 config/tc-score.c:2737
+#: config/tc-csky.c:1951 config/tc-mips.c:14328 config/tc-mips.c:14392
+#: config/tc-mips.c:14403 config/tc-score.c:2690 config/tc-score.c:2736
 msgid "unrecognized opcode"
 msgstr ""
 
-#: config/tc-csky.c:3192 config/tc-mcore.c:1163
+#: config/tc-csky.c:3193 config/tc-mcore.c:1163
 msgid "translating mgeni to movi"
 msgstr ""
 
-#: config/tc-csky.c:4785 config/tc-tilegx.c:1458 config/tc-tilepro.c:1320
+#: config/tc-csky.c:4788 config/tc-tilegx.c:1455 config/tc-tilepro.c:1317
 #, c-format
 msgid "unsupported BFD relocation size %d"
 msgstr ""
 
-#: config/tc-csky.c:5405
+#: config/tc-csky.c:5408
 msgid "second operand must be 4"
 msgstr ""
 
-#: config/tc-csky.c:5429 config/tc-mcore.c:1526
+#: config/tc-csky.c:5432 config/tc-mcore.c:1526
 msgid "second operand must be 1"
 msgstr ""
 
-#: config/tc-csky.c:5502 config/tc-xtensa.c:1984
+#: config/tc-csky.c:5505 config/tc-xtensa.c:1974
 msgid "register number out of range"
 msgstr ""
 
-#: config/tc-csky.c:5512
+#: config/tc-csky.c:5515
 msgid "64-bit operator src/dst register must be less than 15"
 msgstr ""
 
-#: config/tc-csky.c:7175
+#: config/tc-csky.c:7178
 msgid "the first operand must be a symbol"
 msgstr ""
 
-#: config/tc-csky.c:7184
+#: config/tc-csky.c:7187
 msgid "missing stack size"
 msgstr ""
 
-#: config/tc-csky.c:7197 config/tc-score.c:4242
+#: config/tc-csky.c:7200 config/tc-score.c:4241
 msgid "value not in range [0, 0xffffffff]"
 msgstr ""
 
-#: config/tc-csky.c:7207 config/tc-mcore.c:781
+#: config/tc-csky.c:7210 config/tc-mcore.c:781
 msgid "operand must be a constant"
 msgstr ""
 
@@ -6367,16 +6695,16 @@ msgstr ""
 msgid "line %d: rep or repi must include at least 4 instructions"
 msgstr ""
 
-#: config/tc-d10v.c:1759
+#: config/tc-d10v.c:1762
 msgid "can't find previous opcode "
 msgstr ""
 
-#: config/tc-d10v.c:1771
+#: config/tc-d10v.c:1774
 #, c-format
 msgid "could not assemble: %s"
 msgstr ""
 
-#: config/tc-d10v.c:1786 config/tc-d10v.c:1808 config/tc-d30v.c:1744
+#: config/tc-d10v.c:1789 config/tc-d10v.c:1811 config/tc-d30v.c:1744
 msgid "Unable to mix instructions as specified"
 msgstr ""
 
@@ -6498,32 +6826,7 @@ msgstr ""
 msgid "value too large to fit in %d bits"
 msgstr ""
 
-#: config/tc-d30v.c:1923
-#, c-format
-msgid "line %d: unable to place address of symbol '%s' into a byte"
-msgstr ""
-
-#: config/tc-d30v.c:1926
-#, c-format
-msgid "line %d: unable to place value %lx into a byte"
-msgstr ""
-
-#: config/tc-d30v.c:1934
-#, c-format
-msgid "line %d: unable to place address of symbol '%s' into a short"
-msgstr ""
-
-#: config/tc-d30v.c:1937
-#, c-format
-msgid "line %d: unable to place value %lx into a short"
-msgstr ""
-
-#: config/tc-d30v.c:1945
-#, c-format
-msgid "line %d: unable to place address of symbol '%s' into a quad"
-msgstr ""
-
-#: config/tc-d30v.c:2053 config/tc-pru.c:216 config/tc-pru.c:332
+#: config/tc-d30v.c:2033 config/tc-pru.c:216 config/tc-pru.c:332
 #, c-format
 msgid "Alignment too large: %d assumed"
 msgstr ""
@@ -6536,18 +6839,18 @@ msgstr ""
 msgid ".endfunc missing for previous .proc"
 msgstr ""
 
-#: config/tc-dlx.c:295 config/tc-mips.c:3664 config/tc-nios2.c:3639
-#: config/tc-nios2.c:3653 config/tc-nios2.c:3668 config/tc-pru.c:1573
-#: config/tc-pru.c:1587 config/tc-riscv.c:718
+#: config/tc-dlx.c:295 config/tc-mips.c:3703 config/tc-nios2.c:3637
+#: config/tc-nios2.c:3651 config/tc-nios2.c:3666 config/tc-pru.c:1574
+#: config/tc-pru.c:1588 config/tc-riscv.c:726
 #, c-format
 msgid "internal error: can't hash `%s': %s\n"
 msgstr ""
 
 #. Probably a memory allocation problem?  Give up now.
-#: config/tc-dlx.c:302 config/tc-hppa.c:8271 config/tc-nios2.c:1440
-#: config/tc-nios2.c:3642 config/tc-nios2.c:3656 config/tc-nios2.c:3671
-#: config/tc-pru.c:1576 config/tc-pru.c:1590 config/tc-riscv.c:721
-#: config/tc-riscv.c:733 config/tc-sparc.c:1008
+#: config/tc-dlx.c:302 config/tc-hppa.c:8269 config/tc-nios2.c:1438
+#: config/tc-nios2.c:3640 config/tc-nios2.c:3654 config/tc-nios2.c:3669
+#: config/tc-pru.c:1577 config/tc-pru.c:1591 config/tc-riscv.c:729
+#: config/tc-riscv.c:741 config/tc-sparc.c:1008
 msgid "Broken assembler.  No assembly attempted."
 msgstr ""
 
@@ -6571,7 +6874,7 @@ msgstr ""
 msgid "Invalid expression after %%%%\n"
 msgstr ""
 
-#: config/tc-dlx.c:703 config/tc-tic4x.c:2473
+#: config/tc-dlx.c:703 config/tc-tic4x.c:2470
 #, c-format
 msgid "Unknown opcode `%s'."
 msgstr ""
@@ -6608,16 +6911,16 @@ msgstr ""
 msgid "Invalid operands"
 msgstr ""
 
-#: config/tc-dlx.c:1118
+#: config/tc-dlx.c:1108
 #, c-format
 msgid "label \"$%d\" redefined"
 msgstr ""
 
-#: config/tc-dlx.c:1156
+#: config/tc-dlx.c:1146
 msgid "Invalid expression after # number\n"
 msgstr ""
 
-#: config/tc-dlx.c:1199 config/tc-m32r.c:2276 config/tc-nds32.c:7882
+#: config/tc-dlx.c:1189 config/tc-m32r.c:2273 config/tc-nds32.c:7879
 #: config/tc-sparc.c:4020
 #, c-format
 msgid "internal error: can't export reloc type %d (`%s')"
@@ -6628,32 +6931,32 @@ msgstr ""
 msgid "EPIPHANY specific command line options:\n"
 msgstr ""
 
-#: config/tc-epiphany.c:365
+#: config/tc-epiphany.c:367
 msgid "register number too large for push/pop"
 msgstr ""
 
-#: config/tc-epiphany.c:369
+#: config/tc-epiphany.c:371
 msgid "register is out of order"
 msgstr ""
 
-#: config/tc-epiphany.c:380 config/tc-m68k.c:5906 config/tc-m68k.c:5935
+#: config/tc-epiphany.c:382 config/tc-m68k.c:5906 config/tc-m68k.c:5935
 msgid "bad register list"
 msgstr ""
 
-#: config/tc-epiphany.c:383
+#: config/tc-epiphany.c:385
 msgid "malformed reglist in push/pop"
 msgstr ""
 
 #. Checks for behavioral restrictions on LD/ST instructions.
-#: config/tc-epiphany.c:429
+#: config/tc-epiphany.c:431
 msgid "destination register modified by displacement-post-modified address"
 msgstr ""
 
-#: config/tc-epiphany.c:430
+#: config/tc-epiphany.c:432
 msgid "ldrd/strd requires even:odd register pair"
 msgstr ""
 
-#: config/tc-epiphany.c:813 config/tc-m32r.c:1784
+#: config/tc-epiphany.c:820 config/tc-m32r.c:1784
 msgid "Addend to unresolved symbol not on word boundary."
 msgstr ""
 
@@ -7001,9 +7304,9 @@ msgstr ""
 
 #. This seems more sane than saying "too many operands".  We'll
 #. get here only if the trailing trash starts with a comma.
-#: config/tc-h8300.c:1816 config/tc-mips.c:14122 config/tc-mips.c:14190
-#: config/tc-mmix.c:479 config/tc-mmix.c:491 config/tc-mmix.c:2533
-#: config/tc-mmix.c:2557 config/tc-mmix.c:2830
+#: config/tc-h8300.c:1816 config/tc-mips.c:14344 config/tc-mips.c:14412
+#: config/tc-mmix.c:479 config/tc-mmix.c:491 config/tc-mmix.c:2532
+#: config/tc-mmix.c:2556 config/tc-mmix.c:2829
 msgid "invalid operands"
 msgstr ""
 
@@ -7011,7 +7314,7 @@ msgstr ""
 msgid "operand/size mis-match"
 msgstr ""
 
-#: config/tc-h8300.c:1947 config/tc-sh.c:2557 config/tc-z8k.c:1233
+#: config/tc-h8300.c:1947 config/tc-sh.c:2551 config/tc-z8k.c:1233
 msgid "unknown opcode"
 msgstr ""
 
@@ -7069,8 +7372,8 @@ msgstr ""
 msgid "Difference of symbols in different sections is not supported"
 msgstr ""
 
-#: config/tc-h8300.c:2325 config/tc-mcore.c:2204 config/tc-microblaze.c:2485
-#: config/tc-pj.c:491 config/tc-sh.c:3906 config/tc-tic6x.c:4520
+#: config/tc-h8300.c:2325 config/tc-mcore.c:2204 config/tc-microblaze.c:2481
+#: config/tc-pj.c:491 config/tc-sh.c:3900 config/tc-tic6x.c:4520
 #: config/tc-xc16x.c:315
 #, c-format
 msgid "Cannot represent relocation type %s"
@@ -7284,11 +7587,11 @@ msgstr ""
 msgid "Immediates %d and %d will give undefined behavior."
 msgstr ""
 
-#: config/tc-hppa.c:5771 config/tc-hppa.c:6955 config/tc-hppa.c:7010
+#: config/tc-hppa.c:5771 config/tc-hppa.c:6954 config/tc-hppa.c:7009
 msgid "Missing function name for .PROC (corrupted label chain)"
 msgstr ""
 
-#: config/tc-hppa.c:5774 config/tc-hppa.c:7013
+#: config/tc-hppa.c:5774 config/tc-hppa.c:7012
 msgid "Missing function name for .PROC"
 msgstr ""
 
@@ -7301,985 +7604,1037 @@ msgstr ""
 msgid "Invalid .CALL argument: %s"
 msgstr ""
 
-#: config/tc-hppa.c:6070
+#: config/tc-hppa.c:6069
 msgid ".callinfo is not within a procedure definition"
 msgstr ""
 
-#: config/tc-hppa.c:6088
+#: config/tc-hppa.c:6087
 #, c-format
 msgid "FRAME parameter must be a multiple of 8: %d\n"
 msgstr ""
 
-#: config/tc-hppa.c:6105
+#: config/tc-hppa.c:6104
 msgid "Value for ENTRY_GR must be in the range 3..18\n"
 msgstr ""
 
-#: config/tc-hppa.c:6116
+#: config/tc-hppa.c:6115
 msgid "Value for ENTRY_FR must be in the range 12..21\n"
 msgstr ""
 
-#: config/tc-hppa.c:6125
+#: config/tc-hppa.c:6124
 msgid "Value for ENTRY_SR must be 3\n"
 msgstr ""
 
-#: config/tc-hppa.c:6174
+#: config/tc-hppa.c:6173
 #, c-format
 msgid "Invalid .CALLINFO argument: %s"
 msgstr ""
 
-#: config/tc-hppa.c:6285
+#: config/tc-hppa.c:6284
 msgid "The .ENTER pseudo-op is not supported"
 msgstr ""
 
-#: config/tc-hppa.c:6301
+#: config/tc-hppa.c:6300
 msgid "Misplaced .entry. Ignored."
 msgstr ""
 
-#: config/tc-hppa.c:6305
+#: config/tc-hppa.c:6304
 msgid "Missing .callinfo."
 msgstr ""
 
-#: config/tc-hppa.c:6369
+#: config/tc-hppa.c:6368
 msgid ".REG expression must be a register"
 msgstr ""
 
-#: config/tc-hppa.c:6385
+#: config/tc-hppa.c:6384
 msgid "bad or irreducible absolute expression; zero assumed"
 msgstr ""
 
-#: config/tc-hppa.c:6396
+#: config/tc-hppa.c:6395
 msgid ".REG must use a label"
 msgstr ""
 
-#: config/tc-hppa.c:6398
+#: config/tc-hppa.c:6397
 msgid ".EQU must use a label"
 msgstr ""
 
-#: config/tc-hppa.c:6454
+#: config/tc-hppa.c:6453
 #, c-format
 msgid "Symbol '%s' could not be created."
 msgstr ""
 
-#: config/tc-hppa.c:6504
+#: config/tc-hppa.c:6503
 msgid ".EXIT must appear within a procedure"
 msgstr ""
 
-#: config/tc-hppa.c:6508
+#: config/tc-hppa.c:6507
 msgid "Missing .callinfo"
 msgstr ""
 
-#: config/tc-hppa.c:6512
+#: config/tc-hppa.c:6511
 msgid "No .ENTRY for this .EXIT"
 msgstr ""
 
-#: config/tc-hppa.c:6552
+#: config/tc-hppa.c:6551
 #, c-format
 msgid "Using ENTRY rather than CODE in export directive for %s"
 msgstr ""
 
-#: config/tc-hppa.c:6671
+#: config/tc-hppa.c:6670
 #, c-format
 msgid "Undefined .EXPORT/.IMPORT argument (ignored): %s"
 msgstr ""
 
-#: config/tc-hppa.c:6694
+#: config/tc-hppa.c:6693
 #, c-format
 msgid "Cannot define export symbol: %s\n"
 msgstr ""
 
-#: config/tc-hppa.c:6785
+#: config/tc-hppa.c:6784
 msgid "Missing label name on .LABEL"
 msgstr ""
 
-#: config/tc-hppa.c:6790
+#: config/tc-hppa.c:6789
 msgid "extra .LABEL arguments ignored."
 msgstr ""
 
-#: config/tc-hppa.c:6806
+#: config/tc-hppa.c:6805
 msgid "The .LEAVE pseudo-op is not supported"
 msgstr ""
 
-#: config/tc-hppa.c:6844
+#: config/tc-hppa.c:6843
 msgid "Unrecognized .LEVEL argument\n"
 msgstr ""
 
-#: config/tc-hppa.c:6877
+#: config/tc-hppa.c:6876
 #, c-format
 msgid "Cannot define static symbol: %s\n"
 msgstr ""
 
-#: config/tc-hppa.c:6909
+#: config/tc-hppa.c:6908
 msgid "Nested procedures"
 msgstr ""
 
-#: config/tc-hppa.c:6919
+#: config/tc-hppa.c:6918
 msgid "Cannot allocate unwind descriptor\n"
 msgstr ""
 
-#: config/tc-hppa.c:7017
+#: config/tc-hppa.c:7016
 msgid "misplaced .procend"
 msgstr ""
 
-#: config/tc-hppa.c:7020
+#: config/tc-hppa.c:7019
 msgid "Missing .callinfo for this procedure"
 msgstr ""
 
-#: config/tc-hppa.c:7023
+#: config/tc-hppa.c:7022
 msgid "Missing .EXIT for a .ENTRY"
 msgstr ""
 
-#: config/tc-hppa.c:7060
+#: config/tc-hppa.c:7059
 msgid "Not in a space.\n"
 msgstr ""
 
-#: config/tc-hppa.c:7063
+#: config/tc-hppa.c:7062
 msgid "Not in a subspace.\n"
 msgstr ""
 
-#: config/tc-hppa.c:7151
+#: config/tc-hppa.c:7150
 msgid "Invalid .SPACE argument"
 msgstr ""
 
-#: config/tc-hppa.c:7197
+#: config/tc-hppa.c:7196
 msgid "Can't change spaces within a procedure definition. Ignored"
 msgstr ""
 
-#: config/tc-hppa.c:7322
+#: config/tc-hppa.c:7321
 #, c-format
 msgid "Undefined space: '%s' Assuming space number = 0."
 msgstr ""
 
-#: config/tc-hppa.c:7345
+#: config/tc-hppa.c:7344
 msgid "Must be in a space before changing or declaring subspaces.\n"
 msgstr ""
 
-#: config/tc-hppa.c:7349
+#: config/tc-hppa.c:7348
 msgid "Can't change subspaces within a procedure definition. Ignored"
 msgstr ""
 
-#: config/tc-hppa.c:7383
+#: config/tc-hppa.c:7382
 msgid "Parameters of an existing subspace can't be modified"
 msgstr ""
 
-#: config/tc-hppa.c:7434
+#: config/tc-hppa.c:7433
 msgid "Alignment must be a power of 2"
 msgstr ""
 
-#: config/tc-hppa.c:7481
+#: config/tc-hppa.c:7480
 msgid "FIRST not supported as a .SUBSPACE argument"
 msgstr ""
 
-#: config/tc-hppa.c:7483
+#: config/tc-hppa.c:7482
 msgid "Invalid .SUBSPACE argument"
 msgstr ""
 
-#: config/tc-hppa.c:7673
+#: config/tc-hppa.c:7671
 #, c-format
 msgid "Internal error: Unable to find containing space for %s."
 msgstr ""
 
-#: config/tc-hppa.c:8235
+#: config/tc-hppa.c:8233
 msgid "-R option not supported on this target."
 msgstr ""
 
-#: config/tc-hppa.c:8252 config/tc-sparc.c:963 config/tc-sparc.c:1000
+#: config/tc-hppa.c:8250 config/tc-sparc.c:963 config/tc-sparc.c:1000
 #, c-format
 msgid "Internal error: can't hash `%s': %s\n"
 msgstr ""
 
-#: config/tc-hppa.c:8261
+#: config/tc-hppa.c:8259
 #, c-format
 msgid "internal error: losing opcode: `%s' \"%s\"\n"
 msgstr ""
 
-#: config/tc-i386.c:1486
+#: config/tc-i386.c:1388
+#, c-format
+msgid "i386_output_nops called to generate nops of at most %d bytes!"
+msgstr ""
+
+#: config/tc-i386.c:1597
 #, c-format
 msgid "invalid single nop size: %d (expect within [0, %d])"
 msgstr ""
 
-#: config/tc-i386.c:1527
+#: config/tc-i386.c:1638
 msgid "jump over nop padding out of range"
 msgstr ""
 
-#: config/tc-i386.c:2346
+#: config/tc-i386.c:2472
 #, c-format
 msgid "%s shortened to %s"
 msgstr ""
 
-#: config/tc-i386.c:2437
+#: config/tc-i386.c:2563
 msgid "same type of prefix used twice"
 msgstr ""
 
-#: config/tc-i386.c:2464
+#: config/tc-i386.c:2590
 #, c-format
 msgid "64bit mode not supported on `%s'."
 msgstr ""
 
-#: config/tc-i386.c:2473
+#: config/tc-i386.c:2599
 #, c-format
 msgid "32bit mode not supported on `%s'."
 msgstr ""
 
-#: config/tc-i386.c:2513
+#: config/tc-i386.c:2639
 msgid "bad argument to syntax directive."
 msgstr ""
 
-#: config/tc-i386.c:2576
+#: config/tc-i386.c:2702
 #, c-format
 msgid "bad argument to %s_check directive."
 msgstr ""
 
-#: config/tc-i386.c:2580
+#: config/tc-i386.c:2706
 #, c-format
 msgid "missing argument for %s_check directive"
 msgstr ""
 
-#: config/tc-i386.c:2620
+#: config/tc-i386.c:2746
 #, c-format
 msgid "`%s' is not supported on `%s'"
 msgstr ""
 
-#: config/tc-i386.c:2726
+#: config/tc-i386.c:2852
 #, c-format
 msgid "no such architecture: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:2731
+#: config/tc-i386.c:2857
 msgid "missing cpu architecture"
 msgstr ""
 
-#: config/tc-i386.c:2748
+#: config/tc-i386.c:2874
 #, c-format
 msgid "no such architecture modifier: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:2763 config/tc-i386.c:2793
+#: config/tc-i386.c:2889 config/tc-i386.c:2919
 msgid "Intel L1OM is 64bit ELF only"
 msgstr ""
 
-#: config/tc-i386.c:2770 config/tc-i386.c:2800
+#: config/tc-i386.c:2896 config/tc-i386.c:2926
 msgid "Intel K1OM is 64bit ELF only"
 msgstr ""
 
-#: config/tc-i386.c:2777 config/tc-i386.c:2814
+#: config/tc-i386.c:2903 config/tc-i386.c:2940
 msgid "Intel MCU is 32bit ELF only"
 msgstr ""
 
-#: config/tc-i386.c:2821 config/tc-i386.c:11620
+#: config/tc-i386.c:2947 config/tc-i386.c:12861
 msgid "unknown architecture"
 msgstr ""
 
-#: config/tc-i386.c:2858 config/tc-i386.c:2880
+#: config/tc-i386.c:2984 config/tc-i386.c:3006
 #, c-format
 msgid "can't hash %s: %s"
 msgstr ""
 
-#: config/tc-i386.c:3173
+#: config/tc-i386.c:3303
 msgid "there are no pc-relative size relocations"
 msgstr ""
 
-#: config/tc-i386.c:3185
+#: config/tc-i386.c:3315
 #, c-format
 msgid "unknown relocation (%u)"
 msgstr ""
 
-#: config/tc-i386.c:3187
+#: config/tc-i386.c:3317
 #, c-format
 msgid "%u-byte relocation cannot be applied to %u-byte field"
 msgstr ""
 
-#: config/tc-i386.c:3191
+#: config/tc-i386.c:3321
 msgid "non-pc-relative relocation for pc-relative field"
 msgstr ""
 
-#: config/tc-i386.c:3196
+#: config/tc-i386.c:3326
 msgid "relocated field and relocation type differ in signedness"
 msgstr ""
 
-#: config/tc-i386.c:3205
+#: config/tc-i386.c:3335
 msgid "there are no unsigned pc-relative relocations"
 msgstr ""
 
-#: config/tc-i386.c:3213
+#: config/tc-i386.c:3343
 #, c-format
 msgid "cannot do %u byte pc-relative relocation"
 msgstr ""
 
-#: config/tc-i386.c:3230
+#: config/tc-i386.c:3360
 #, c-format
 msgid "cannot do %s %u byte relocation"
 msgstr ""
 
-#: config/tc-i386.c:3771 config/tc-i386.c:3798
-#, c-format
-msgid "can't use register '%s%s' as operand %d in '%s'."
-msgstr ""
-
-#: config/tc-i386.c:3837 config/tc-i386.c:4177
+#: config/tc-i386.c:3958 config/tc-i386.c:4406
 #, c-format
 msgid "invalid instruction `%s' after `%s'"
 msgstr ""
 
-#: config/tc-i386.c:3843
+#: config/tc-i386.c:3964
 #, c-format
 msgid "missing `lock' with `%s'"
 msgstr ""
 
-#: config/tc-i386.c:3850
+#: config/tc-i386.c:3971
 #, c-format
 msgid "instruction `%s' after `xacquire' not allowed"
 msgstr ""
 
-#: config/tc-i386.c:3857
+#: config/tc-i386.c:3977
 #, c-format
 msgid "memory destination needed for instruction `%s' after `xrelease'"
 msgstr ""
 
-#: config/tc-i386.c:4151
+#: config/tc-i386.c:4380
 #, c-format
 msgid "SSE instruction `%s' is used"
 msgstr ""
 
-#: config/tc-i386.c:4165 config/tc-i386.c:6222
+#: config/tc-i386.c:4394 config/tc-i386.c:6488
 #, c-format
 msgid "ambiguous operand size for `%s'"
 msgstr ""
 
-#: config/tc-i386.c:4190
+#: config/tc-i386.c:4419
 msgid "expecting lockable instruction after `lock'"
 msgstr ""
 
-#: config/tc-i386.c:4197
+#: config/tc-i386.c:4426
 #, c-format
 msgid "data size prefix invalid with `%s'"
 msgstr ""
 
-#: config/tc-i386.c:4207
+#: config/tc-i386.c:4436
 msgid "expecting valid branch instruction after `bnd'"
 msgstr ""
 
-#: config/tc-i386.c:4211
+#: config/tc-i386.c:4440
 msgid "expecting indirect branch instruction after `notrack'"
 msgstr ""
 
-#: config/tc-i386.c:4216
+#: config/tc-i386.c:4445
 msgid "32-bit address isn't allowed in 64-bit MPX instructions."
 msgstr ""
 
-#: config/tc-i386.c:4220
+#: config/tc-i386.c:4449
 msgid "16-bit address isn't allowed in MPX instructions"
 msgstr ""
 
-#: config/tc-i386.c:4230
+#: config/tc-i386.c:4459
 msgid "replacing `rep'/`repe' prefix by `bnd'"
 msgstr ""
 
 #. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc.
-#: config/tc-i386.c:4284
+#: config/tc-i386.c:4513
 #, c-format
 msgid "translating to `%sp'"
 msgstr ""
 
-#: config/tc-i386.c:4291
+#: config/tc-i386.c:4520
 #, c-format
-msgid "instruction `%s' isn't supported in 16-bit mode."
+msgid "instruction `%s' isn't supported outside of protected mode."
 msgstr ""
 
-#: config/tc-i386.c:4351
+#: config/tc-i386.c:4580
 #, c-format
 msgid "can't encode register '%s%s' in an instruction requiring REX prefix."
 msgstr ""
 
-#: config/tc-i386.c:4411 config/tc-i386.c:4606
+#: config/tc-i386.c:4651 config/tc-i386.c:4850
 #, c-format
 msgid "no such instruction: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:4422 config/tc-i386.c:4639
+#: config/tc-i386.c:4662 config/tc-i386.c:4883
 #, c-format
 msgid "invalid character %s in mnemonic"
 msgstr ""
 
-#: config/tc-i386.c:4429
+#: config/tc-i386.c:4669
 msgid "expecting prefix; got nothing"
 msgstr ""
 
-#: config/tc-i386.c:4431
+#: config/tc-i386.c:4671
 msgid "expecting mnemonic; got nothing"
 msgstr ""
 
-#: config/tc-i386.c:4446 config/tc-i386.c:4661
+#: config/tc-i386.c:4686 config/tc-i386.c:4905
 #, c-format
 msgid "`%s' is only supported in 64-bit mode"
 msgstr ""
 
-#: config/tc-i386.c:4447 config/tc-i386.c:4660
+#: config/tc-i386.c:4687 config/tc-i386.c:4904
 #, c-format
 msgid "`%s' is not supported in 64-bit mode"
 msgstr ""
 
-#: config/tc-i386.c:4459
+#: config/tc-i386.c:4699
 #, c-format
 msgid "redundant %s prefix"
 msgstr ""
 
-#: config/tc-i386.c:4652
+#: config/tc-i386.c:4896
 msgid "use .code16 to ensure correct addressing mode"
 msgstr ""
 
-#: config/tc-i386.c:4664
+#: config/tc-i386.c:4908
 #, c-format
 msgid "`%s' is not supported on `%s%s'"
 msgstr ""
 
-#: config/tc-i386.c:4690
+#: config/tc-i386.c:4934
 #, c-format
 msgid "invalid character %s before operand %d"
 msgstr ""
 
-#: config/tc-i386.c:4704
+#: config/tc-i386.c:4948
 #, c-format
 msgid "unbalanced parenthesis in operand %d."
 msgstr ""
 
-#: config/tc-i386.c:4707
+#: config/tc-i386.c:4951
 #, c-format
 msgid "unbalanced brackets in operand %d."
 msgstr ""
 
-#: config/tc-i386.c:4716
+#: config/tc-i386.c:4960
 #, c-format
 msgid "invalid character %s in operand %d"
 msgstr ""
 
-#: config/tc-i386.c:4743
+#: config/tc-i386.c:4987
 #, c-format
 msgid "spurious operands; (%d operands/instruction max)"
 msgstr ""
 
-#: config/tc-i386.c:4753 config/tc-i386.c:9962
+#: config/tc-i386.c:4997 config/tc-i386.c:10630
 #, c-format
 msgid "too many memory references for `%s'"
 msgstr ""
 
-#: config/tc-i386.c:4774
+#: config/tc-i386.c:5018
 msgid "expecting operand after ','; got nothing"
 msgstr ""
 
-#: config/tc-i386.c:4779
+#: config/tc-i386.c:5023
 msgid "expecting operand before ','; got nothing"
 msgstr ""
 
-#: config/tc-i386.c:5205
+#: config/tc-i386.c:5453
 msgid "mask, index, and destination registers should be distinct"
 msgstr ""
 
-#: config/tc-i386.c:5222
+#: config/tc-i386.c:5470
 msgid "index and destination registers should be distinct"
 msgstr ""
 
-#: config/tc-i386.c:5900
+#: config/tc-i386.c:6150
 msgid "operand size mismatch"
 msgstr ""
 
-#: config/tc-i386.c:5903
+#: config/tc-i386.c:6153
 msgid "operand type mismatch"
 msgstr ""
 
-#: config/tc-i386.c:5906
+#: config/tc-i386.c:6156
 msgid "register type mismatch"
 msgstr ""
 
-#: config/tc-i386.c:5909
+#: config/tc-i386.c:6159
 msgid "number of operands mismatch"
 msgstr ""
 
-#: config/tc-i386.c:5912
+#: config/tc-i386.c:6162
 msgid "invalid instruction suffix"
 msgstr ""
 
-#: config/tc-i386.c:5915
+#: config/tc-i386.c:6165
 msgid "constant doesn't fit in 4 bits"
 msgstr ""
 
-#: config/tc-i386.c:5918
+#: config/tc-i386.c:6168
 msgid "unsupported with Intel mnemonic"
 msgstr ""
 
-#: config/tc-i386.c:5921
+#: config/tc-i386.c:6171
 msgid "unsupported syntax"
 msgstr ""
 
-#: config/tc-i386.c:5924
+#: config/tc-i386.c:6174
 #, c-format
 msgid "unsupported instruction `%s'"
 msgstr ""
 
-#: config/tc-i386.c:5928
+#: config/tc-i386.c:6178
 msgid "invalid VSIB address"
 msgstr ""
 
-#: config/tc-i386.c:5931
+#: config/tc-i386.c:6181
 msgid "mask, index, and destination registers must be distinct"
 msgstr ""
 
-#: config/tc-i386.c:5934
+#: config/tc-i386.c:6184
 msgid "unsupported vector index register"
 msgstr ""
 
-#: config/tc-i386.c:5937
+#: config/tc-i386.c:6187
 msgid "unsupported broadcast"
 msgstr ""
 
-#: config/tc-i386.c:5940
+#: config/tc-i386.c:6190
 msgid "broadcast is needed for operand of such type"
 msgstr ""
 
-#: config/tc-i386.c:5943
+#: config/tc-i386.c:6193
 msgid "unsupported masking"
 msgstr ""
 
-#: config/tc-i386.c:5946
+#: config/tc-i386.c:6196
 msgid "mask not on destination operand"
 msgstr ""
 
-#: config/tc-i386.c:5949
+#: config/tc-i386.c:6199
 msgid "default mask isn't allowed"
 msgstr ""
 
-#: config/tc-i386.c:5952
+#: config/tc-i386.c:6202
 msgid "unsupported static rounding/sae"
 msgstr ""
 
-#: config/tc-i386.c:5956
+#: config/tc-i386.c:6206
 msgid "RC/SAE operand must precede immediate operands"
 msgstr ""
 
-#: config/tc-i386.c:5958
+#: config/tc-i386.c:6208
 msgid "RC/SAE operand must follow immediate operands"
 msgstr ""
 
-#: config/tc-i386.c:5961 config/tc-metag.c:4789 config/tc-metag.c:5530
+#: config/tc-i386.c:6211 config/tc-metag.c:4789 config/tc-metag.c:5530
 #: config/tc-metag.c:5552
 msgid "invalid register operand"
 msgstr ""
 
-#: config/tc-i386.c:5964
+#: config/tc-i386.c:6214
 #, c-format
 msgid "%s for `%s'"
 msgstr ""
 
-#: config/tc-i386.c:5975
+#: config/tc-i386.c:6223
 #, c-format
 msgid "indirect %s without `*'"
 msgstr ""
 
 #. Warn them that a data or address size prefix doesn't
 #. affect assembly of the next line of code.
-#: config/tc-i386.c:5983
+#: config/tc-i386.c:6230
 #, c-format
 msgid "stand-alone `%s' prefix"
 msgstr ""
 
-#: config/tc-i386.c:6017 config/tc-i386.c:6033
+#: config/tc-i386.c:6272
 #, c-format
-msgid "`%s' operand %d must use `%ses' segment"
+msgid "`%s' operand %u must use `%ses' segment"
 msgstr ""
 
 #. We have to know the operand size for crc32.
-#: config/tc-i386.c:6083
+#: config/tc-i386.c:6330
 #, c-format
 msgid "ambiguous memory operand size for `%s`"
 msgstr ""
 
-#: config/tc-i386.c:6195
+#: config/tc-i386.c:6419
+msgid "generating 16-bit `iret' for .code16gcc directive"
+msgstr ""
+
+#: config/tc-i386.c:6423
+#, c-format
+msgid "generating 32-bit `%s', unlike earlier gas versions"
+msgstr ""
+
+#: config/tc-i386.c:6461
 msgid ""
 "no instruction mnemonic suffix given and no register operands; can't size "
 "instruction"
 msgstr ""
 
-#: config/tc-i386.c:6333
+#: config/tc-i386.c:6599
 #, c-format
 msgid "invalid register operand size for `%s'"
 msgstr ""
 
-#: config/tc-i386.c:6377 config/tc-i386.c:6450 config/tc-i386.c:6572
+#: config/tc-i386.c:6644 config/tc-i386.c:6716 config/tc-i386.c:6838
 #, c-format
 msgid "using `%s%s' instead of `%s%s' due to `%c' suffix"
 msgstr ""
 
-#: config/tc-i386.c:6398 config/tc-i386.c:6426 config/tc-i386.c:6497
-#: config/tc-i386.c:6547
+#: config/tc-i386.c:6664 config/tc-i386.c:6692 config/tc-i386.c:6763
+#: config/tc-i386.c:6813
 #, c-format
 msgid "`%s%s' not allowed with `%s%c'"
 msgstr ""
 
-#: config/tc-i386.c:6444 config/tc-i386.c:6471 config/tc-i386.c:6522
-#: config/tc-i386.c:6566
+#: config/tc-i386.c:6710 config/tc-i386.c:6737 config/tc-i386.c:6788
+#: config/tc-i386.c:6832
 #, c-format
 msgid "incorrect register `%s%s' used with `%c' suffix"
 msgstr ""
 
-#: config/tc-i386.c:6635
+#: config/tc-i386.c:6901
 msgid "no instruction mnemonic suffix given; can't determine immediate size"
 msgstr ""
 
-#: config/tc-i386.c:6781
+#: config/tc-i386.c:7053
 #, c-format
 msgid ""
 "source register `%s%s' implicitly denotes `%s%.3s%u' to `%s%.3s%u' source "
 "group in `%s'"
 msgstr ""
 
-#: config/tc-i386.c:6817
+#: config/tc-i386.c:7097
 #, c-format
-msgid "you can't `pop %scs'"
+msgid "you can't `%s %s%s'"
 msgstr ""
 
 #. Reversed arguments on faddp, fsubp, etc.
-#: config/tc-i386.c:6846
+#: config/tc-i386.c:7135
 #, c-format
 msgid "translating to `%s %s%s,%s%s'"
 msgstr ""
 
 #. Extraneous `l' suffix on fp insn.
-#: config/tc-i386.c:6853
+#: config/tc-i386.c:7142
 #, c-format
 msgid "translating to `%s %s%s'"
 msgstr ""
 
-#: config/tc-i386.c:6881
+#: config/tc-i386.c:7151
 #, c-format
 msgid "segment override on `%s' is ineffectual"
 msgstr ""
 
-#: config/tc-i386.c:7650 config/tc-i386.c:7785 config/tc-i386.c:7849
-msgid "skipping prefixes on this instruction"
+#: config/tc-i386.c:7918 config/tc-i386.c:8061 config/tc-i386.c:8122
+#, c-format
+msgid "skipping prefixes on `%s'"
 msgstr ""
 
-#: config/tc-i386.c:7869
+#: config/tc-i386.c:8142
 msgid "16-bit jump out of range"
 msgstr ""
 
-#: config/tc-i386.c:7878
+#: config/tc-i386.c:8151
 #, c-format
 msgid "can't handle non absolute segment in `%s'"
 msgstr ""
 
-#: config/tc-i386.c:8173
+#: config/tc-i386.c:8363 config/tc-i386.c:8395 config/tc-i386.c:8481
+#, c-format
+msgid "`%s` skips -malign-branch-boundary on `%s`"
+msgstr ""
+
+#: config/tc-i386.c:8713
 msgid "pseudo prefix without instruction"
 msgstr ""
 
-#: config/tc-i386.c:8766 config/tc-i386.c:8868
+#: config/tc-i386.c:8829
+#, c-format
+msgid "instruction length of %u bytes exceeds the limit of 15"
+msgstr ""
+
+#: config/tc-i386.c:9410 config/tc-i386.c:9512
 #, c-format
 msgid "@%s reloc is not supported with %d-bit output format"
 msgstr ""
 
-#: config/tc-i386.c:8919
+#: config/tc-i386.c:9563
 #, c-format
 msgid "missing or invalid expression `%s'"
 msgstr ""
 
-#: config/tc-i386.c:8928
+#: config/tc-i386.c:9572
 #, c-format
 msgid "invalid PLT expression `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9014
+#: config/tc-i386.c:9658
 #, c-format
 msgid "Unsupported broadcast: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9030
+#: config/tc-i386.c:9674
 #, c-format
 msgid "`%s%s' can't be used for write mask"
 msgstr ""
 
-#: config/tc-i386.c:9053
+#: config/tc-i386.c:9697
 #, c-format
 msgid "invalid write mask `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9075 config/tc-i386.c:9739
+#: config/tc-i386.c:9719 config/tc-i386.c:10409
 #, c-format
 msgid "duplicated `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9085
+#: config/tc-i386.c:9729
 #, c-format
 msgid "invalid zeroing-masking `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9098
+#: config/tc-i386.c:9742
 #, c-format
 msgid "missing `}' in `%s'"
 msgstr ""
 
 #. We don't know this one.
-#: config/tc-i386.c:9112
+#: config/tc-i386.c:9756
 #, c-format
 msgid "unknown vector operation: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9118
+#: config/tc-i386.c:9762
 msgid "zeroing-masking only allowed with write mask"
 msgstr ""
 
-#: config/tc-i386.c:9138
+#: config/tc-i386.c:9782
 #, c-format
 msgid "at most %d immediate operands are allowed"
 msgstr ""
 
-#: config/tc-i386.c:9170 config/tc-i386.c:9417
+#: config/tc-i386.c:9814 config/tc-i386.c:10082
 #, c-format
 msgid "junk `%s' after expression"
 msgstr ""
 
-#: config/tc-i386.c:9191
+#: config/tc-i386.c:9835
 #, c-format
 msgid "missing or invalid immediate expression `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9214 config/tc-i386.c:9507
+#: config/tc-i386.c:9858 config/tc-i386.c:10172
 #, c-format
 msgid "unimplemented segment %s in operand"
 msgstr ""
 
-#: config/tc-i386.c:9221
+#: config/tc-i386.c:9865
 #, c-format
 msgid "illegal immediate register operand %s"
 msgstr ""
 
-#: config/tc-i386.c:9269
+#: config/tc-i386.c:9913
 #, c-format
 msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9278
+#: config/tc-i386.c:9922
 #, c-format
 msgid "scale factor of %d without an index register"
 msgstr ""
 
-#: config/tc-i386.c:9300
+#: config/tc-i386.c:9944
 #, c-format
 msgid "at most %d displacement operands are allowed"
 msgstr ""
 
-#: config/tc-i386.c:9473
+#: config/tc-i386.c:10138
 #, c-format
 msgid "missing or invalid displacement expression `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9490
+#: config/tc-i386.c:10155
 #, c-format
 msgid "0x%lx out range of signed 32bit displacement"
 msgstr ""
 
-#: config/tc-i386.c:9640
+#: config/tc-i386.c:10310
 #, c-format
 msgid "`%s' is not valid here (expected `%c%s%s%c')"
 msgstr ""
 
-#: config/tc-i386.c:9652
+#: config/tc-i386.c:10322
 #, c-format
 msgid "`%s' is not a valid %s expression"
 msgstr ""
 
-#: config/tc-i386.c:9684
+#: config/tc-i386.c:10354
 #, c-format
 msgid "`%s' cannot be used here"
 msgstr ""
 
-#: config/tc-i386.c:9691
+#: config/tc-i386.c:10361
 msgid "register scaling is being ignored here"
 msgstr ""
 
-#: config/tc-i386.c:9752
+#: config/tc-i386.c:10422
 #, c-format
 msgid "Missing '}': '%s'"
 msgstr ""
 
-#: config/tc-i386.c:9758
+#: config/tc-i386.c:10428
 #, c-format
 msgid "Junk after '}': '%s'"
 msgstr ""
 
-#: config/tc-i386.c:9886
+#: config/tc-i386.c:10554
 #, c-format
 msgid "bad memory operand `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9910
+#: config/tc-i386.c:10578
 #, c-format
 msgid "junk `%s' after register"
 msgstr ""
 
-#: config/tc-i386.c:9923 config/tc-i386.c:10060 config/tc-i386.c:10104
+#: config/tc-i386.c:10591 config/tc-i386.c:10728 config/tc-i386.c:10772
 #, c-format
 msgid "bad register name `%s'"
 msgstr ""
 
-#: config/tc-i386.c:9931
+#: config/tc-i386.c:10599
 msgid "immediate operand illegal with absolute jump"
 msgstr ""
 
-#: config/tc-i386.c:10049
+#: config/tc-i386.c:10717
 #, c-format
 msgid "expecting `,' or `)' after index register in `%s'"
 msgstr ""
 
-#: config/tc-i386.c:10077
+#: config/tc-i386.c:10745
 #, c-format
 msgid "expecting `)' after scale factor in `%s'"
 msgstr ""
 
-#: config/tc-i386.c:10085
+#: config/tc-i386.c:10753
 #, c-format
 msgid "expecting index register or scale factor after `,'; got '%c'"
 msgstr ""
 
-#: config/tc-i386.c:10093
+#: config/tc-i386.c:10761
 #, c-format
 msgid "expecting `,' or `)' after base register in `%s'"
 msgstr ""
 
 #. It's not a memory operand; argh!
-#: config/tc-i386.c:10141
+#: config/tc-i386.c:10810
 #, c-format
 msgid "invalid char %s beginning operand %d `%s'"
 msgstr ""
 
-#: config/tc-i386.c:10367
+#: config/tc-i386.c:11424
+#, c-format
+msgid "%s:%u: add %d%s at 0x%llx to align %s within %d-byte boundary\n"
+msgstr ""
+
+#: config/tc-i386.c:11427
+#, c-format
+msgid ""
+"%s:%u: add additional %d%s at 0x%llx to align %s within %d-byte boundary\n"
+msgstr ""
+
+#: config/tc-i386.c:11433
+#, c-format
+msgid ""
+"%s:%u: add %d%s-byte nop at 0x%llx to align %s within %d-byte boundary\n"
+msgstr ""
+
+#: config/tc-i386.c:11500
 msgid "long jump required"
 msgstr ""
 
-#: config/tc-i386.c:10422
+#: config/tc-i386.c:11555
 msgid "jump target out of range"
 msgstr ""
 
-#: config/tc-i386.c:10988
+#: config/tc-i386.c:12133
 #, c-format
 msgid "invalid -mx86-used-note= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11011
+#: config/tc-i386.c:12156
 msgid "no compiled in support for x86_64"
 msgstr ""
 
-#: config/tc-i386.c:11031
+#: config/tc-i386.c:12176
 msgid "no compiled in support for 32bit x86_64"
 msgstr ""
 
-#: config/tc-i386.c:11035
+#: config/tc-i386.c:12180
 msgid "32bit x86_64 is only supported for ELF"
 msgstr ""
 
-#: config/tc-i386.c:11069 config/tc-i386.c:11157
+#: config/tc-i386.c:12214 config/tc-i386.c:12302
 #, c-format
 msgid "invalid -march= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11167 config/tc-i386.c:11179
+#: config/tc-i386.c:12312 config/tc-i386.c:12324
 #, c-format
 msgid "invalid -mtune= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11188
+#: config/tc-i386.c:12333
 #, c-format
 msgid "invalid -mmnemonic= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11197
+#: config/tc-i386.c:12342
 #, c-format
 msgid "invalid -msyntax= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11220
+#: config/tc-i386.c:12365
 #, c-format
 msgid "invalid -msse-check= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11231
+#: config/tc-i386.c:12376
 #, c-format
 msgid "invalid -moperand-check= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11240
+#: config/tc-i386.c:12385
 #, c-format
 msgid "invalid -mavxscalar= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11249
+#: config/tc-i386.c:12394
 #, c-format
 msgid "invalid -mvexwig= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11264
+#: config/tc-i386.c:12409
 #, c-format
 msgid "invalid -mevexlig= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11277
+#: config/tc-i386.c:12422
 #, c-format
 msgid "invalid -mevexrcig= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11286
+#: config/tc-i386.c:12431
 #, c-format
 msgid "invalid -mevexwig= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11301
+#: config/tc-i386.c:12446
 #, c-format
 msgid "invalid -momit-lock-prefix= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11310
+#: config/tc-i386.c:12455
 #, c-format
 msgid "invalid -mfence-as-lock-add= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11319
+#: config/tc-i386.c:12464
 #, c-format
 msgid "invalid -mrelax-relocations= option: `%s'"
 msgstr ""
 
-#: config/tc-i386.c:11463
+#: config/tc-i386.c:12493
+#, c-format
+msgid "invalid -malign-branch-boundary= value: %s"
+msgstr ""
+
+#: config/tc-i386.c:12507
+#, c-format
+msgid "invalid -malign-branch-prefix-size= value: %s"
+msgstr ""
+
+#: config/tc-i386.c:12534
+#, c-format
+msgid "invalid -malign-branch= option: `%s'"
+msgstr ""
+
+#: config/tc-i386.c:12690
 #, c-format
 msgid ""
-"  -Q                      ignored\n"
+"  -Qy, -Qn                ignored\n"
 "  -V                      print assembler version number\n"
 "  -k                      ignored\n"
 msgstr ""
 
-#: config/tc-i386.c:11468
+#: config/tc-i386.c:12695
 #, c-format
 msgid ""
 "  -n                      Do not optimize code alignment\n"
 "  -q                      quieten some warnings\n"
 msgstr ""
 
-#: config/tc-i386.c:11472
+#: config/tc-i386.c:12699
 #, c-format
 msgid "  -s                      ignored\n"
 msgstr ""
 
-#: config/tc-i386.c:11477
+#: config/tc-i386.c:12704
 #, c-format
 msgid "  --32/--64/--x32         generate 32bit/64bit/x32 code\n"
 msgstr ""
 
-#: config/tc-i386.c:11481
+#: config/tc-i386.c:12708
 #, c-format
 msgid "  --divide                do not treat `/' as a comment character\n"
 msgstr ""
 
-#: config/tc-i386.c:11484
+#: config/tc-i386.c:12711
 #, c-format
 msgid "  --divide                ignored\n"
 msgstr ""
 
-#: config/tc-i386.c:11487
+#: config/tc-i386.c:12714
 #, c-format
 msgid ""
 "  -march=CPU[,+EXTENSION...]\n"
@@ -8287,36 +8642,36 @@ msgid ""
 "of:\n"
 msgstr ""
 
-#: config/tc-i386.c:11491
+#: config/tc-i386.c:12718
 #, c-format
 msgid "                          EXTENSION is combination of:\n"
 msgstr ""
 
-#: config/tc-i386.c:11494
+#: config/tc-i386.c:12721
 #, c-format
 msgid "  -mtune=CPU              optimize for CPU, CPU is one of:\n"
 msgstr ""
 
-#: config/tc-i386.c:11497
+#: config/tc-i386.c:12724
 #, c-format
 msgid "  -msse2avx               encode SSE instructions with VEX prefix\n"
 msgstr ""
 
-#: config/tc-i386.c:11499
+#: config/tc-i386.c:12726
 #, c-format
 msgid ""
 "  -msse-check=[none|error|warning] (default: warning)\n"
 "                          check SSE instructions\n"
 msgstr ""
 
-#: config/tc-i386.c:11502
+#: config/tc-i386.c:12729
 #, c-format
 msgid ""
 "  -moperand-check=[none|error|warning] (default: warning)\n"
 "                          check operand combinations for validity\n"
 msgstr ""
 
-#: config/tc-i386.c:11505
+#: config/tc-i386.c:12732
 #, c-format
 msgid ""
 "  -mavxscalar=[128|256] (default: 128)\n"
@@ -8325,7 +8680,7 @@ msgid ""
 "                           length\n"
 msgstr ""
 
-#: config/tc-i386.c:11509
+#: config/tc-i386.c:12736
 #, c-format
 msgid ""
 "  -mvexwig=[0|1] (default: 0)\n"
@@ -8333,7 +8688,7 @@ msgid ""
 "                           for VEX.W bit ignored instructions\n"
 msgstr ""
 
-#: config/tc-i386.c:11513
+#: config/tc-i386.c:12740
 #, c-format
 msgid ""
 "  -mevexlig=[128|256|512] (default: 128)\n"
@@ -8342,7 +8697,7 @@ msgid ""
 "                           length\n"
 msgstr ""
 
-#: config/tc-i386.c:11517
+#: config/tc-i386.c:12744
 #, c-format
 msgid ""
 "  -mevexwig=[0|1] (default: 0)\n"
@@ -8351,7 +8706,7 @@ msgid ""
 "                           for EVEX.W bit ignored instructions\n"
 msgstr ""
 
-#: config/tc-i386.c:11521
+#: config/tc-i386.c:12748
 #, c-format
 msgid ""
 "  -mevexrcig=[rne|rd|ru|rz] (default: rne)\n"
@@ -8360,77 +8715,77 @@ msgid ""
 "                           for SAE-only ignored instructions\n"
 msgstr ""
 
-#: config/tc-i386.c:11525
+#: config/tc-i386.c:12752
 #, c-format
 msgid "  -mmnemonic=[att|intel] "
 msgstr ""
 
-#: config/tc-i386.c:11528
+#: config/tc-i386.c:12755
 #, c-format
 msgid "(default: att)\n"
 msgstr ""
 
-#: config/tc-i386.c:11530
+#: config/tc-i386.c:12757
 #, c-format
 msgid "(default: intel)\n"
 msgstr ""
 
-#: config/tc-i386.c:11531
+#: config/tc-i386.c:12758
 #, c-format
 msgid "                          use AT&T/Intel mnemonic\n"
 msgstr ""
 
-#: config/tc-i386.c:11533
+#: config/tc-i386.c:12760
 #, c-format
 msgid ""
 "  -msyntax=[att|intel] (default: att)\n"
 "                          use AT&T/Intel syntax\n"
 msgstr ""
 
-#: config/tc-i386.c:11536
+#: config/tc-i386.c:12763
 #, c-format
 msgid "  -mindex-reg             support pseudo index registers\n"
 msgstr ""
 
-#: config/tc-i386.c:11538
+#: config/tc-i386.c:12765
 #, c-format
 msgid "  -mnaked-reg             don't require `%%' prefix for registers\n"
 msgstr ""
 
-#: config/tc-i386.c:11540
+#: config/tc-i386.c:12767
 #, c-format
 msgid "  -madd-bnd-prefix        add BND prefix for all valid branches\n"
 msgstr ""
 
-#: config/tc-i386.c:11543
+#: config/tc-i386.c:12770
 #, c-format
 msgid "  -mshared                disable branch optimization for shared code\n"
 msgstr ""
 
-#: config/tc-i386.c:11545
+#: config/tc-i386.c:12772
 #, c-format
 msgid "  -mx86-used-note=[no|yes] "
 msgstr ""
 
-#: config/tc-i386.c:11551
+#: config/tc-i386.c:12778
 #, c-format
 msgid ""
 "                          generate x86 used ISA and feature properties\n"
 msgstr ""
 
-#: config/tc-i386.c:11555
+#: config/tc-i386.c:12782
 #, c-format
 msgid "  -mbig-obj               generate big object files\n"
 msgstr ""
 
-#: config/tc-i386.c:11558
+#: config/tc-i386.c:12785
 #, c-format
 msgid ""
 "  -momit-lock-prefix=[no|yes] (default: no)\n"
 "                          strip all lock prefixes\n"
 msgstr ""
 
-#: config/tc-i386.c:11561
+#: config/tc-i386.c:12788
 #, c-format
 msgid ""
 "  -mfence-as-lock-add=[no|yes] (default: no)\n"
@@ -8438,76 +8793,107 @@ msgid ""
 "                           lock addl $0x0, (%%{re}sp)\n"
 msgstr ""
 
-#: config/tc-i386.c:11565
+#: config/tc-i386.c:12792
 #, c-format
 msgid "  -mrelax-relocations=[no|yes] "
 msgstr ""
 
-#: config/tc-i386.c:11571
+#: config/tc-i386.c:12798
 #, c-format
 msgid "                          generate relax relocations\n"
 msgstr ""
 
-#: config/tc-i386.c:11573
+#: config/tc-i386.c:12800
+#, c-format
+msgid ""
+"  -malign-branch-boundary=NUM (default: 0)\n"
+"                          align branches within NUM byte boundary\n"
+msgstr ""
+
+#: config/tc-i386.c:12803
+#, c-format
+msgid ""
+"  -malign-branch=TYPE[+TYPE...] (default: jcc+fused+jmp)\n"
+"                          TYPE is combination of jcc, fused, jmp, call, "
+"ret,\n"
+"                           indirect\n"
+"                          specify types of branches to align\n"
+msgstr ""
+
+#: config/tc-i386.c:12808
+#, c-format
+msgid ""
+"  -malign-branch-prefix-size=NUM (default: 5)\n"
+"                          align branches with NUM prefixes per instruction\n"
+msgstr ""
+
+#: config/tc-i386.c:12811
+#, c-format
+msgid ""
+"  -mbranches-within-32B-boundaries\n"
+"                          align branches within 32 byte boundary\n"
+msgstr ""
+
+#: config/tc-i386.c:12814
 #, c-format
 msgid "  -mamd64                 accept only AMD64 ISA [default]\n"
 msgstr ""
 
-#: config/tc-i386.c:11575
+#: config/tc-i386.c:12816
 #, c-format
 msgid "  -mintel64               accept only Intel64 ISA\n"
 msgstr ""
 
-#: config/tc-i386.c:11616
+#: config/tc-i386.c:12857
 #, c-format
 msgid "Intel MCU doesn't support `%s' architecture"
 msgstr ""
 
-#: config/tc-i386.c:11673
+#: config/tc-i386.c:12923
 msgid "Intel L1OM is 64bit only"
 msgstr ""
 
-#: config/tc-i386.c:11679
+#: config/tc-i386.c:12929
 msgid "Intel K1OM is 64bit only"
 msgstr ""
 
-#: config/tc-i386.c:11685
+#: config/tc-i386.c:12935
 msgid "Intel MCU is 32bit only"
 msgstr ""
 
-#: config/tc-i386.c:11842
+#: config/tc-i386.c:13107
 msgid "symbol size computation overflow"
 msgstr ""
 
-#: config/tc-i386.c:11910 config/tc-sparc.c:3861
+#: config/tc-i386.c:13175 config/tc-sparc.c:3861
 #, c-format
 msgid "can not do %d byte pc-relative relocation"
 msgstr ""
 
-#: config/tc-i386.c:11928
+#: config/tc-i386.c:13193
 #, c-format
 msgid "can not do %d byte relocation"
 msgstr ""
 
-#: config/tc-i386.c:11996
+#: config/tc-i386.c:13261
 #, c-format
 msgid "cannot represent relocation type %s in x32 mode"
 msgstr ""
 
-#: config/tc-i386.c:12033 config/tc-s390.c:2611
+#: config/tc-i386.c:13298 config/tc-s390.c:2613
 #, c-format
 msgid "cannot represent relocation type %s"
 msgstr ""
 
-#: config/tc-i386.c:12150
+#: config/tc-i386.c:13415
 msgid "bad .section directive: want a,l,w,x,M,S,G,T in string"
 msgstr ""
 
-#: config/tc-i386.c:12153
+#: config/tc-i386.c:13418
 msgid "bad .section directive: want a,w,x,M,S,G,T in string"
 msgstr ""
 
-#: config/tc-i386.c:12172
+#: config/tc-i386.c:13437
 msgid ".largecomm supported only in 64bit mode, producing .comm"
 msgstr ""
 
@@ -8527,7 +8913,7 @@ msgstr ""
 msgid "Unwind directive not followed by an instruction."
 msgstr ""
 
-#: config/tc-ia64.c:1025 config/tc-ia64.c:7610
+#: config/tc-ia64.c:1025 config/tc-ia64.c:7607
 msgid "qualifying predicate not followed by instruction"
 msgstr ""
 
@@ -8711,408 +9097,408 @@ msgstr ""
 msgid "Illegal section name `%s' (causes unwind section name clash)"
 msgstr ""
 
-#: config/tc-ia64.c:3742
+#: config/tc-ia64.c:3741
 msgid "First operand to .altrp not a valid branch register"
 msgstr ""
 
-#: config/tc-ia64.c:3771
+#: config/tc-ia64.c:3770
 #, c-format
 msgid "First operand to .%s not a register"
 msgstr ""
 
-#: config/tc-ia64.c:3776
+#: config/tc-ia64.c:3775
 #, c-format
 msgid "Second operand to .%s not a constant"
 msgstr ""
 
-#: config/tc-ia64.c:3843
+#: config/tc-ia64.c:3842
 #, c-format
 msgid "First operand to .%s not a valid register"
 msgstr ""
 
-#: config/tc-ia64.c:3866
+#: config/tc-ia64.c:3865
 msgid "First operand to .save.g must be a positive 4-bit constant"
 msgstr ""
 
-#: config/tc-ia64.c:3879
+#: config/tc-ia64.c:3878
 msgid "Second operand to .save.g must be a general register"
 msgstr ""
 
-#: config/tc-ia64.c:3884
+#: config/tc-ia64.c:3883
 #, c-format
 msgid "Second operand to .save.g must be the first of %d general registers"
 msgstr ""
 
-#: config/tc-ia64.c:3907
+#: config/tc-ia64.c:3906
 msgid "Operand to .save.f must be a positive 20-bit constant"
 msgstr ""
 
-#: config/tc-ia64.c:3930
+#: config/tc-ia64.c:3929
 msgid "First operand to .save.b must be a positive 5-bit constant"
 msgstr ""
 
-#: config/tc-ia64.c:3943
+#: config/tc-ia64.c:3942
 msgid "Second operand to .save.b must be a general register"
 msgstr ""
 
-#: config/tc-ia64.c:3948
+#: config/tc-ia64.c:3947
 #, c-format
 msgid "Second operand to .save.b must be the first of %d general registers"
 msgstr ""
 
-#: config/tc-ia64.c:3974
+#: config/tc-ia64.c:3973
 msgid "First operand to .save.gf must be a non-negative 4-bit constant"
 msgstr ""
 
-#: config/tc-ia64.c:3982
+#: config/tc-ia64.c:3981
 msgid "Second operand to .save.gf must be a non-negative 20-bit constant"
 msgstr ""
 
-#: config/tc-ia64.c:3990
+#: config/tc-ia64.c:3989
 msgid "Operands to .save.gf may not be both zero"
 msgstr ""
 
-#: config/tc-ia64.c:4007
+#: config/tc-ia64.c:4006
 msgid "Operand to .spill must be a constant"
 msgstr ""
 
-#: config/tc-ia64.c:4076
+#: config/tc-ia64.c:4075
 #, c-format
 msgid "Operand %d to .%s must be a constant"
 msgstr ""
 
-#: config/tc-ia64.c:4097
+#: config/tc-ia64.c:4096
 #, c-format
 msgid "Missing .label_state %ld"
 msgstr ""
 
-#: config/tc-ia64.c:4151
+#: config/tc-ia64.c:4150
 msgid "Operand to .label_state must be a constant"
 msgstr ""
 
-#: config/tc-ia64.c:4170
+#: config/tc-ia64.c:4169
 msgid "Operand to .copy_state must be a constant"
 msgstr ""
 
-#: config/tc-ia64.c:4193
+#: config/tc-ia64.c:4192
 msgid "First operand to .unwabi must be a constant"
 msgstr ""
 
-#: config/tc-ia64.c:4199
+#: config/tc-ia64.c:4198
 msgid "Second operand to .unwabi must be a constant"
 msgstr ""
 
-#: config/tc-ia64.c:4234
+#: config/tc-ia64.c:4233
 msgid "Missing .endp after previous .proc"
 msgstr ""
 
-#: config/tc-ia64.c:4252
+#: config/tc-ia64.c:4251
 msgid "Empty argument of .proc"
 msgstr ""
 
-#: config/tc-ia64.c:4257
+#: config/tc-ia64.c:4256
 #, c-format
 msgid "`%s' was already defined"
 msgstr ""
 
-#: config/tc-ia64.c:4300
+#: config/tc-ia64.c:4299
 msgid "Initial .body should precede any instructions"
 msgstr ""
 
-#: config/tc-ia64.c:4319
+#: config/tc-ia64.c:4318
 msgid ".prologue within prologue"
 msgstr ""
 
-#: config/tc-ia64.c:4324
+#: config/tc-ia64.c:4323
 msgid "Initial .prologue should precede any instructions"
 msgstr ""
 
-#: config/tc-ia64.c:4334
+#: config/tc-ia64.c:4333
 msgid "First operand to .prologue must be a positive 4-bit constant"
 msgstr ""
 
-#: config/tc-ia64.c:4336
+#: config/tc-ia64.c:4335
 msgid "Pointless use of zero first operand to .prologue"
 msgstr ""
 
-#: config/tc-ia64.c:4352
+#: config/tc-ia64.c:4351
 msgid "Using a constant as second operand to .prologue is deprecated"
 msgstr ""
 
-#: config/tc-ia64.c:4358
+#: config/tc-ia64.c:4357
 msgid "Second operand to .prologue must be a general register"
 msgstr ""
 
-#: config/tc-ia64.c:4363
+#: config/tc-ia64.c:4362
 #, c-format
 msgid "Second operand to .prologue must be the first of %d general registers"
 msgstr ""
 
-#: config/tc-ia64.c:4475
+#: config/tc-ia64.c:4474
 #, c-format
 msgid "`%s' was not defined within procedure"
 msgstr ""
 
-#: config/tc-ia64.c:4511
+#: config/tc-ia64.c:4510
 msgid "Empty argument of .endp"
 msgstr ""
 
-#: config/tc-ia64.c:4525
+#: config/tc-ia64.c:4524
 #, c-format
 msgid "`%s' was not specified with previous .proc"
 msgstr ""
 
-#: config/tc-ia64.c:4540
+#: config/tc-ia64.c:4539
 #, c-format
 msgid "`%s' should be an operand to this .endp"
 msgstr ""
 
-#: config/tc-ia64.c:4581 config/tc-ia64.c:4902 config/tc-ia64.c:5211
+#: config/tc-ia64.c:4580 config/tc-ia64.c:4901 config/tc-ia64.c:5210
 msgid "Comma expected"
 msgstr ""
 
-#: config/tc-ia64.c:4621
+#: config/tc-ia64.c:4620
 msgid "Expected '['"
 msgstr ""
 
-#: config/tc-ia64.c:4630 config/tc-ia64.c:7744
+#: config/tc-ia64.c:4629 config/tc-ia64.c:7741
 msgid "Expected ']'"
 msgstr ""
 
-#: config/tc-ia64.c:4635
+#: config/tc-ia64.c:4634
 msgid "Number of elements must be positive"
 msgstr ""
 
-#: config/tc-ia64.c:4646
+#: config/tc-ia64.c:4645
 #, c-format
 msgid "Used more than the declared %d rotating registers"
 msgstr ""
 
-#: config/tc-ia64.c:4654
+#: config/tc-ia64.c:4653
 msgid "Used more than the available 96 rotating registers"
 msgstr ""
 
-#: config/tc-ia64.c:4661
+#: config/tc-ia64.c:4660
 msgid "Used more than the available 48 rotating registers"
 msgstr ""
 
-#: config/tc-ia64.c:4689
+#: config/tc-ia64.c:4688
 #, c-format
 msgid "Attempt to redefine register set `%s'"
 msgstr ""
 
-#: config/tc-ia64.c:4754
+#: config/tc-ia64.c:4753
 #, c-format
 msgid "Unknown psr option `%s'"
 msgstr ""
 
-#: config/tc-ia64.c:4788
+#: config/tc-ia64.c:4787
 msgid "Missing section name"
 msgstr ""
 
-#: config/tc-ia64.c:4797
+#: config/tc-ia64.c:4796
 msgid "Comma expected after section name"
 msgstr ""
 
-#: config/tc-ia64.c:4808
+#: config/tc-ia64.c:4807
 msgid "Creating sections with .xdataN/.xrealN/.xstringZ is deprecated."
 msgstr ""
 
-#: config/tc-ia64.c:4897
+#: config/tc-ia64.c:4896
 msgid "Register name expected"
 msgstr ""
 
-#: config/tc-ia64.c:4910
+#: config/tc-ia64.c:4909
 msgid "Register value annotation ignored"
 msgstr ""
 
-#: config/tc-ia64.c:4949
+#: config/tc-ia64.c:4948
 msgid "Directive invalid within a bundle"
 msgstr ""
 
-#: config/tc-ia64.c:5043
+#: config/tc-ia64.c:5042
 msgid "Missing predicate relation type"
 msgstr ""
 
-#: config/tc-ia64.c:5049
+#: config/tc-ia64.c:5048
 msgid "Unrecognized predicate relation type"
 msgstr ""
 
-#: config/tc-ia64.c:5095
+#: config/tc-ia64.c:5094
 msgid "Bad register range"
 msgstr ""
 
-#: config/tc-ia64.c:5104 config/tc-ia64.c:7690
+#: config/tc-ia64.c:5103 config/tc-ia64.c:7687
 msgid "Predicate register expected"
 msgstr ""
 
-#: config/tc-ia64.c:5109
+#: config/tc-ia64.c:5108
 msgid "Duplicate predicate register ignored"
 msgstr ""
 
-#: config/tc-ia64.c:5125
+#: config/tc-ia64.c:5124
 msgid "Predicate source and target required"
 msgstr ""
 
-#: config/tc-ia64.c:5127 config/tc-ia64.c:5139
+#: config/tc-ia64.c:5126 config/tc-ia64.c:5138
 msgid "Use of p0 is not valid in this context"
 msgstr ""
 
-#: config/tc-ia64.c:5134
+#: config/tc-ia64.c:5133
 msgid "At least two PR arguments expected"
 msgstr ""
 
-#: config/tc-ia64.c:5148
+#: config/tc-ia64.c:5147
 msgid "At least one PR argument expected"
 msgstr ""
 
-#: config/tc-ia64.c:5182
+#: config/tc-ia64.c:5181
 #, c-format
 msgid "Inserting \"%s\" into entry hint table failed: %s"
 msgstr ""
 
 #. FIXME -- need 62-bit relocation type
-#: config/tc-ia64.c:5662
+#: config/tc-ia64.c:5661
 msgid "62-bit relocation not yet implemented"
 msgstr ""
 
 #. XXX technically, this is wrong: we should not be issuing warning
 #. messages until we're sure this instruction pattern is going to
 #. be used!
-#: config/tc-ia64.c:5748
+#: config/tc-ia64.c:5747
 msgid "lower 16 bits of mask ignored"
 msgstr ""
 
-#: config/tc-ia64.c:5979
+#: config/tc-ia64.c:5976
 msgid "stride must be a multiple of 64; lower 6 bits ignored"
 msgstr ""
 
-#: config/tc-ia64.c:6097
+#: config/tc-ia64.c:6094
 msgid "Expected separator `='"
 msgstr ""
 
-#: config/tc-ia64.c:6131
+#: config/tc-ia64.c:6128
 msgid "Duplicate equal sign (=) in instruction"
 msgstr ""
 
-#: config/tc-ia64.c:6138
+#: config/tc-ia64.c:6135
 #, c-format
 msgid "Illegal operand separator `%c'"
 msgstr ""
 
-#: config/tc-ia64.c:6253
+#: config/tc-ia64.c:6250
 #, c-format
 msgid "Operand %u of `%s' should be %s"
 msgstr ""
 
-#: config/tc-ia64.c:6257
+#: config/tc-ia64.c:6254
 msgid "Wrong number of output operands"
 msgstr ""
 
-#: config/tc-ia64.c:6259
+#: config/tc-ia64.c:6256
 msgid "Wrong number of input operands"
 msgstr ""
 
-#: config/tc-ia64.c:6261
+#: config/tc-ia64.c:6258
 msgid "Operand mismatch"
 msgstr ""
 
-#: config/tc-ia64.c:6343
+#: config/tc-ia64.c:6340
 #, c-format
 msgid "Invalid use of `%c%d' as output operand"
 msgstr ""
 
-#: config/tc-ia64.c:6346
+#: config/tc-ia64.c:6343
 #, c-format
 msgid "Invalid use of `r%d' as base update address operand"
 msgstr ""
 
-#: config/tc-ia64.c:6370
+#: config/tc-ia64.c:6367
 #, c-format
 msgid "Invalid duplicate use of `%c%d'"
 msgstr ""
 
-#: config/tc-ia64.c:6377
+#: config/tc-ia64.c:6374
 #, c-format
 msgid "Invalid simultaneous use of `f%d' and `f%d'"
 msgstr ""
 
-#: config/tc-ia64.c:6383
+#: config/tc-ia64.c:6380
 #, c-format
 msgid "Dangerous simultaneous use of `f%d' and `f%d'"
 msgstr ""
 
-#: config/tc-ia64.c:6427
+#: config/tc-ia64.c:6424
 msgid "Value truncated to 62 bits"
 msgstr ""
 
-#: config/tc-ia64.c:6495
+#: config/tc-ia64.c:6492
 #, c-format
 msgid "Bad operand value: %s"
 msgstr ""
 
 #. Give an error if a frag containing code is not aligned to a 16 byte
 #. boundary.
-#: config/tc-ia64.c:6570 config/tc-ia64.h:177
+#: config/tc-ia64.c:6567 config/tc-ia64.h:177
 msgid "instruction address is not a multiple of 16"
 msgstr ""
 
-#: config/tc-ia64.c:6638
+#: config/tc-ia64.c:6635
 #, c-format
 msgid "`%s' must be last in bundle"
 msgstr ""
 
-#: config/tc-ia64.c:6670
+#: config/tc-ia64.c:6667
 #, c-format
 msgid "Internal error: don't know how to force %s to end of instruction group"
 msgstr ""
 
-#: config/tc-ia64.c:6683
+#: config/tc-ia64.c:6680
 #, c-format
 msgid "`%s' must be last in instruction group"
 msgstr ""
 
-#: config/tc-ia64.c:6713
+#: config/tc-ia64.c:6710
 msgid "Label must be first in a bundle"
 msgstr ""
 
-#: config/tc-ia64.c:6790
+#: config/tc-ia64.c:6787
 msgid "hint in B unit may be treated as nop"
 msgstr ""
 
-#: config/tc-ia64.c:6801
+#: config/tc-ia64.c:6798
 msgid "hint in B unit can't be used"
 msgstr ""
 
-#: config/tc-ia64.c:6815
+#: config/tc-ia64.c:6812
 msgid "emit_one_bundle: unexpected dynamic op"
 msgstr ""
 
-#: config/tc-ia64.c:6940
+#: config/tc-ia64.c:6937
 #, c-format
 msgid "`%s' does not fit into %s template"
 msgstr ""
 
-#: config/tc-ia64.c:6955
+#: config/tc-ia64.c:6952
 #, c-format
 msgid "`%s' does not fit into bundle"
 msgstr ""
 
-#: config/tc-ia64.c:6967
+#: config/tc-ia64.c:6964
 #, c-format
 msgid "`%s' can't go in %s of %s template"
 msgstr ""
 
-#: config/tc-ia64.c:6973
+#: config/tc-ia64.c:6970
 msgid "Missing '}' at end of file"
 msgstr ""
 
-#: config/tc-ia64.c:7120
+#: config/tc-ia64.c:7117
 #, c-format
 msgid "Unrecognized option '-x%s'"
 msgstr ""
 
-#: config/tc-ia64.c:7147
+#: config/tc-ia64.c:7144
 msgid ""
 "IA-64 options:\n"
 "  --mconstant-gp\t  mark output file as using the constant-GP model\n"
@@ -9132,7 +9518,7 @@ msgid ""
 msgstr ""
 
 #. Note for translators: "automagically" can be translated as "automatically" here.
-#: config/tc-ia64.c:7164
+#: config/tc-ia64.c:7161
 msgid ""
 "  -xauto\t\t  automagically remove dependency violations (default)\n"
 "  -xnone\t\t  turn off dependency violation checking\n"
@@ -9143,235 +9529,235 @@ msgid ""
 "\t\t\t  dependency violation checking\n"
 msgstr ""
 
-#: config/tc-ia64.c:7179
+#: config/tc-ia64.c:7176
 msgid "--gstabs is not supported for ia64"
 msgstr ""
 
-#: config/tc-ia64.c:7417
+#: config/tc-ia64.c:7414
 #, c-format
 msgid "ia64.md_begin: can't hash `%s': %s"
 msgstr ""
 
-#: config/tc-ia64.c:7481
+#: config/tc-ia64.c:7478
 #, c-format
 msgid "Inserting \"%s\" into constant hash table failed: %s"
 msgstr ""
 
-#: config/tc-ia64.c:7493 config/tc-riscv.c:754 config/tc-riscv.c:3155
+#: config/tc-ia64.c:7490 config/tc-riscv.c:762 config/tc-riscv.c:3205
 #: config/tc-tilegx.c:262
 msgid "Could not set architecture and machine"
 msgstr ""
 
-#: config/tc-ia64.c:7625
+#: config/tc-ia64.c:7622
 msgid "Explicit stops are ignored in auto mode"
 msgstr ""
 
-#: config/tc-ia64.c:7634
+#: config/tc-ia64.c:7631
 msgid "Found '{' when manual bundling is already turned on"
 msgstr ""
 
-#: config/tc-ia64.c:7647
+#: config/tc-ia64.c:7644
 msgid "Found '{' after explicit switch to automatic mode"
 msgstr ""
 
-#: config/tc-ia64.c:7653
+#: config/tc-ia64.c:7650
 msgid "Found '}' when manual bundling is off"
 msgstr ""
 
-#: config/tc-ia64.c:7680
+#: config/tc-ia64.c:7677
 msgid "Expected ')'"
 msgstr ""
 
-#: config/tc-ia64.c:7685
+#: config/tc-ia64.c:7682
 msgid "Qualifying predicate expected"
 msgstr ""
 
-#: config/tc-ia64.c:7704
+#: config/tc-ia64.c:7701
 msgid "Tag must come before qualifying predicate."
 msgstr ""
 
-#: config/tc-ia64.c:7733
+#: config/tc-ia64.c:7730
 msgid "Expected ':'"
 msgstr ""
 
-#: config/tc-ia64.c:7749
+#: config/tc-ia64.c:7746
 msgid "Tag name expected"
 msgstr ""
 
-#: config/tc-ia64.c:7850
+#: config/tc-ia64.c:7847
 msgid "Rotating register index must be a non-negative constant"
 msgstr ""
 
-#: config/tc-ia64.c:7855
+#: config/tc-ia64.c:7852
 #, c-format
 msgid "Index out of range 0..%u"
 msgstr ""
 
-#: config/tc-ia64.c:7867
+#: config/tc-ia64.c:7864
 msgid "Indirect register index must be a general register"
 msgstr ""
 
-#: config/tc-ia64.c:7876
+#: config/tc-ia64.c:7873
 msgid "Index can only be applied to rotating or indirect registers"
 msgstr ""
 
-#: config/tc-ia64.c:7912 config/tc-xstormy16.c:145
+#: config/tc-ia64.c:7909 config/tc-xstormy16.c:145
 msgid "Expected '('"
 msgstr ""
 
-#: config/tc-ia64.c:7920 config/tc-pdp11.c:442 config/tc-pdp11.c:506
-#: config/tc-pdp11.c:540 config/tc-tilegx.c:1048 config/tc-tilepro.c:939
+#: config/tc-ia64.c:7917 config/tc-pdp11.c:446 config/tc-pdp11.c:510
+#: config/tc-pdp11.c:544 config/tc-tilegx.c:1048 config/tc-tilepro.c:939
 #: config/tc-xstormy16.c:154
 msgid "Missing ')'"
 msgstr ""
 
-#: config/tc-ia64.c:7938 config/tc-xstormy16.c:161
+#: config/tc-ia64.c:7935 config/tc-xstormy16.c:161
 msgid "Not a symbolic expression"
 msgstr ""
 
-#: config/tc-ia64.c:7943 config/tc-ia64.c:7957
+#: config/tc-ia64.c:7940 config/tc-ia64.c:7954
 msgid "Illegal combination of relocation functions"
 msgstr ""
 
-#: config/tc-ia64.c:8046
+#: config/tc-ia64.c:8043
 msgid "No current frame"
 msgstr ""
 
-#: config/tc-ia64.c:8048
+#: config/tc-ia64.c:8045
 #, c-format
 msgid "Register number out of range 0..%u"
 msgstr ""
 
-#: config/tc-ia64.c:8087
+#: config/tc-ia64.c:8084
 msgid "Standalone `#' is illegal"
 msgstr ""
 
-#: config/tc-ia64.c:8090
+#: config/tc-ia64.c:8087
 msgid "Redundant `#' suffix operators"
 msgstr ""
 
-#: config/tc-ia64.c:8248
+#: config/tc-ia64.c:8245
 #, c-format
 msgid "Unhandled dependency %s for %s (%s), note %d"
 msgstr ""
 
-#: config/tc-ia64.c:9561
+#: config/tc-ia64.c:9558
 #, c-format
 msgid "Unrecognized dependency specifier %d\n"
 msgstr ""
 
-#: config/tc-ia64.c:10431
+#: config/tc-ia64.c:10428
 msgid "Only the first path encountering the conflict is reported"
 msgstr ""
 
-#: config/tc-ia64.c:10433
+#: config/tc-ia64.c:10430
 msgid "This is the location of the conflicting usage"
 msgstr ""
 
-#: config/tc-ia64.c:10695
+#: config/tc-ia64.c:10692
 #, c-format
 msgid "Unknown opcode `%s'"
 msgstr ""
 
-#: config/tc-ia64.c:10773
+#: config/tc-ia64.c:10770
 #, c-format
 msgid "AR %d can only be accessed by %c-unit"
 msgstr ""
 
-#: config/tc-ia64.c:10785
+#: config/tc-ia64.c:10782
 msgid "hint.b may be treated as nop"
 msgstr ""
 
-#: config/tc-ia64.c:10788
+#: config/tc-ia64.c:10785
 msgid "hint.b shouldn't be used"
 msgstr ""
 
-#: config/tc-ia64.c:10827
+#: config/tc-ia64.c:10824
 #, c-format
 msgid "`%s' cannot be predicated"
 msgstr ""
 
-#: config/tc-ia64.c:10899
+#: config/tc-ia64.c:10896
 msgid "Closing bracket missing"
 msgstr ""
 
-#: config/tc-ia64.c:10908
+#: config/tc-ia64.c:10905
 msgid "Index must be a general register"
 msgstr ""
 
-#: config/tc-ia64.c:11073
+#: config/tc-ia64.c:11070
 #, c-format
 msgid "Unsupported fixup size %d"
 msgstr ""
 
 #. This should be an error, but since previously there wasn't any
 #. diagnostic here, don't make it fail because of this for now.
-#: config/tc-ia64.c:11345
+#: config/tc-ia64.c:11342
 #, c-format
 msgid "Cannot express %s%d%s relocation"
 msgstr ""
 
-#: config/tc-ia64.c:11364
+#: config/tc-ia64.c:11361
 msgid "No addend allowed in @fptr() relocation"
 msgstr ""
 
-#: config/tc-ia64.c:11403
+#: config/tc-ia64.c:11400
 msgid "integer operand out of range"
 msgstr ""
 
-#: config/tc-ia64.c:11470
+#: config/tc-ia64.c:11467
 #, c-format
 msgid "%s must have a constant value"
 msgstr ""
 
-#: config/tc-ia64.c:11490
+#: config/tc-ia64.c:11487
 msgid "cannot resolve @slotcount parameter"
 msgstr ""
 
-#: config/tc-ia64.c:11523
+#: config/tc-ia64.c:11520
 msgid "invalid @slotcount value"
 msgstr ""
 
-#: config/tc-ia64.c:11560 config/tc-z8k.c:1378
+#: config/tc-ia64.c:11557 config/tc-z8k.c:1378
 #, c-format
 msgid "Cannot represent %s relocation in object file"
 msgstr ""
 
-#: config/tc-ia64.c:11671
+#: config/tc-ia64.c:11666
 msgid "Can't add stop bit to mark end of instruction group"
 msgstr ""
 
-#: config/tc-ia64.c:11780 read.c:2600 read.c:3239 read.c:3643 stabs.c:469
+#: config/tc-ia64.c:11775 read.c:2600 read.c:3239 read.c:3643 stabs.c:469
 #, c-format
 msgid "expected comma after \"%s\""
 msgstr ""
 
-#: config/tc-ia64.c:11822
+#: config/tc-ia64.c:11817
 #, c-format
 msgid "`%s' is already the alias of %s `%s'"
 msgstr ""
 
-#: config/tc-ia64.c:11832
+#: config/tc-ia64.c:11827
 #, c-format
 msgid "%s `%s' already has an alias `%s'"
 msgstr ""
 
-#: config/tc-ia64.c:11843
+#: config/tc-ia64.c:11838
 #, c-format
 msgid "inserting \"%s\" into %s alias hash table failed: %s"
 msgstr ""
 
-#: config/tc-ia64.c:11851
+#: config/tc-ia64.c:11846
 #, c-format
 msgid "inserting \"%s\" into %s name hash table failed: %s"
 msgstr ""
 
-#: config/tc-ia64.c:11877
+#: config/tc-ia64.c:11872
 #, c-format
 msgid "symbol `%s' aliased to `%s' is not used"
 msgstr ""
 
-#: config/tc-ia64.c:11900
+#: config/tc-ia64.c:11895
 #, c-format
 msgid "section `%s' aliased to `%s' is not used"
 msgstr ""
@@ -9391,7 +9777,7 @@ msgstr ""
 msgid "  -mip2022ext            permit extended IP2022 insn\n"
 msgstr ""
 
-#: config/tc-ip2k.c:230
+#: config/tc-ip2k.c:232
 msgid "relaxation not supported\n"
 msgstr ""
 
@@ -9406,7 +9792,7 @@ msgid "Register number (R%ld) for double word access must be even."
 msgstr ""
 
 #: config/tc-iq2000.c:379 config/tc-iq2000.c:384 config/tc-iq2000.c:389
-#: config/tc-iq2000.c:406 config/tc-mt.c:244 config/tc-mt.c:249
+#: config/tc-iq2000.c:406 config/tc-mt.c:246 config/tc-mt.c:251
 #, c-format
 msgid "operand references R%ld of previous load."
 msgstr ""
@@ -9419,19 +9805,19 @@ msgstr ""
 msgid "Unmatched high relocation"
 msgstr ""
 
-#: config/tc-iq2000.c:826 config/tc-mips.c:19493 config/tc-score.c:5811
+#: config/tc-iq2000.c:826 config/tc-mips.c:19761 config/tc-score.c:5810
 msgid ".end not in text section"
 msgstr ""
 
-#: config/tc-iq2000.c:830 config/tc-score.c:5814
+#: config/tc-iq2000.c:830 config/tc-score.c:5813
 msgid ".end directive without a preceding .ent directive."
 msgstr ""
 
-#: config/tc-iq2000.c:839 config/tc-score.c:5822
+#: config/tc-iq2000.c:839 config/tc-score.c:5821
 msgid ".end symbol does not match .ent symbol."
 msgstr ""
 
-#: config/tc-iq2000.c:842 config/tc-mips.c:19513 config/tc-score.c:5827
+#: config/tc-iq2000.c:842 config/tc-mips.c:19781 config/tc-score.c:5826
 msgid ".end directive missing or unknown symbol"
 msgstr ""
 
@@ -9439,7 +9825,7 @@ msgstr ""
 msgid "Expected simple number."
 msgstr ""
 
-#: config/tc-iq2000.c:889 config/tc-mips.c:19418 config/tc-score.c:5663
+#: config/tc-iq2000.c:889 config/tc-mips.c:19686 config/tc-score.c:5662
 #, c-format
 msgid " *input_line_pointer == '%c' 0x%02x\n"
 msgstr ""
@@ -9448,7 +9834,7 @@ msgstr ""
 msgid "Invalid number"
 msgstr ""
 
-#: config/tc-iq2000.c:925 config/tc-score.c:5701
+#: config/tc-iq2000.c:925 config/tc-score.c:5700
 msgid ".ent or .aent not in text section."
 msgstr ""
 
@@ -9456,7 +9842,7 @@ msgstr ""
 msgid "missing `.end'"
 msgstr ""
 
-#: config/tc-m32c.c:142
+#: config/tc-m32c.c:141
 #, c-format
 msgid " M32C specific command line options:\n"
 msgstr ""
@@ -9686,8 +10072,8 @@ msgstr ""
 msgid ".SCOMMon length (%ld.) <0! Ignored."
 msgstr ""
 
-#: config/tc-m32r.c:1512 config/tc-microblaze.c:218 config/tc-ppc.c:2301
-#: config/tc-ppc.c:4077 config/tc-ppc.c:4119 config/tc-ppc.c:5679
+#: config/tc-m32r.c:1512 config/tc-microblaze.c:218 config/tc-ppc.c:2428
+#: config/tc-ppc.c:4423 config/tc-ppc.c:4465 config/tc-ppc.c:6022
 msgid "ignoring bad alignment"
 msgstr ""
 
@@ -10003,7 +10389,7 @@ msgstr ""
 msgid "Invalid indexed register, expecting register Y."
 msgstr ""
 
-#: config/tc-m68hc11.c:2844 config/tc-s12z.c:3676
+#: config/tc-m68hc11.c:2844 config/tc-s12z.c:3814
 msgid "No instruction or missing opcode."
 msgstr ""
 
@@ -10036,7 +10422,7 @@ msgstr ""
 msgid "bad .relax format"
 msgstr ""
 
-#: config/tc-m68hc11.c:3843 config/tc-s12z.c:3767 config/tc-xgate.c:630
+#: config/tc-m68hc11.c:3843 config/tc-s12z.c:3905 config/tc-xgate.c:630
 #, c-format
 msgid "Relocation %d is not supported by object file format."
 msgstr ""
@@ -10050,11 +10436,11 @@ msgstr ""
 msgid "Subtype %d is not recognized."
 msgstr ""
 
-#: config/tc-m68hc11.c:4336 config/tc-s12z.c:3808 config/tc-xgate.c:663
+#: config/tc-m68hc11.c:4336 config/tc-s12z.c:3946 config/tc-xgate.c:663
 msgid "Expression too complex."
 msgstr ""
 
-#: config/tc-m68hc11.c:4367 config/tc-s12z.c:3834 config/tc-xgate.c:708
+#: config/tc-m68hc11.c:4367 config/tc-s12z.c:3986 config/tc-xgate.c:708
 #: config/tc-xgate.c:717
 msgid "Value out of 16-bit range."
 msgstr ""
@@ -10094,12 +10480,12 @@ msgstr ""
 msgid "Offset out of 16-bit range for movw/movb insn: %ld"
 msgstr ""
 
-#: config/tc-m68hc11.c:4469 config/tc-s12z.c:3840 config/tc-xgate.c:752
+#: config/tc-m68hc11.c:4469 config/tc-s12z.c:3992 config/tc-xgate.c:752
 #, c-format
 msgid "Line %d: unknown relocation type: 0x%x."
 msgstr ""
 
-#: config/tc-m68hc11.c:4494
+#: config/tc-m68hc11.c:4494 config/tc-z80.c:3058 config/tc-z80.c:3078
 msgid "Invalid directive"
 msgstr ""
 
@@ -10158,7 +10544,7 @@ msgid "operands mismatch"
 msgstr ""
 
 #: config/tc-m68k.c:2447 config/tc-m68k.c:2453 config/tc-m68k.c:2459
-#: config/tc-mmix.c:2495 config/tc-mmix.c:2519
+#: config/tc-mmix.c:2494 config/tc-mmix.c:2518
 msgid "operand out of range"
 msgstr ""
 
@@ -10516,7 +10902,7 @@ msgstr ""
 msgid "Processor variants are: "
 msgstr ""
 
-#: config/tc-m68k.c:7638 config/tc-xtensa.c:6386
+#: config/tc-m68k.c:7638 config/tc-xtensa.c:6380
 #, c-format
 msgid "\n"
 msgstr ""
@@ -10535,7 +10921,7 @@ msgstr ""
 msgid "Not a defined coldfire architecture"
 msgstr ""
 
-#: config/tc-m68k.c:7927 read.c:4548
+#: config/tc-m68k.c:7927 read.c:4549
 #, c-format
 msgid "%s relocations do not fit in %u byte"
 msgid_plural "%s relocations do not fit in %u bytes"
@@ -10578,7 +10964,7 @@ msgstr ""
 #: config/tc-mcore.c:887 config/tc-microblaze.c:948 config/tc-microblaze.c:1080
 #: config/tc-microblaze.c:1112 config/tc-microblaze.c:1565
 #: config/tc-microblaze.c:1631 config/tc-microblaze.c:1704
-#: config/tc-microblaze.c:2129 config/tc-microblaze.c:2177
+#: config/tc-microblaze.c:2125 config/tc-microblaze.c:2173
 #, c-format
 msgid "unknown opcode \"%s\""
 msgstr ""
@@ -10691,11 +11077,11 @@ msgid ""
 "  -EL                     assemble for a little endian system\n"
 msgstr ""
 
-#: config/tc-mcore.c:1705 config/tc-microblaze.c:1862
+#: config/tc-mcore.c:1705 config/tc-microblaze.c:1859
 msgid "failed sanity check: short_jump"
 msgstr ""
 
-#: config/tc-mcore.c:1715 config/tc-microblaze.c:1872
+#: config/tc-mcore.c:1715 config/tc-microblaze.c:1869
 msgid "failed sanity check: long_jump"
 msgstr ""
 
@@ -10726,12 +11112,12 @@ msgstr ""
 msgid "pcrel for loopt too far (0x%lx)"
 msgstr ""
 
-#: config/tc-mcore.c:2185 config/tc-microblaze.c:2462 config/tc-tic30.c:1386
+#: config/tc-mcore.c:2185 config/tc-microblaze.c:2458 config/tc-tic30.c:1386
 #, c-format
 msgid "Can not do %d byte %srelocation"
 msgstr ""
 
-#: config/tc-mcore.c:2187 config/tc-microblaze.c:2464 config/tc-tic30.c:1387
+#: config/tc-mcore.c:2187 config/tc-microblaze.c:2460 config/tc-tic30.c:1387
 msgid "pc-relative "
 msgstr ""
 
@@ -11227,7 +11613,7 @@ msgstr ""
 msgid "cannot assemble FPU instruction, FPU option not set: %s"
 msgstr ""
 
-#: config/tc-metag.c:6739 config/tc-nds32.c:7349
+#: config/tc-metag.c:6736 config/tc-nds32.c:7346
 msgid "Bad call to md_atof()"
 msgstr ""
 
@@ -11325,765 +11711,765 @@ msgstr ""
 msgid "Immediate value for mbar > 32. using <value %% 32>"
 msgstr ""
 
-#: config/tc-microblaze.c:1812
+#: config/tc-microblaze.c:1809
 msgid "Bad call to MD_NTOF()"
 msgstr ""
 
-#: config/tc-microblaze.c:2081
+#: config/tc-microblaze.c:2077
 #, c-format
 msgid "pcrel for branch to %s too far (0x%x)"
 msgstr ""
 
 #. We know the abs value: Should never happen.
-#: config/tc-microblaze.c:2238
+#: config/tc-microblaze.c:2234
 msgid "Absolute PC-relative value in relaxation code.  Assembler error....."
 msgstr ""
 
 #. Cannot have a PC-relative branch to a diff segment.
-#: config/tc-microblaze.c:2252
+#: config/tc-microblaze.c:2248
 #, c-format
 msgid "PC relative branch to label %s which is not in the instruction space"
 msgstr ""
 
-#: config/tc-microblaze.c:2295
+#: config/tc-microblaze.c:2291
 msgid ""
 "Variable is accessed using small data read only anchor, but it is not in the "
 "small data read only section"
 msgstr ""
 
-#: config/tc-microblaze.c:2318
+#: config/tc-microblaze.c:2314
 msgid ""
 "Variable is accessed using small data read write anchor, but it is not in "
 "the small data read write section"
 msgstr ""
 
-#: config/tc-microblaze.c:2327
+#: config/tc-microblaze.c:2323
 msgid "Incorrect fr_opcode value in frag.  Internal error....."
 msgstr ""
 
 #. We know the abs value: Should never happen.
-#: config/tc-microblaze.c:2334
+#: config/tc-microblaze.c:2330
 msgid "Absolute value in relaxation code.  Assembler error....."
 msgstr ""
 
-#: config/tc-mips.c:2145
+#: config/tc-mips.c:2175
 #, c-format
 msgid "the %d-bit %s architecture does not support the `%s' extension"
 msgstr ""
 
-#: config/tc-mips.c:2148
+#: config/tc-mips.c:2178
 #, c-format
 msgid "the `%s' extension requires %s%d revision %d or greater"
 msgstr ""
 
-#: config/tc-mips.c:2157
+#: config/tc-mips.c:2187
 #, c-format
 msgid "the `%s' extension was removed in %s%d revision %d"
 msgstr ""
 
-#: config/tc-mips.c:2166
+#: config/tc-mips.c:2196
 #, c-format
 msgid "the `%s' extension requires 64-bit FPRs"
 msgstr ""
 
-#: config/tc-mips.c:3009 config/tc-mips.c:16354
+#: config/tc-mips.c:3048 config/tc-mips.c:16618
 #, c-format
 msgid "unrecognized register name `%s'"
 msgstr ""
 
-#: config/tc-mips.c:3236
+#: config/tc-mips.c:3275
 msgid "invalid register range"
 msgstr ""
 
-#: config/tc-mips.c:3264
+#: config/tc-mips.c:3303
 msgid "vector element must be constant"
 msgstr ""
 
-#: config/tc-mips.c:3274
+#: config/tc-mips.c:3313
 msgid "missing `]'"
 msgstr ""
 
-#: config/tc-mips.c:3497
+#: config/tc-mips.c:3536
 #, c-format
 msgid "internal: bad mips opcode (mask error): %s %s"
 msgstr ""
 
-#: config/tc-mips.c:3524
+#: config/tc-mips.c:3563
 #, c-format
 msgid "internal: unknown operand type: %s %s"
 msgstr ""
 
-#: config/tc-mips.c:3557
+#: config/tc-mips.c:3596
 #, c-format
 msgid "internal: bad mips opcode (bits 0x%08lx doubly defined): %s %s"
 msgstr ""
 
-#: config/tc-mips.c:3565
+#: config/tc-mips.c:3604
 #, c-format
 msgid "internal: bad mips opcode (bits 0x%08lx undefined): %s %s"
 msgstr ""
 
-#: config/tc-mips.c:3572
+#: config/tc-mips.c:3611
 #, c-format
 msgid "internal: bad mips opcode (bits 0x%08lx defined): %s %s"
 msgstr ""
 
-#: config/tc-mips.c:3607
+#: config/tc-mips.c:3646
 #, c-format
 msgid "internal error: bad microMIPS opcode (incorrect length: %u): %s %s"
 msgstr ""
 
-#: config/tc-mips.c:3615
+#: config/tc-mips.c:3654
 #, c-format
 msgid "internal error: bad microMIPS opcode (opcode/length mismatch): %s %s"
 msgstr ""
 
-#: config/tc-mips.c:3641
+#: config/tc-mips.c:3680
 msgid "-G may not be used in position-independent code"
 msgstr ""
 
-#: config/tc-mips.c:3647
+#: config/tc-mips.c:3686
 msgid "-G may not be used with abicalls"
 msgstr ""
 
 #. Probably a memory allocation problem?  Give up now.
-#: config/tc-mips.c:3667 config/tc-mips.c:3758
+#: config/tc-mips.c:3706 config/tc-mips.c:3802
 msgid "broken assembler, no assembly attempted"
 msgstr ""
 
-#: config/tc-mips.c:3697 config/tc-mips.c:3726
+#: config/tc-mips.c:3741 config/tc-mips.c:3770
 #, c-format
 msgid "internal: can't hash `%s': %s"
 msgstr ""
 
-#: config/tc-mips.c:3908
+#: config/tc-mips.c:3950
 #, c-format
 msgid ".gnu_attribute %d,%d is incompatible with `%s'"
 msgstr ""
 
-#: config/tc-mips.c:3915
+#: config/tc-mips.c:3957
 #, c-format
 msgid ".gnu_attribute %d,%d requires `%s'"
 msgstr ""
 
-#: config/tc-mips.c:3976
+#: config/tc-mips.c:4018
 #, c-format
 msgid ".gnu_attribute %d,%d is no longer supported"
 msgstr ""
 
-#: config/tc-mips.c:3985
+#: config/tc-mips.c:4027
 #, c-format
 msgid ".gnu_attribute %d,%d is not a recognized floating-point ABI"
 msgstr ""
 
-#: config/tc-mips.c:3998
+#: config/tc-mips.c:4040
 msgid "`gp=64' used with a 32-bit processor"
 msgstr ""
 
-#: config/tc-mips.c:4001
+#: config/tc-mips.c:4043
 msgid "`gp=32' used with a 64-bit ABI"
 msgstr ""
 
-#: config/tc-mips.c:4004
+#: config/tc-mips.c:4046
 msgid "`gp=64' used with a 32-bit ABI"
 msgstr ""
 
-#: config/tc-mips.c:4011
+#: config/tc-mips.c:4053
 msgid "`fp=xx' used with a cpu lacking ldc1/sdc1 instructions"
 msgstr ""
 
-#: config/tc-mips.c:4013
+#: config/tc-mips.c:4055
 msgid "`fp=xx' cannot be used with `singlefloat'"
 msgstr ""
 
-#: config/tc-mips.c:4017
+#: config/tc-mips.c:4059
 msgid "`fp=64' used with a 32-bit fpu"
 msgstr ""
 
-#: config/tc-mips.c:4021
+#: config/tc-mips.c:4063
 msgid "`fp=64' used with a 32-bit ABI"
 msgstr ""
 
-#: config/tc-mips.c:4026
+#: config/tc-mips.c:4068
 msgid "`fp=32' used with a 64-bit ABI"
 msgstr ""
 
-#: config/tc-mips.c:4028
+#: config/tc-mips.c:4070
 msgid "`fp=32' used with a MIPS R6 cpu"
 msgstr ""
 
-#: config/tc-mips.c:4031
+#: config/tc-mips.c:4073
 msgid "Unknown size of floating point registers"
 msgstr ""
 
-#: config/tc-mips.c:4036
+#: config/tc-mips.c:4078
 msgid "`nooddspreg` cannot be used with a 64-bit ABI"
 msgstr ""
 
-#: config/tc-mips.c:4039 config/tc-mips.c:4043
+#: config/tc-mips.c:4081 config/tc-mips.c:4085
 #, c-format
 msgid "`%s' cannot be used with `%s'"
 msgstr ""
 
-#: config/tc-mips.c:4048
+#: config/tc-mips.c:4090
 #, c-format
 msgid "branch relaxation is not supported in `%s'"
 msgstr ""
 
-#: config/tc-mips.c:4128
+#: config/tc-mips.c:4166
 msgid "trap exception not supported at ISA 1"
 msgstr ""
 
-#: config/tc-mips.c:4141 config/tc-mips.c:17234
+#: config/tc-mips.c:4179 config/tc-mips.c:17501
 #, c-format
 msgid "`%s' does not support legacy NaN"
 msgstr ""
 
-#: config/tc-mips.c:4188
+#: config/tc-mips.c:4226
 #, c-format
 msgid "returned from mips_ip(%s) insn_opcode = 0x%x\n"
 msgstr ""
 
-#: config/tc-mips.c:4893
+#: config/tc-mips.c:4932
 #, c-format
 msgid "operand %d out of range"
 msgstr ""
 
-#: config/tc-mips.c:4901
+#: config/tc-mips.c:4940
 #, c-format
 msgid "operand %d must be constant"
 msgstr ""
 
-#: config/tc-mips.c:4945 read.c:4316 read.c:5162 write.c:265 write.c:1026
+#: config/tc-mips.c:4984 read.c:4317 read.c:5163 write.c:263 write.c:1024
 msgid "register value used as expression"
 msgstr ""
 
-#: config/tc-mips.c:4958
+#: config/tc-mips.c:4997
 #, c-format
 msgid "operand %d must be an immediate expression"
 msgstr ""
 
-#: config/tc-mips.c:5079 config/tc-mips.c:5081
+#: config/tc-mips.c:5118 config/tc-mips.c:5120
 #, c-format
 msgid "float register should be even, was %d"
 msgstr ""
 
-#: config/tc-mips.c:5094
+#: config/tc-mips.c:5133
 #, c-format
 msgid "condition code register should be even for %s, was %d"
 msgstr ""
 
-#: config/tc-mips.c:5099
+#: config/tc-mips.c:5138
 #, c-format
 msgid "condition code register should be 0 or 4 for %s, was %d"
 msgstr ""
 
-#: config/tc-mips.c:5420
+#: config/tc-mips.c:5459
 msgid "invalid performance register"
 msgstr ""
 
-#: config/tc-mips.c:5516
+#: config/tc-mips.c:5555 config/tc-mips.c:6026
 msgid "the source register must not be $0"
 msgstr ""
 
-#: config/tc-mips.c:5792
+#: config/tc-mips.c:5831
 msgid "missing frame size"
 msgstr ""
 
-#: config/tc-mips.c:5797
+#: config/tc-mips.c:5836
 msgid "frame size specified twice"
 msgstr ""
 
-#: config/tc-mips.c:5802
+#: config/tc-mips.c:5841
 msgid "invalid frame size"
 msgstr ""
 
-#: config/tc-mips.c:5842
+#: config/tc-mips.c:5881
 #, c-format
 msgid "operand %d must be an immediate"
 msgstr ""
 
-#: config/tc-mips.c:5857
+#: config/tc-mips.c:5896
 msgid "invalid element selector"
 msgstr ""
 
-#: config/tc-mips.c:5870
+#: config/tc-mips.c:5909
 #, c-format
 msgid "operand %d must be scalar"
 msgstr ""
 
-#: config/tc-mips.c:6047
+#: config/tc-mips.c:6089
 msgid "floating-point expression required"
 msgstr ""
 
-#: config/tc-mips.c:6147
+#: config/tc-mips.c:6189
 #, c-format
 msgid "cannot use `%s' in this section"
 msgstr ""
 
-#: config/tc-mips.c:6294
+#: config/tc-mips.c:6336
 msgid "used $at without \".set noat\""
 msgstr ""
 
-#: config/tc-mips.c:6296
+#: config/tc-mips.c:6338
 #, c-format
 msgid "used $%u with \".set at=$%u\""
 msgstr ""
 
-#: config/tc-mips.c:7337
+#: config/tc-mips.c:7485
 #, c-format
 msgid "wrong size instruction in a %u-bit branch delay slot"
 msgstr ""
 
-#: config/tc-mips.c:7357 config/tc-mips.c:7367 config/tc-mips.c:15660
+#: config/tc-mips.c:7505 config/tc-mips.c:7515 config/tc-mips.c:15916
 #, c-format
 msgid "jump to misaligned address (0x%lx)"
 msgstr ""
 
-#: config/tc-mips.c:7382 config/tc-mips.c:7402 config/tc-mips.c:7419
-#: config/tc-mips.c:8969 config/tc-mips.c:15514 config/tc-mips.c:15521
-#: config/tc-mips.c:15915 config/tc-mips.c:18749
+#: config/tc-mips.c:7530 config/tc-mips.c:7550 config/tc-mips.c:7567
+#: config/tc-mips.c:9117 config/tc-mips.c:15770 config/tc-mips.c:15777
+#: config/tc-mips.c:16170 config/tc-mips.c:19016
 #, c-format
 msgid "branch to misaligned address (0x%lx)"
 msgstr ""
 
-#: config/tc-mips.c:7388 config/tc-mips.c:7406 config/tc-mips.c:7423
-#: config/tc-mips.c:8972
+#: config/tc-mips.c:7536 config/tc-mips.c:7554 config/tc-mips.c:7571
+#: config/tc-mips.c:9120
 #, c-format
 msgid "branch address range overflow (0x%lx)"
 msgstr ""
 
-#: config/tc-mips.c:7668
+#: config/tc-mips.c:7816
 msgid "extended instruction in delay slot"
 msgstr ""
 
-#: config/tc-mips.c:8132
+#: config/tc-mips.c:8280
 msgid "source and destination must be different"
 msgstr ""
 
-#: config/tc-mips.c:8135
+#: config/tc-mips.c:8283
 msgid "a destination register must be supplied"
 msgstr ""
 
-#: config/tc-mips.c:8140
+#: config/tc-mips.c:8288
 msgid "the source register must not be $31"
 msgstr ""
 
-#: config/tc-mips.c:8388 config/tc-mips.c:14284 config/tc-mips.c:18895
+#: config/tc-mips.c:8536 config/tc-mips.c:14506 config/tc-mips.c:19163
 msgid "invalid unextended operand value"
 msgstr ""
 
-#: config/tc-mips.c:8506
+#: config/tc-mips.c:8654
 #, c-format
 msgid "opcode not supported on this processor: %s (%s)"
 msgstr ""
 
-#: config/tc-mips.c:8585
+#: config/tc-mips.c:8733
 msgid "opcode not supported in the `insn32' mode"
 msgstr ""
 
-#: config/tc-mips.c:8588
+#: config/tc-mips.c:8736
 #, c-format
 msgid "unrecognized %d-bit version of microMIPS opcode"
 msgstr ""
 
-#: config/tc-mips.c:8644
+#: config/tc-mips.c:8792
 msgid "unrecognized unextended version of MIPS16 opcode"
 msgstr ""
 
-#: config/tc-mips.c:8647
+#: config/tc-mips.c:8795
 msgid "unrecognized extended version of MIPS16 opcode"
 msgstr ""
 
-#: config/tc-mips.c:8697 config/tc-mips.c:18766
+#: config/tc-mips.c:8845 config/tc-mips.c:19034
 msgid ""
 "macro instruction expanded into multiple instructions in a branch delay slot"
 msgstr ""
 
-#: config/tc-mips.c:8700 config/tc-mips.c:18774
+#: config/tc-mips.c:8848 config/tc-mips.c:19042
 msgid "macro instruction expanded into multiple instructions"
 msgstr ""
 
-#: config/tc-mips.c:8704
+#: config/tc-mips.c:8852
 msgid ""
 "macro instruction expanded into a wrong size instruction in a 16-bit branch "
 "delay slot"
 msgstr ""
 
-#: config/tc-mips.c:8706
+#: config/tc-mips.c:8854
 msgid ""
 "macro instruction expanded into a wrong size instruction in a 32-bit branch "
 "delay slot"
 msgstr ""
 
-#: config/tc-mips.c:9169
+#: config/tc-mips.c:9317
 msgid "operand overflow"
 msgstr ""
 
-#: config/tc-mips.c:9188 config/tc-mips.c:9772 config/tc-mips.c:13765
+#: config/tc-mips.c:9336 config/tc-mips.c:9920 config/tc-mips.c:13987
 msgid "macro used $at after \".set noat\""
 msgstr ""
 
-#: config/tc-mips.c:9336 config/tc-mips.c:12104 config/tc-mips.c:12763
+#: config/tc-mips.c:9484 config/tc-mips.c:12298 config/tc-mips.c:12981
 #, c-format
 msgid "number (0x%s) larger than 32 bits"
 msgstr ""
 
-#: config/tc-mips.c:9356
+#: config/tc-mips.c:9504
 msgid "number larger than 64 bits"
 msgstr ""
 
-#: config/tc-mips.c:9650 config/tc-mips.c:9678 config/tc-mips.c:9716
-#: config/tc-mips.c:9761 config/tc-mips.c:12339 config/tc-mips.c:12378
-#: config/tc-mips.c:12417 config/tc-mips.c:12859 config/tc-mips.c:12911
+#: config/tc-mips.c:9798 config/tc-mips.c:9826 config/tc-mips.c:9864
+#: config/tc-mips.c:9909 config/tc-mips.c:12541 config/tc-mips.c:12580
+#: config/tc-mips.c:12619 config/tc-mips.c:13077 config/tc-mips.c:13129
 msgid "PIC code offset overflow (max 16 signed bits)"
 msgstr ""
 
-#: config/tc-mips.c:10289
+#: config/tc-mips.c:10442
 #, c-format
 msgid "BALIGN immediate not 0, 1, 2 or 3 (%lu)"
 msgstr ""
 
-#. result is always true
-#: config/tc-mips.c:10385
+#. Result is always true.
+#: config/tc-mips.c:10538
 #, c-format
 msgid "branch %s is always true"
 msgstr ""
 
-#: config/tc-mips.c:10613 config/tc-mips.c:10723
+#: config/tc-mips.c:10766 config/tc-mips.c:10876
 msgid "divide by zero"
 msgstr ""
 
-#: config/tc-mips.c:10813
+#: config/tc-mips.c:10966
 msgid "dla used to load 32-bit register; recommend using la instead"
 msgstr ""
 
-#: config/tc-mips.c:10817
+#: config/tc-mips.c:10970
 msgid "la used to load 64-bit address; recommend using dla instead"
 msgstr ""
 
-#: config/tc-mips.c:10926 config/tc-riscv.c:1075 config/tc-z80.c:732
+#: config/tc-mips.c:11079 config/tc-riscv.c:1111 config/tc-z80.c:1125
 msgid "offset too large"
 msgstr ""
 
-#: config/tc-mips.c:11100 config/tc-mips.c:11378
+#: config/tc-mips.c:11253 config/tc-mips.c:11531
 msgid "PIC code offset overflow (max 32 signed bits)"
 msgstr ""
 
-#: config/tc-mips.c:11448 config/tc-mips.c:11524
+#: config/tc-mips.c:11601 config/tc-mips.c:11677
 #, c-format
 msgid "opcode not supported in the `insn32' mode `%s'"
 msgstr ""
 
-#: config/tc-mips.c:11476
+#: config/tc-mips.c:11629
 msgid "MIPS PIC call to register other than $25"
 msgstr ""
 
-#: config/tc-mips.c:11492 config/tc-mips.c:11503 config/tc-mips.c:11636
-#: config/tc-mips.c:11647
+#: config/tc-mips.c:11645 config/tc-mips.c:11656 config/tc-mips.c:11789
+#: config/tc-mips.c:11800
 msgid "no .cprestore pseudo-op used in PIC code"
 msgstr ""
 
-#: config/tc-mips.c:11497 config/tc-mips.c:11641
+#: config/tc-mips.c:11650 config/tc-mips.c:11794
 msgid "no .frame pseudo-op used in PIC code"
 msgstr ""
 
-#: config/tc-mips.c:11662
+#: config/tc-mips.c:11815
 msgid "non-PIC jump used in PIC library"
 msgstr ""
 
-#: config/tc-mips.c:12589
+#: config/tc-mips.c:12798
 #, c-format
 msgid "Unable to generate `%s' compliant code without mthc1"
 msgstr ""
 
-#: config/tc-mips.c:13323
+#: config/tc-mips.c:13541
 #, c-format
 msgid "instruction %s: result is always false"
 msgstr ""
 
-#: config/tc-mips.c:13476
+#: config/tc-mips.c:13694
 #, c-format
 msgid "instruction %s: result is always true"
 msgstr ""
 
 #. FIXME: Check if this is one of the itbl macros, since they
 #. are added dynamically.
-#: config/tc-mips.c:13761
+#: config/tc-mips.c:13983
 #, c-format
 msgid "macro %s not implemented yet"
 msgstr ""
 
-#: config/tc-mips.c:14294
+#: config/tc-mips.c:14516
 msgid "extended operand requested but not required"
 msgstr ""
 
-#: config/tc-mips.c:14303
+#: config/tc-mips.c:14525
 msgid "operand value out of range for instruction"
 msgstr ""
 
-#: config/tc-mips.c:14402
+#: config/tc-mips.c:14624
 #, c-format
 msgid "relocation %s isn't supported by the current ABI"
 msgstr ""
 
-#: config/tc-mips.c:14458
+#: config/tc-mips.c:14680
 msgid "unclosed '('"
 msgstr ""
 
-#: config/tc-mips.c:14524
+#: config/tc-mips.c:14746
 #, c-format
 msgid "a different %s was already specified, is now %s"
 msgstr ""
 
-#: config/tc-mips.c:14691
+#: config/tc-mips.c:14913
 msgid "-mmicromips cannot be used with -mips16"
 msgstr ""
 
-#: config/tc-mips.c:14706
+#: config/tc-mips.c:14928
 msgid "-mips16 cannot be used with -micromips"
 msgstr ""
 
-#: config/tc-mips.c:14867 config/tc-mips.c:14925
+#: config/tc-mips.c:15097 config/tc-mips.c:15155
 msgid "no compiled in support for 64 bit object file format"
 msgstr ""
 
-#: config/tc-mips.c:14932
+#: config/tc-mips.c:15162
 #, c-format
 msgid "invalid abi -mabi=%s"
 msgstr ""
 
-#: config/tc-mips.c:14972
+#: config/tc-mips.c:15202
 #, c-format
 msgid "invalid NaN setting -mnan=%s"
 msgstr ""
 
-#: config/tc-mips.c:15006
+#: config/tc-mips.c:15236
 msgid "-G not supported in this configuration"
 msgstr ""
 
-#: config/tc-mips.c:15032
+#: config/tc-mips.c:15262
 #, c-format
 msgid "-%s conflicts with the other architecture options, which imply -%s"
 msgstr ""
 
-#: config/tc-mips.c:15048
+#: config/tc-mips.c:15278
 #, c-format
 msgid "-march=%s is not compatible with the selected ABI"
 msgstr ""
 
-#: config/tc-mips.c:15518 config/tc-mips.c:15909 config/tc-mips.c:18746
+#: config/tc-mips.c:15774 config/tc-mips.c:16164 config/tc-mips.c:19013
 msgid "branch to a symbol in another ISA mode"
 msgstr ""
 
-#: config/tc-mips.c:15525 config/tc-mips.c:15666 config/tc-mips.c:15919
+#: config/tc-mips.c:15781 config/tc-mips.c:15921 config/tc-mips.c:16174
 #, c-format
 msgid "cannot encode misaligned addend in the relocatable field (0x%lx)"
 msgstr ""
 
-#: config/tc-mips.c:15562
+#: config/tc-mips.c:15818
 msgid "PC-relative reference to a different section"
 msgstr ""
 
-#: config/tc-mips.c:15634 config/tc-riscv.c:2366
+#: config/tc-mips.c:15890 config/tc-riscv.c:2412
 msgid "TLS relocation against a constant"
 msgstr ""
 
-#: config/tc-mips.c:15654
+#: config/tc-mips.c:15910
 msgid "jump to a symbol in another ISA mode"
 msgstr ""
 
-#: config/tc-mips.c:15657
+#: config/tc-mips.c:15913
 msgid "JALX to a symbol in the same ISA mode"
 msgstr ""
 
-#: config/tc-mips.c:15742
+#: config/tc-mips.c:15997
 msgid "unsupported constant in relocation"
 msgstr ""
 
-#: config/tc-mips.c:15814
+#: config/tc-mips.c:16069
 #, c-format
 msgid "PC-relative access using misaligned symbol (%lx)"
 msgstr ""
 
-#: config/tc-mips.c:15818
+#: config/tc-mips.c:16073
 #, c-format
 msgid "PC-relative access using misaligned offset (%lx)"
 msgstr ""
 
-#: config/tc-mips.c:15831 config/tc-mips.c:15850
+#: config/tc-mips.c:16086 config/tc-mips.c:16105
 msgid "PC-relative access out of range"
 msgstr ""
 
-#: config/tc-mips.c:15837
+#: config/tc-mips.c:16092
 #, c-format
 msgid "PC-relative access to misaligned address (%lx)"
 msgstr ""
 
-#: config/tc-mips.c:16004
+#: config/tc-mips.c:16259
 #, c-format
 msgid "alignment too large, %d assumed"
 msgstr ""
 
-#: config/tc-mips.c:16007
+#: config/tc-mips.c:16262
 msgid "alignment negative, 0 assumed"
 msgstr ""
 
-#: config/tc-mips.c:16249
+#: config/tc-mips.c:16498
 #, c-format
 msgid "%s: no such section"
 msgstr ""
 
-#: config/tc-mips.c:16290
+#: config/tc-mips.c:16554
 #, c-format
 msgid ".option pic%d not supported"
 msgstr ""
 
-#: config/tc-mips.c:16292
+#: config/tc-mips.c:16556
 #, c-format
 msgid ".option pic%d not supported in VxWorks PIC mode"
 msgstr ""
 
-#: config/tc-mips.c:16304 config/tc-mips.c:16641
+#: config/tc-mips.c:16568 config/tc-mips.c:16908
 msgid "-G may not be used with SVR4 PIC code"
 msgstr ""
 
-#: config/tc-mips.c:16310
+#: config/tc-mips.c:16574
 #, c-format
 msgid "unrecognized option \"%s\""
 msgstr ""
 
-#: config/tc-mips.c:16416
+#: config/tc-mips.c:16680
 #, c-format
 msgid "unknown architecture %s"
 msgstr ""
 
-#: config/tc-mips.c:16430 config/tc-mips.c:16592
+#: config/tc-mips.c:16695 config/tc-mips.c:16859
 #, c-format
 msgid "unknown ISA level %s"
 msgstr ""
 
-#: config/tc-mips.c:16439
+#: config/tc-mips.c:16705
 #, c-format
 msgid "unknown ISA or architecture %s"
 msgstr ""
 
-#: config/tc-mips.c:16498
+#: config/tc-mips.c:16764
 msgid "`noreorder' must be set before `nomacro'"
 msgstr ""
 
-#: config/tc-mips.c:16527
+#: config/tc-mips.c:16794
 msgid ".set pop with no .set push"
 msgstr ""
 
-#: config/tc-mips.c:16546
+#: config/tc-mips.c:16813
 #, c-format
 msgid "tried to set unrecognized symbol: %s\n"
 msgstr ""
 
-#: config/tc-mips.c:16619
+#: config/tc-mips.c:16886
 #, c-format
 msgid ".module used with unrecognized symbol: %s\n"
 msgstr ""
 
-#: config/tc-mips.c:16625
+#: config/tc-mips.c:16892
 msgid ".module is not permitted after generating code"
 msgstr ""
 
-#: config/tc-mips.c:16685 config/tc-mips.c:16764 config/tc-mips.c:16868
-#: config/tc-mips.c:16898 config/tc-mips.c:16947
+#: config/tc-mips.c:16952 config/tc-mips.c:17031 config/tc-mips.c:17135
+#: config/tc-mips.c:17165 config/tc-mips.c:17214
 #, c-format
 msgid "%s not supported in MIPS16 mode"
 msgstr ""
 
-#: config/tc-mips.c:16692
+#: config/tc-mips.c:16959
 msgid ".cpload not in noreorder section"
 msgstr ""
 
-#: config/tc-mips.c:16773 config/tc-mips.c:16792
+#: config/tc-mips.c:17040 config/tc-mips.c:17059
 msgid "missing argument separator ',' for .cpsetup"
 msgstr ""
 
-#: config/tc-mips.c:16990
+#: config/tc-mips.c:17257
 #, c-format
 msgid "unsupported use of %s"
 msgstr ""
 
-#: config/tc-mips.c:17081
+#: config/tc-mips.c:17348
 msgid "unsupported use of .gpword"
 msgstr ""
 
-#: config/tc-mips.c:17119
+#: config/tc-mips.c:17386
 msgid "unsupported use of .gpdword"
 msgstr ""
 
-#: config/tc-mips.c:17151
+#: config/tc-mips.c:17418
 msgid "unsupported use of .ehword"
 msgstr ""
 
-#: config/tc-mips.c:17238
+#: config/tc-mips.c:17505
 msgid "bad .nan directive"
 msgstr ""
 
-#: config/tc-mips.c:17287
+#: config/tc-mips.c:17554
 #, c-format
 msgid "ignoring attempt to redefine symbol %s"
 msgstr ""
 
-#: config/tc-mips.c:17302 ecoff.c:3372
+#: config/tc-mips.c:17569 ecoff.c:3372
 msgid "bad .weakext directive"
 msgstr ""
 
-#: config/tc-mips.c:18271 config/tc-mips.c:18548
+#: config/tc-mips.c:18538 config/tc-mips.c:18815
 msgid "relaxed out-of-range branch into a jump"
 msgstr ""
 
-#: config/tc-mips.c:18770
+#: config/tc-mips.c:19038
 msgid "extended instruction in a branch delay slot"
 msgstr ""
 
-#: config/tc-mips.c:18884 config/tc-xtensa.c:1686 config/tc-xtensa.c:1964
+#: config/tc-mips.c:19152 config/tc-xtensa.c:1676 config/tc-xtensa.c:1954
 msgid "unsupported relocation"
 msgstr ""
 
-#: config/tc-mips.c:19392 config/tc-score.c:5637
+#: config/tc-mips.c:19660 config/tc-score.c:5636
 msgid "expected simple number"
 msgstr ""
 
-#: config/tc-mips.c:19420 config/tc-score.c:5664
+#: config/tc-mips.c:19688 config/tc-score.c:5663
 msgid "invalid number"
 msgstr ""
 
-#: config/tc-mips.c:19497 ecoff.c:2999
+#: config/tc-mips.c:19765 ecoff.c:2999
 msgid ".end directive without a preceding .ent directive"
 msgstr ""
 
-#: config/tc-mips.c:19506
+#: config/tc-mips.c:19774
 msgid ".end symbol does not match .ent symbol"
 msgstr ""
 
-#: config/tc-mips.c:19583
+#: config/tc-mips.c:19851
 msgid ".ent or .aent not in text section"
 msgstr ""
 
-#: config/tc-mips.c:19586 config/tc-score.c:5703
+#: config/tc-mips.c:19854 config/tc-score.c:5702
 msgid "missing .end"
 msgstr ""
 
-#: config/tc-mips.c:19669
+#: config/tc-mips.c:19937
 msgid ".mask/.fmask outside of .ent"
 msgstr ""
 
-#: config/tc-mips.c:19676
+#: config/tc-mips.c:19944
 msgid "bad .mask/.fmask directive"
 msgstr ""
 
-#: config/tc-mips.c:19977
+#: config/tc-mips.c:20247
 #, c-format
 msgid "bad value (%s) for %s"
 msgstr ""
 
-#: config/tc-mips.c:20041
+#: config/tc-mips.c:20311
 #, c-format
 msgid ""
 "MIPS options:\n"
@@ -12094,7 +12480,7 @@ msgid ""
 "\t\t\timplicitly with the gp register [default 8]\n"
 msgstr ""
 
-#: config/tc-mips.c:20048
+#: config/tc-mips.c:20318
 #, c-format
 msgid ""
 "-mips1\t\t\tgenerate MIPS ISA I instructions\n"
@@ -12115,7 +12501,7 @@ msgid ""
 "-march=CPU/-mtune=CPU\tgenerate code/schedule for CPU, where CPU is one of:\n"
 msgstr ""
 
-#: config/tc-mips.c:20073
+#: config/tc-mips.c:20343
 #, c-format
 msgid ""
 "-mCPU\t\t\tequivalent to -march=CPU -mtune=CPU. Deprecated.\n"
@@ -12123,105 +12509,105 @@ msgid ""
 "\t\t\tFor -mCPU and -no-mCPU, CPU must be one of:\n"
 msgstr ""
 
-#: config/tc-mips.c:20086
+#: config/tc-mips.c:20356
 #, c-format
 msgid ""
 "-mips16\t\t\tgenerate mips16 instructions\n"
 "-no-mips16\t\tdo not generate mips16 instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20089
+#: config/tc-mips.c:20359
 #, c-format
 msgid ""
 "-mmips16e2\t\tgenerate MIPS16e2 instructions\n"
 "-mno-mips16e2\t\tdo not generate MIPS16e2 instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20092
+#: config/tc-mips.c:20362
 #, c-format
 msgid ""
 "-mmicromips\t\tgenerate microMIPS instructions\n"
 "-mno-micromips\t\tdo not generate microMIPS instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20095
+#: config/tc-mips.c:20365
 #, c-format
 msgid ""
 "-msmartmips\t\tgenerate smartmips instructions\n"
 "-mno-smartmips\t\tdo not generate smartmips instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20098
+#: config/tc-mips.c:20368
 #, c-format
 msgid ""
 "-mdsp\t\t\tgenerate DSP instructions\n"
 "-mno-dsp\t\tdo not generate DSP instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20101
+#: config/tc-mips.c:20371
 #, c-format
 msgid ""
 "-mdspr2\t\t\tgenerate DSP R2 instructions\n"
 "-mno-dspr2\t\tdo not generate DSP R2 instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20104
+#: config/tc-mips.c:20374
 #, c-format
 msgid ""
 "-mdspr3\t\t\tgenerate DSP R3 instructions\n"
 "-mno-dspr3\t\tdo not generate DSP R3 instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20107
+#: config/tc-mips.c:20377
 #, c-format
 msgid ""
 "-mmt\t\t\tgenerate MT instructions\n"
 "-mno-mt\t\t\tdo not generate MT instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20110
+#: config/tc-mips.c:20380
 #, c-format
 msgid ""
 "-mmcu\t\t\tgenerate MCU instructions\n"
 "-mno-mcu\t\tdo not generate MCU instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20113
+#: config/tc-mips.c:20383
 #, c-format
 msgid ""
 "-mmsa\t\t\tgenerate MSA instructions\n"
 "-mno-msa\t\tdo not generate MSA instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20116
+#: config/tc-mips.c:20386
 #, c-format
 msgid ""
 "-mxpa\t\t\tgenerate eXtended Physical Address (XPA) instructions\n"
 "-mno-xpa\t\tdo not generate eXtended Physical Address (XPA) instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20119
+#: config/tc-mips.c:20389
 #, c-format
 msgid ""
 "-mvirt\t\t\tgenerate Virtualization instructions\n"
 "-mno-virt\t\tdo not generate Virtualization instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20122
+#: config/tc-mips.c:20392
 #, c-format
 msgid ""
 "-mcrc\t\t\tgenerate CRC instructions\n"
 "-mno-crc\t\tdo not generate CRC instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20125
+#: config/tc-mips.c:20395
 #, c-format
 msgid ""
 "-mginv\t\t\tgenerate Global INValidate (GINV) instructions\n"
 "-mno-ginv\t\tdo not generate Global INValidate instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20128
+#: config/tc-mips.c:20398
 #, c-format
 msgid ""
 "-mloongson-mmi\t\tgenerate Loongson MultiMedia extensions Instructions (MMI) "
@@ -12230,7 +12616,7 @@ msgid ""
 "Instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20131
+#: config/tc-mips.c:20401
 #, c-format
 msgid ""
 "-mloongson-cam\t\tgenerate Loongson Content Address Memory (CAM) "
@@ -12239,32 +12625,49 @@ msgid ""
 "Instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20134
+#: config/tc-mips.c:20404
 #, c-format
 msgid ""
 "-mloongson-ext\t\tgenerate Loongson EXTensions (EXT) instructions\n"
 "-mno-loongson-ext\tdo not generate Loongson EXTensions Instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20137
+#: config/tc-mips.c:20407
 #, c-format
 msgid ""
 "-mloongson-ext2\t\tgenerate Loongson EXTensions R2 (EXT2) instructions\n"
 "-mno-loongson-ext2\tdo not generate Loongson EXTensions R2 Instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20140
+#: config/tc-mips.c:20410
 #, c-format
 msgid ""
 "-minsn32\t\tonly generate 32-bit microMIPS instructions\n"
 "-mno-insn32\t\tgenerate all microMIPS instructions\n"
 msgstr ""
 
-#: config/tc-mips.c:20143
+#: config/tc-mips.c:20414
+#, c-format
+msgid ""
+"-mfix-loongson3-llsc\twork around Loongson3 LL/SC errata, default\n"
+"-mno-fix-loongson3-llsc\tdisable work around Loongson3 LL/SC errata\n"
+msgstr ""
+
+#: config/tc-mips.c:20418
+#, c-format
+msgid ""
+"-mfix-loongson3-llsc\twork around Loongson3 LL/SC errata\n"
+"-mno-fix-loongson3-llsc\tdisable work around Loongson3 LL/SC errata, "
+"default\n"
+msgstr ""
+
+#: config/tc-mips.c:20422
 #, c-format
 msgid ""
 "-mfix-loongson2f-jump\twork around Loongson2F JUMP instructions\n"
 "-mfix-loongson2f-nop\twork around Loongson2F NOP errata\n"
+"-mfix-loongson3-llsc\twork around Loongson3 LL/SC errata\n"
+"-mno-fix-loongson3-llsc\tdisable work around Loongson3 LL/SC errata\n"
 "-mfix-vr4120\t\twork around certain VR4120 errata\n"
 "-mfix-vr4130\t\twork around VR4130 mflo/mfhi errata\n"
 "-mfix-24k\t\tinsert a nop after ERET and DERET instructions\n"
@@ -12280,7 +12683,7 @@ msgid ""
 "--break, --no-trap\tbreak exception on div by 0 and mult overflow\n"
 msgstr ""
 
-#: config/tc-mips.c:20159
+#: config/tc-mips.c:20440
 #, c-format
 msgid ""
 "-mhard-float\t\tallow floating-point instructions\n"
@@ -12295,7 +12698,7 @@ msgid ""
 "-mnan=ENCODING\t\tselect an IEEE 754 NaN encoding convention, either of:\n"
 msgstr ""
 
-#: config/tc-mips.c:20177
+#: config/tc-mips.c:20458
 #, c-format
 msgid ""
 "-KPIC, -call_shared\tgenerate SVR4 position independent code\n"
@@ -12309,26 +12712,26 @@ msgid ""
 "-mabi=ABI\t\tcreate ABI conformant object file for:\n"
 msgstr ""
 
-#: config/tc-mips.c:20198
+#: config/tc-mips.c:20479
 #, c-format
 msgid "-32\t\t\tcreate o32 ABI object file%s\n"
 msgstr ""
 
-#: config/tc-mips.c:20200 config/tc-mips.c:20203 config/tc-mips.c:20206
+#: config/tc-mips.c:20481 config/tc-mips.c:20484 config/tc-mips.c:20487
 msgid " (default)"
 msgstr ""
 
-#: config/tc-mips.c:20201
+#: config/tc-mips.c:20482
 #, c-format
 msgid "-n32\t\t\tcreate n32 ABI object file%s\n"
 msgstr ""
 
-#: config/tc-mips.c:20204
+#: config/tc-mips.c:20485
 #, c-format
 msgid "-64\t\t\tcreate 64 ABI object file%s\n"
 msgstr ""
 
-#: config/tc-mips.c:20286
+#: config/tc-mips.c:20567
 msgid "missing .end at end of assembly"
 msgstr ""
 
@@ -12405,8 +12808,8 @@ msgstr ""
 msgid "specified location wasn't TETRA-aligned"
 msgstr ""
 
-#: config/tc-mmix.c:973 config/tc-mmix.c:988 config/tc-mmix.c:4214
-#: config/tc-mmix.c:4230
+#: config/tc-mmix.c:973 config/tc-mmix.c:988 config/tc-mmix.c:4213
+#: config/tc-mmix.c:4229
 msgid "unaligned data at an absolute location is not supported"
 msgstr ""
 
@@ -12450,130 +12853,130 @@ msgstr ""
 msgid "can't create section %s"
 msgstr ""
 
-#: config/tc-mmix.c:2136
+#: config/tc-mmix.c:2135
 #, c-format
 msgid "can't set section flags for section %s"
 msgstr ""
 
-#: config/tc-mmix.c:2157
+#: config/tc-mmix.c:2156
 msgid "ESPEC without preceding BSPEC"
 msgstr ""
 
-#: config/tc-mmix.c:2186
+#: config/tc-mmix.c:2185
 msgid "missing local expression"
 msgstr ""
 
-#: config/tc-mmix.c:2396
+#: config/tc-mmix.c:2395
 msgid "operand out of range, instruction expanded"
 msgstr ""
 
 #. The BFD_RELOC_MMIX_LOCAL-specific message is supposed to be
 #. user-friendly, though a little bit non-substantial.
-#: config/tc-mmix.c:2647
+#: config/tc-mmix.c:2646
 msgid "directive LOCAL must be placed in code or data"
 msgstr ""
 
-#: config/tc-mmix.c:2648
+#: config/tc-mmix.c:2647
 msgid "internal confusion: relocation in a section without contents"
 msgstr ""
 
-#: config/tc-mmix.c:2762
+#: config/tc-mmix.c:2761
 msgid "internal: BFD_RELOC_MMIX_BASE_PLUS_OFFSET not resolved to section"
 msgstr ""
 
-#: config/tc-mmix.c:2810
+#: config/tc-mmix.c:2809
 msgid "no suitable GREG definition for operands"
 msgstr ""
 
-#: config/tc-mmix.c:2869
+#: config/tc-mmix.c:2868
 msgid "operands were not reducible at assembly-time"
 msgstr ""
 
-#: config/tc-mmix.c:2896
+#: config/tc-mmix.c:2895
 #, c-format
 msgid "cannot generate relocation type for symbol %s, code %s"
 msgstr ""
 
-#: config/tc-mmix.c:2916
+#: config/tc-mmix.c:2915
 #, c-format
 msgid "internal: unhandled label %s"
 msgstr ""
 
-#: config/tc-mmix.c:2945
+#: config/tc-mmix.c:2944
 msgid "[0-9]H labels may not appear alone on a line"
 msgstr ""
 
-#: config/tc-mmix.c:2953
+#: config/tc-mmix.c:2952
 msgid "[0-9]H labels do not mix with dot-pseudos"
 msgstr ""
 
-#: config/tc-mmix.c:3041
+#: config/tc-mmix.c:3040
 msgid "invalid characters in input"
 msgstr ""
 
-#: config/tc-mmix.c:3147
+#: config/tc-mmix.c:3146
 msgid "empty label field for IS"
 msgstr ""
 
-#: config/tc-mmix.c:3473
+#: config/tc-mmix.c:3472
 #, c-format
 msgid "internal: unexpected relax type %d:%d"
 msgstr ""
 
-#: config/tc-mmix.c:3497
+#: config/tc-mmix.c:3496
 msgid "BSPEC without ESPEC."
 msgstr ""
 
-#: config/tc-mmix.c:3562
+#: config/tc-mmix.c:3561
 msgid "LOC to section unknown or indeterminable at first pass"
 msgstr ""
 
-#: config/tc-mmix.c:3734
+#: config/tc-mmix.c:3733
 msgid "GREG expression too complicated"
 msgstr ""
 
-#: config/tc-mmix.c:3749
+#: config/tc-mmix.c:3748
 msgid "internal: GREG expression not resolved to section"
 msgstr ""
 
-#: config/tc-mmix.c:3798
+#: config/tc-mmix.c:3797
 msgid "register section has contents\n"
 msgstr ""
 
-#: config/tc-mmix.c:3925
+#: config/tc-mmix.c:3924
 msgid "section change from within a BSPEC/ESPEC pair is not supported"
 msgstr ""
 
-#: config/tc-mmix.c:3946
+#: config/tc-mmix.c:3945
 msgid "directive LOC from within a BSPEC/ESPEC pair is not supported"
 msgstr ""
 
-#: config/tc-mmix.c:3956
+#: config/tc-mmix.c:3955
 msgid "invalid LOC expression"
 msgstr ""
 
-#: config/tc-mmix.c:4001 config/tc-mmix.c:4028
+#: config/tc-mmix.c:4000 config/tc-mmix.c:4027
 msgid "LOC expression stepping backwards is not supported"
 msgstr ""
 
 #. We will only get here in rare cases involving #NO_APP,
 #. where the unterminated string is not recognized by the
 #. preformatting pass.
-#: config/tc-mmix.c:4137 config/tc-mmix.c:4295 config/tc-z80.c:1748
+#: config/tc-mmix.c:4136 config/tc-mmix.c:4294 config/tc-z80.c:2808
 msgid "unterminated string"
 msgstr ""
 
-#: config/tc-mmix.c:4154
+#: config/tc-mmix.c:4153
 msgid "BYTE expression not a pure number"
 msgstr ""
 
 #. Note that mmixal does not allow negative numbers in
 #. BYTE sequences, so neither should we.
-#: config/tc-mmix.c:4163
+#: config/tc-mmix.c:4162
 msgid "BYTE expression not in the range 0..255"
 msgstr ""
 
-#: config/tc-mmix.c:4212 config/tc-mmix.c:4228
+#: config/tc-mmix.c:4211 config/tc-mmix.c:4227
 msgid "data item with alignment larger than location"
 msgstr ""
 
@@ -12590,15 +12993,15 @@ msgid ""
 "none yet\n"
 msgstr ""
 
-#: config/tc-mn10200.c:896 config/tc-mn10300.c:1253 config/tc-s390.c:1697
+#: config/tc-mn10200.c:896 config/tc-mn10300.c:1253 config/tc-s390.c:1699
 #: config/tc-v850.c:2328
 #, c-format
 msgid "Unrecognized opcode: `%s'"
 msgstr ""
 
 #. xgettext:c-format.
-#: config/tc-mn10200.c:1139 config/tc-mn10300.c:1821 config/tc-ppc.c:3759
-#: config/tc-s390.c:1610 config/tc-v850.c:3043
+#: config/tc-mn10200.c:1139 config/tc-mn10300.c:1821 config/tc-ppc.c:4069
+#: config/tc-s390.c:1612 config/tc-v850.c:3043
 #, c-format
 msgid "junk at end of line: `%s'"
 msgstr ""
@@ -12661,42 +13064,111 @@ msgstr ""
 msgid "pcrel too far BFD_RELOC_MOXIE_10"
 msgstr ""
 
-#: config/tc-msp430.c:519
+#: config/tc-msp430.c:520
 msgid ".profiler pseudo requires at least two operands."
 msgstr ""
 
-#: config/tc-msp430.c:578
+#: config/tc-msp430.c:579
 msgid "unknown profiling flag - ignored."
 msgstr ""
 
-#: config/tc-msp430.c:594
+#: config/tc-msp430.c:595
 msgid "ambiguous flags combination - '.profiler' directive ignored."
 msgstr ""
 
-#: config/tc-msp430.c:604
+#: config/tc-msp430.c:605
 msgid "profiling in absolute section?"
 msgstr ""
 
-#: config/tc-msp430.c:1374
+#: config/tc-msp430.c:1380
 #, c-format
 msgid "Unrecognised CPU errata name starting here: %s"
 msgstr ""
 
-#: config/tc-msp430.c:1380
+#: config/tc-msp430.c:1386
 #, c-format
 msgid "Expecting comma after CPU errata name, not: %s"
 msgstr ""
 
-#: config/tc-msp430.c:1390
+#: config/tc-msp430.c:1396
 msgid "MCU option requires a name\n"
 msgstr ""
 
-#: config/tc-msp430.c:1428
+#: config/tc-msp430.c:1434
 #, c-format
 msgid "unrecognised argument to -mcpu option '%s'"
 msgstr ""
 
-#: config/tc-msp430.c:1603
+#: config/tc-msp430.c:1631
+#, c-format
+msgid "bad arguments \"%s\" and/or \"%s\" in %s directive"
+msgstr ""
+
+#: config/tc-msp430.c:1643
+#, c-format
+msgid "file was compiled for the 430 ISA but the %s ISA is selected"
+msgstr ""
+
+#: config/tc-msp430.c:1648
+msgid "file was compiled for the 430X ISA but the 430 ISA is selected"
+msgstr ""
+
+#: config/tc-msp430.c:1652
+#, c-format
+msgid ""
+"unknown MSPABI build attribute value '%d' for OFBA_MSPABI_Tag_ISA(%d) in ."
+"mspabi_attribute directive"
+msgstr ""
+
+#: config/tc-msp430.c:1667
+msgid ""
+"file was compiled for the small memory model, but the large memory model is "
+"selected"
+msgstr ""
+
+#: config/tc-msp430.c:1672
+msgid ""
+"file was compiled for the large memory model, but the small memory model is "
+"selected"
+msgstr ""
+
+#: config/tc-msp430.c:1676
+#, c-format
+msgid ""
+"unknown MSPABI build attribute value '%d' for %s(%d) in .mspabi_attribute "
+"directive"
+msgstr ""
+
+#: config/tc-msp430.c:1688
+#, c-format
+msgid "unknown MSPABI build attribute tag '%d' in .mspabi_attribute directive"
+msgstr ""
+
+#: config/tc-msp430.c:1704
+msgid ""
+"file was compiled assuming all data will be in the lower memory region, but "
+"the upper region is in use"
+msgstr ""
+
+#: config/tc-msp430.c:1709
+msgid ""
+"file was compiled assuming data could be in the upper memory region, but the "
+"lower data region is exclusively in use"
+msgstr ""
+
+#: config/tc-msp430.c:1714
+#, c-format
+msgid ""
+"unknown GNU build attribute value '%d' for Tag_GNU_MSP430_Data_Region(%d) "
+"in .gnu_attribute directive"
+msgstr ""
+
+#: config/tc-msp430.c:1720
+#, c-format
+msgid "internal: unexpected argument '%d' to msp430_object_attribute"
+msgstr ""
+
+#: config/tc-msp430.c:1770
 #, c-format
 msgid ""
 "MSP430 options:\n"
@@ -12704,7 +13176,7 @@ msgid ""
 "  -mcpu={430|430x|430xv2} - select microcontroller architecture\n"
 msgstr ""
 
-#: config/tc-msp430.c:1607
+#: config/tc-msp430.c:1774
 #, c-format
 msgid ""
 "  -msilicon-errata=<name>[,<name>...] - enable fixups for silicon errata\n"
@@ -12713,373 +13185,390 @@ msgid ""
 "   supported errata names: cpu4, cpu8, cpu11, cpu12, cpu13, cpu19\n"
 msgstr ""
 
-#: config/tc-msp430.c:1611
+#: config/tc-msp430.c:1778
 #, c-format
 msgid ""
 "  -mQ - enable relaxation at assembly time. DANGEROUS!\n"
 "  -mP - enable polymorph instructions\n"
 msgstr ""
 
-#: config/tc-msp430.c:1614
+#: config/tc-msp430.c:1781
 #, c-format
 msgid "  -ml - enable large code model\n"
 msgstr ""
 
-#: config/tc-msp430.c:1616
+#: config/tc-msp430.c:1783
 #, c-format
 msgid "  -mN - do not insert NOPs after changing interrupts (default)\n"
 msgstr ""
 
-#: config/tc-msp430.c:1618
+#: config/tc-msp430.c:1785
 #, c-format
 msgid "  -mn - insert a NOP after changing interrupts\n"
 msgstr ""
 
-#: config/tc-msp430.c:1620
+#: config/tc-msp430.c:1787
 #, c-format
 msgid "  -mY - do not warn about missing NOPs after changing interrupts\n"
 msgstr ""
 
-#: config/tc-msp430.c:1622
+#: config/tc-msp430.c:1789
 #, c-format
 msgid "  -my - warn about missing NOPs after changing interrupts (default)\n"
 msgstr ""
 
-#: config/tc-msp430.c:1624
+#: config/tc-msp430.c:1791
+#, c-format
+msgid ""
+"  -mU - for an instruction which changes interrupt state, but where it is "
+"not\n"
+"        known how the state is changed, do not warn/insert NOPs\n"
+msgstr ""
+
+#: config/tc-msp430.c:1794
+#, c-format
+msgid ""
+"  -mu - for an instruction which changes interrupt state, but where it is "
+"not\n"
+"        known how the state is changed, warn/insert NOPs (default)\n"
+"        -mn and/or -my are required for this to have any effect\n"
+msgstr ""
+
+#: config/tc-msp430.c:1798
 #, c-format
 msgid "  -md - Force copying of data from ROM to RAM at startup\n"
 msgstr ""
 
-#: config/tc-msp430.c:1626
+#: config/tc-msp430.c:1800
 #, c-format
 msgid ""
 "  -mdata-region={none|lower|upper|either} - select region data will be\n"
 "    placed in.\n"
 msgstr ""
 
-#: config/tc-msp430.c:1789
+#: config/tc-msp430.c:1963
 #, c-format
 msgid "extra characters '%s' at end of immediate expression '%s'"
 msgstr ""
 
-#: config/tc-msp430.c:1821 config/tc-msp430.c:2004 config/tc-msp430.c:2118
+#: config/tc-msp430.c:1995 config/tc-msp430.c:2178 config/tc-msp430.c:2292
 #, c-format
 msgid "value 0x%x out of extended range."
 msgstr ""
 
-#: config/tc-msp430.c:1827
+#: config/tc-msp430.c:2001
 #, c-format
 msgid "value %d out of range. Use #lo() or #hi()"
 msgstr ""
 
-#: config/tc-msp430.c:1873
+#: config/tc-msp430.c:2047
 msgid "cpu4: not converting PUSH #4 to shorter form"
 msgstr ""
 
-#: config/tc-msp430.c:1890
+#: config/tc-msp430.c:2064
 msgid "cpu4: not converting PUSH #8 to shorter form"
 msgstr ""
 
-#: config/tc-msp430.c:1904
+#: config/tc-msp430.c:2078
 msgid "error: unsupported #foo() directive used on symbol"
 msgstr ""
 
-#: config/tc-msp430.c:1921
+#: config/tc-msp430.c:2095
 #, c-format
 msgid "unknown expression in operand %s.  Use #llo(), #lhi(), #hlo() or #hhi()"
 msgstr ""
 
-#: config/tc-msp430.c:1972
+#: config/tc-msp430.c:2146
 #, c-format
 msgid "Registers cannot be used within immediate expression [%s]"
 msgstr ""
 
-#: config/tc-msp430.c:1974
+#: config/tc-msp430.c:2148
 #, c-format
 msgid "unknown operand %s"
 msgstr ""
 
-#: config/tc-msp430.c:1991
+#: config/tc-msp430.c:2165
 #, c-format
 msgid "extra characters '%s' at the end of absolute operand '%s'"
 msgstr ""
 
-#: config/tc-msp430.c:2010 config/tc-msp430.c:2124
+#: config/tc-msp430.c:2184 config/tc-msp430.c:2298
 #, c-format
 msgid "value out of range: 0x%x"
 msgstr ""
 
-#: config/tc-msp430.c:2021
+#: config/tc-msp430.c:2195
 #, c-format
 msgid "Registers cannot be used within absolute expression [%s]"
 msgstr ""
 
-#: config/tc-msp430.c:2023 config/tc-msp430.c:2153
+#: config/tc-msp430.c:2197 config/tc-msp430.c:2327
 #, c-format
 msgid "unknown expression in operand %s"
 msgstr ""
 
-#: config/tc-msp430.c:2037
+#: config/tc-msp430.c:2211
 #, c-format
 msgid "unknown addressing mode %s"
 msgstr ""
 
-#: config/tc-msp430.c:2045
+#: config/tc-msp430.c:2219
 #, c-format
 msgid "Bad register name %s"
 msgstr ""
 
-#: config/tc-msp430.c:2056
+#: config/tc-msp430.c:2230
 msgid "cannot use indirect addressing with the PC"
 msgstr ""
 
-#: config/tc-msp430.c:2076
+#: config/tc-msp430.c:2250
 msgid "')' required"
 msgstr ""
 
-#: config/tc-msp430.c:2088
+#: config/tc-msp430.c:2262
 #, c-format
 msgid "unknown operator %s. Did you mean X(Rn) or #[hl][hl][oi](CONST) ?"
 msgstr ""
 
-#: config/tc-msp430.c:2095
+#: config/tc-msp430.c:2269
 msgid "r2 should not be used in indexed addressing mode"
 msgstr ""
 
-#: config/tc-msp430.c:2107 config/tc-msp430.c:2181 config/tc-msp430.c:3314
-#: config/tc-msp430.c:3382 config/tc-msp430.c:3499 config/tc-msp430.c:3921
-#: config/tc-msp430.c:4020 config/tc-msp430.c:4071
+#: config/tc-msp430.c:2281 config/tc-msp430.c:2355 config/tc-msp430.c:3500
+#: config/tc-msp430.c:3568 config/tc-msp430.c:3685 config/tc-msp430.c:4107
+#: config/tc-msp430.c:4206 config/tc-msp430.c:4257
 #, c-format
 msgid "extra characters '%s' at end of operand '%s'"
 msgstr ""
 
-#: config/tc-msp430.c:2139 config/tc-msp430.c:2141
+#: config/tc-msp430.c:2313 config/tc-msp430.c:2315
 msgid "CPU8: Stack pointer accessed with an odd offset"
 msgstr ""
 
-#: config/tc-msp430.c:2151
+#: config/tc-msp430.c:2325
 #, c-format
 msgid "Registers cannot be used as a prefix of indexed expression [%s]"
 msgstr ""
 
-#: config/tc-msp430.c:2215
+#: config/tc-msp430.c:2389
 #, c-format
 msgid "Internal bug. Try to use 0(r%d) instead of @r%d"
 msgstr ""
 
-#: config/tc-msp430.c:2225
+#: config/tc-msp430.c:2399
 msgid "this addressing mode is not applicable for destination operand"
 msgstr ""
 
-#: config/tc-msp430.c:2256 config/tc-msp430.c:2391 config/tc-msp430.c:2428
-#: config/tc-msp430.c:2458 config/tc-msp430.c:3250 config/tc-msp430.c:3333
-#: config/tc-msp430.c:3421
+#: config/tc-msp430.c:2430 config/tc-msp430.c:2565 config/tc-msp430.c:2602
+#: config/tc-msp430.c:2632 config/tc-msp430.c:3436 config/tc-msp430.c:3519
+#: config/tc-msp430.c:3607
 #, c-format
 msgid "expected register as second argument of %s"
 msgstr ""
 
-#: config/tc-msp430.c:2295 config/tc-msp430.c:2361
+#: config/tc-msp430.c:2469 config/tc-msp430.c:2535
 #, c-format
 msgid "index value too big for %s"
 msgstr ""
 
-#: config/tc-msp430.c:2312 config/tc-msp430.c:2378 config/tc-msp430.c:2485
+#: config/tc-msp430.c:2486 config/tc-msp430.c:2552 config/tc-msp430.c:2659
 #, c-format
 msgid "unexpected addressing mode for %s"
 msgstr ""
 
-#: config/tc-msp430.c:2398 config/tc-msp430.c:2435 config/tc-msp430.c:2465
+#: config/tc-msp430.c:2572 config/tc-msp430.c:2609 config/tc-msp430.c:2639
 #, c-format
 msgid "constant generator destination register found in %s"
 msgstr ""
 
-#: config/tc-msp430.c:2442 config/tc-msp430.c:2472
+#: config/tc-msp430.c:2616 config/tc-msp430.c:2646
 #, c-format
 msgid "constant generator source register found in %s"
 msgstr ""
 
-#: config/tc-msp430.c:2641
+#: config/tc-msp430.c:2826
 msgid "no size modifier after period, .w assumed"
 msgstr ""
 
-#: config/tc-msp430.c:2645
+#: config/tc-msp430.c:2830
 #, c-format
 msgid "unrecognised instruction size modifier .%c"
 msgstr ""
 
-#: config/tc-msp430.c:2659
+#: config/tc-msp430.c:2844
 #, c-format
 msgid "junk found after instruction: %s.%s"
 msgstr ""
 
-#: config/tc-msp430.c:2679
+#: config/tc-msp430.c:2864
 #, c-format
 msgid "instruction %s.a does not exist"
 msgstr ""
 
-#: config/tc-msp430.c:2693
+#: config/tc-msp430.c:2878
 #, c-format
 msgid "instruction %s requires %d operand"
 msgid_plural "instruction %s requires %d operands"
 msgstr[0] ""
 msgstr[1] ""
 
-#: config/tc-msp430.c:2711
+#: config/tc-msp430.c:2896
 #, c-format
 msgid "instruction %s requires MSP430X mcu"
 msgstr ""
 
-#: config/tc-msp430.c:2731
+#: config/tc-msp430.c:2916
 #, c-format
 msgid "unable to repeat %s insn"
 msgstr ""
 
-#: config/tc-msp430.c:2803
+#: config/tc-msp430.c:2988
 msgid "CPU12: CMP/BIT with PC destination ignores next instruction"
 msgstr ""
 
-#: config/tc-msp430.c:2811
+#: config/tc-msp430.c:2996
 msgid "CPU19: Instruction setting CPUOFF must be followed by a NOP"
 msgstr ""
 
-#: config/tc-msp430.c:2818
+#: config/tc-msp430.c:3003
 msgid "internal error: unknown nop check state"
 msgstr ""
 
-#: config/tc-msp430.c:2871 config/tc-msp430.c:2873 config/tc-msp430.c:3582
-#: config/tc-msp430.c:3584
+#: config/tc-msp430.c:3057 config/tc-msp430.c:3059 config/tc-msp430.c:3768
+#: config/tc-msp430.c:3770
 msgid "CPU11: PC is destination of SR altering instruction"
 msgstr ""
 
-#: config/tc-msp430.c:2888 config/tc-msp430.c:2890 config/tc-msp430.c:2995
-#: config/tc-msp430.c:2997 config/tc-msp430.c:3599 config/tc-msp430.c:3601
-#: config/tc-msp430.c:3820 config/tc-msp430.c:3822
+#: config/tc-msp430.c:3074 config/tc-msp430.c:3076 config/tc-msp430.c:3181
+#: config/tc-msp430.c:3183 config/tc-msp430.c:3785 config/tc-msp430.c:3787
+#: config/tc-msp430.c:4006 config/tc-msp430.c:4008
 msgid "CPU13: SR is destination of SR altering instruction"
 msgstr ""
 
-#: config/tc-msp430.c:2906 config/tc-msp430.c:3007 config/tc-msp430.c:3685
-#: config/tc-msp430.c:3854
+#: config/tc-msp430.c:3092 config/tc-msp430.c:3193 config/tc-msp430.c:3871
+#: config/tc-msp430.c:4040
 msgid "repeat instruction used with non-register mode instruction"
 msgstr ""
 
-#: config/tc-msp430.c:2981 config/tc-msp430.c:3340 config/tc-msp430.c:3810
+#: config/tc-msp430.c:3167 config/tc-msp430.c:3526 config/tc-msp430.c:3996
 #, c-format
 msgid "%s: attempt to rotate the PC register"
 msgstr ""
 
-#: config/tc-msp430.c:3232 config/tc-msp430.c:3308
+#: config/tc-msp430.c:3418 config/tc-msp430.c:3494
 #, c-format
 msgid "expected #n as first argument of %s"
 msgstr ""
 
-#: config/tc-msp430.c:3238
+#: config/tc-msp430.c:3424
 #, c-format
 msgid "extra characters '%s' at end of constant expression '%s'"
 msgstr ""
 
-#: config/tc-msp430.c:3243 config/tc-msp430.c:3319
+#: config/tc-msp430.c:3429 config/tc-msp430.c:3505
 #, c-format
 msgid "expected constant expression as first argument of %s"
 msgstr ""
 
-#: config/tc-msp430.c:3269
+#: config/tc-msp430.c:3455
 msgid "Too many registers popped"
 msgstr ""
 
-#: config/tc-msp430.c:3279
+#: config/tc-msp430.c:3465
 msgid "Cannot use POPM to restore the SR register"
 msgstr ""
 
-#: config/tc-msp430.c:3299 config/tc-msp430.c:3368
+#: config/tc-msp430.c:3485 config/tc-msp430.c:3554
 #, c-format
 msgid "repeat count cannot be used with %s"
 msgstr ""
 
-#: config/tc-msp430.c:3326
+#: config/tc-msp430.c:3512
 #, c-format
 msgid "expected first argument of %s to be in the range 1-4"
 msgstr ""
 
-#: config/tc-msp430.c:3391
+#: config/tc-msp430.c:3577
 #, c-format
 msgid "expected value of first argument of %s to fit into 20-bits"
 msgstr ""
 
-#: config/tc-msp430.c:3410
+#: config/tc-msp430.c:3596
 #, c-format
 msgid "expected register name or constant as first argument of %s"
 msgstr ""
 
-#: config/tc-msp430.c:3504
+#: config/tc-msp430.c:3690
 msgid "expected constant value as argument to RPT"
 msgstr ""
 
-#: config/tc-msp430.c:3510
+#: config/tc-msp430.c:3696
 msgid "expected constant in the range 2..16"
 msgstr ""
 
-#: config/tc-msp430.c:3525
+#: config/tc-msp430.c:3711
 msgid "PC used as an argument to RPT"
 msgstr ""
 
-#: config/tc-msp430.c:3531
+#: config/tc-msp430.c:3717
 msgid "expected constant or register name as argument to RPT insn"
 msgstr ""
 
-#: config/tc-msp430.c:3538
+#: config/tc-msp430.c:3724
 msgid "Illegal emulated instruction"
 msgstr ""
 
-#: config/tc-msp430.c:3839
+#: config/tc-msp430.c:4025
 #, c-format
 msgid "%s instruction does not accept a .b suffix"
 msgstr ""
 
-#: config/tc-msp430.c:3952
+#: config/tc-msp430.c:4138
 #, c-format
 msgid "Even number required. Rounded to %d"
 msgstr ""
 
-#: config/tc-msp430.c:3963
+#: config/tc-msp430.c:4149
 #, c-format
 msgid "Wrong displacement %d"
 msgstr ""
 
-#: config/tc-msp430.c:3985
+#: config/tc-msp430.c:4171
 msgid "instruction requires label sans '$'"
 msgstr ""
 
-#: config/tc-msp430.c:3989
+#: config/tc-msp430.c:4175
 msgid "instruction requires label or value in range -511:512"
 msgstr ""
 
-#: config/tc-msp430.c:3995 config/tc-msp430.c:4049 config/tc-msp430.c:4097
+#: config/tc-msp430.c:4181 config/tc-msp430.c:4235 config/tc-msp430.c:4283
 msgid "instruction requires label"
 msgstr ""
 
-#: config/tc-msp430.c:4003 config/tc-msp430.c:4055
+#: config/tc-msp430.c:4189 config/tc-msp430.c:4241
 msgid "polymorphs are not enabled. Use -mP option to enable."
 msgstr ""
 
-#: config/tc-msp430.c:4101
+#: config/tc-msp430.c:4287
 msgid "Illegal instruction or not implemented opcode."
 msgstr ""
 
-#: config/tc-msp430.c:4155
+#: config/tc-msp430.c:4341
 msgid "can't find opcode"
 msgstr ""
 
-#: config/tc-msp430.c:4672
+#: config/tc-msp430.c:4858
 #, c-format
 msgid "internal inconsistency problem in %s: insn %04lx"
 msgstr ""
 
-#: config/tc-msp430.c:4714 config/tc-msp430.c:4746
+#: config/tc-msp430.c:4900 config/tc-msp430.c:4932
 #, c-format
 msgid "internal inconsistency problem in %s: ext. insn %04lx"
 msgstr ""
 
-#: config/tc-msp430.c:4758
+#: config/tc-msp430.c:4944
 #, c-format
 msgid "internal inconsistency problem in %s: %lx"
 msgstr ""
@@ -13114,39 +13603,39 @@ msgstr ""
 msgid "  -nosched                  disable scheduling restrictions\n"
 msgstr ""
 
-#: config/tc-mt.c:224
+#: config/tc-mt.c:226
 #, c-format
 msgid "instruction %s may not follow another memory access instruction."
 msgstr ""
 
-#: config/tc-mt.c:230
+#: config/tc-mt.c:232
 #, c-format
 msgid "instruction %s may not follow another I/O instruction."
 msgstr ""
 
-#: config/tc-mt.c:236
+#: config/tc-mt.c:238
 #, c-format
 msgid "%s may not occupy the delay slot of another branch insn."
 msgstr ""
 
-#: config/tc-mt.c:261
+#: config/tc-mt.c:263
 #, c-format
 msgid "operand references R%ld of previous instruction."
 msgstr ""
 
-#: config/tc-mt.c:267
+#: config/tc-mt.c:269
 #, c-format
 msgid "operand references R%ld of instruction before previous."
 msgstr ""
 
-#: config/tc-mt.c:281 config/tc-mt.c:286
+#: config/tc-mt.c:283 config/tc-mt.c:288
 #, c-format
 msgid ""
 "conditional branch or jal insn's operand references R%ld of previous "
 "arithmetic or logic insn."
 msgstr ""
 
-#: config/tc-mt.c:349
+#: config/tc-mt.c:351
 msgid "md_estimate_size_before_relax\n"
 msgstr ""
 
@@ -13491,11 +13980,11 @@ msgid "Addend to unresolved symbol is not on word boundary."
 msgstr ""
 
 #. Should never here.
-#: config/tc-nds32.c:7657
+#: config/tc-nds32.c:7654
 msgid "Used FPU instructions requires enabling FPU extension"
 msgstr ""
 
-#: config/tc-nds32.c:7854
+#: config/tc-nds32.c:7851
 #, c-format
 msgid "Internal error: Unknown fixup type %d (`%s')"
 msgstr ""
@@ -13571,135 +14060,135 @@ msgstr ""
 msgid "overflow in immediate argument"
 msgstr ""
 
-#: config/tc-nios2.c:1310 config/tc-pru.c:669
+#: config/tc-nios2.c:1310 config/tc-pru.c:668
 msgid "cannot create 64-bit relocation"
 msgstr ""
 
-#: config/tc-nios2.c:1438
+#: config/tc-nios2.c:1436
 #, c-format
 msgid "internal error: broken opcode descriptor for `%s %s'\n"
 msgstr ""
 
-#: config/tc-nios2.c:1487 config/tc-pru.c:862
+#: config/tc-nios2.c:1485 config/tc-pru.c:863
 msgid "can't create relocation"
 msgstr ""
 
-#: config/tc-nios2.c:1518 config/tc-pru.c:996 config/tc-pru.c:1016
-#: config/tc-pru.c:1043 config/tc-pru.c:1062 config/tc-pru.c:1076
+#: config/tc-nios2.c:1516 config/tc-pru.c:997 config/tc-pru.c:1017
+#: config/tc-pru.c:1044 config/tc-pru.c:1063 config/tc-pru.c:1077
 #, c-format
 msgid "unknown register %s"
 msgstr ""
 
-#: config/tc-nios2.c:1526
+#: config/tc-nios2.c:1524
 msgid "expecting control register"
 msgstr ""
 
-#: config/tc-nios2.c:1528
+#: config/tc-nios2.c:1526
 msgid "illegal use of control register"
 msgstr ""
 
-#: config/tc-nios2.c:1530
+#: config/tc-nios2.c:1528
 msgid "illegal use of coprocessor register"
 msgstr ""
 
 #. Should never get here if we passed validation.
-#: config/tc-nios2.c:1532 config/tc-nios2.c:1846 config/tc-nios2.c:1988
-#: config/tc-nios2.c:2056
+#: config/tc-nios2.c:1530 config/tc-nios2.c:1844 config/tc-nios2.c:1986
+#: config/tc-nios2.c:2054
 #, c-format
 msgid "invalid register %s"
 msgstr ""
 
-#: config/tc-nios2.c:1540
+#: config/tc-nios2.c:1538
 msgid ""
 "Register at (r1) can sometimes be corrupted by assembler optimizations.\n"
 "Use .set noat to turn off those optimizations (and this warning)."
 msgstr ""
 
-#: config/tc-nios2.c:1545
+#: config/tc-nios2.c:1543
 msgid ""
 "The debugger will corrupt bt (r25).\n"
 "If you don't need to debug this code use .set nobreak to turn off this "
 "warning."
 msgstr ""
 
-#: config/tc-nios2.c:1549
+#: config/tc-nios2.c:1547
 msgid ""
 "The debugger will corrupt sstatus/ba (r30).\n"
 "If you don't need to debug this code use .set nobreak to turn off this "
 "warning."
 msgstr ""
 
-#: config/tc-nios2.c:1939 config/tc-nios2.c:1967
+#: config/tc-nios2.c:1937 config/tc-nios2.c:1965
 msgid "r31 cannot be used with jmp; use ret instead"
 msgstr ""
 
-#: config/tc-nios2.c:1982
+#: config/tc-nios2.c:1980
 msgid "r31 cannot be used with jmpr.n; use ret.n instead"
 msgstr ""
 
-#: config/tc-nios2.c:2595 config/tc-nios2.c:2622 config/tc-nios2.c:2649
-#: config/tc-nios2.c:2680
+#: config/tc-nios2.c:2593 config/tc-nios2.c:2620 config/tc-nios2.c:2647
+#: config/tc-nios2.c:2678
 #, c-format
 msgid "Invalid constant operand %s"
 msgstr ""
 
-#: config/tc-nios2.c:2997 config/tc-nios2.c:3021 config/tc-pru.c:1318
-#: config/tc-pru.c:1343 config/tc-pru.c:1363
+#: config/tc-nios2.c:2995 config/tc-nios2.c:3019 config/tc-pru.c:1319
+#: config/tc-pru.c:1344 config/tc-pru.c:1364
 #, c-format
 msgid "badly formed expression near %s"
 msgstr ""
 
-#: config/tc-nios2.c:3110 config/tc-nios2.c:3137 config/tc-pru.c:1412
-#: config/tc-pru.c:1437 config/tc-xtensa.c:2138
+#: config/tc-nios2.c:3108 config/tc-nios2.c:3135 config/tc-pru.c:1413
+#: config/tc-pru.c:1438 config/tc-xtensa.c:2128
 msgid "too many arguments"
 msgstr ""
 
-#: config/tc-nios2.c:3126 config/tc-pru.c:1389
+#: config/tc-nios2.c:3124 config/tc-pru.c:1390
 #, c-format
 msgid "expecting %c near %s"
 msgstr ""
 
 #. we cannot recover from this.
-#: config/tc-nios2.c:3277
+#: config/tc-nios2.c:3275
 #, c-format
 msgid "unrecognized pseudo-instruction %s"
 msgstr ""
 
-#: config/tc-nios2.c:3540 config/tc-tic6x.c:232
+#: config/tc-nios2.c:3538 config/tc-tic6x.c:232
 #, c-format
 msgid "unknown architecture '%s'"
 msgstr ""
 
-#: config/tc-nios2.c:3621
+#: config/tc-nios2.c:3619
 msgid "Big-endian R2 is not supported."
 msgstr ""
 
 #. Unrecognised instruction - error.
-#: config/tc-nios2.c:3789 config/tc-pru.c:1737
+#: config/tc-nios2.c:3787 config/tc-pru.c:1738
 #, c-format
 msgid "unrecognised instruction %s"
 msgstr ""
 
-#: config/tc-nios2.c:3909 config/tc-pru.c:1793
+#: config/tc-nios2.c:3907 config/tc-pru.c:1794
 #, c-format
 msgid "can't represent relocation type %s"
 msgstr ""
 
-#: config/tc-nios2.c:4002
+#: config/tc-nios2.c:4000
 msgid "Bad .section directive: want a,s,w,x,M,S,G,T in string"
 msgstr ""
 
-#: config/tc-nios2.c:4028
+#: config/tc-nios2.c:4026
 #, c-format
 msgid "Illegal operands: %%tls_ldo in %d-byte data field"
 msgstr ""
 
-#: config/tc-nios2.c:4040 config/tc-nios2.c:4058 config/tc-nios2.c:4065
+#: config/tc-nios2.c:4038 config/tc-nios2.c:4056 config/tc-nios2.c:4063
 #, c-format
 msgid "Illegal operands: %%tls_ldo requires arguments in ()"
 msgstr ""
 
-#: config/tc-nios2.c:4072
+#: config/tc-nios2.c:4070
 #, c-format
 msgid "Illegal operands: garbage after %%tls_ldo()"
 msgstr ""
@@ -13882,81 +14371,81 @@ msgstr ""
 msgid "Cannot find relocation type for symbol %s, code %d"
 msgstr ""
 
-#: config/tc-pdp11.c:336 config/tc-pdp11.c:353 config/tc-pdp11.c:376
-#: config/tc-pdp11.c:382 config/tc-pdp11.c:395
+#: config/tc-pdp11.c:340 config/tc-pdp11.c:357 config/tc-pdp11.c:380
+#: config/tc-pdp11.c:386 config/tc-pdp11.c:399
 msgid "Bad register name"
 msgstr ""
 
-#: config/tc-pdp11.c:414 config/tc-pdp11.c:478 config/tc-pdp11.c:489
+#: config/tc-pdp11.c:418 config/tc-pdp11.c:482 config/tc-pdp11.c:493
 msgid "Error in expression"
 msgstr ""
 
-#: config/tc-pdp11.c:486
+#: config/tc-pdp11.c:490
 msgid "Low order bits truncated in immediate float operand"
 msgstr ""
 
-#: config/tc-pdp11.c:630
+#: config/tc-pdp11.c:634
 msgid "Float AC not legal as integer operand"
 msgstr ""
 
-#: config/tc-pdp11.c:650
+#: config/tc-pdp11.c:654
 msgid "General register not legal as float operand"
 msgstr ""
 
-#: config/tc-pdp11.c:683
+#: config/tc-pdp11.c:687
 msgid "No instruction found"
 msgstr ""
 
-#: config/tc-pdp11.c:693 config/tc-z80.c:1948 config/tc-z80.c:1961
+#: config/tc-pdp11.c:697 config/tc-z80.c:3249 config/tc-z80.c:3269
 #, c-format
 msgid "Unknown instruction '%s'"
 msgstr ""
 
-#: config/tc-pdp11.c:699
+#: config/tc-pdp11.c:703
 #, c-format
 msgid "Unsupported instruction set extension: %s"
 msgstr ""
 
-#: config/tc-pdp11.c:733
+#: config/tc-pdp11.c:737
 msgid "operand is not an absolute constant"
 msgstr ""
 
-#: config/tc-pdp11.c:741
+#: config/tc-pdp11.c:745
 msgid "3-bit immediate out of range"
 msgstr ""
 
-#: config/tc-pdp11.c:748
+#: config/tc-pdp11.c:752
 msgid "6-bit immediate out of range"
 msgstr ""
 
-#: config/tc-pdp11.c:755
+#: config/tc-pdp11.c:759
 msgid "8-bit immediate out of range"
 msgstr ""
 
-#: config/tc-pdp11.c:772 config/tc-pdp11.c:965
+#: config/tc-pdp11.c:776 config/tc-pdp11.c:969
 msgid "Symbol expected"
 msgstr ""
 
-#: config/tc-pdp11.c:777
+#: config/tc-pdp11.c:781
 msgid "8-bit displacement out of range"
 msgstr ""
 
-#: config/tc-pdp11.c:819 config/tc-pdp11.c:840 config/tc-pdp11.c:857
-#: config/tc-pdp11.c:878 config/tc-pdp11.c:895 config/tc-pdp11.c:916
-#: config/tc-pdp11.c:935 config/tc-pdp11.c:956
+#: config/tc-pdp11.c:823 config/tc-pdp11.c:844 config/tc-pdp11.c:861
+#: config/tc-pdp11.c:882 config/tc-pdp11.c:899 config/tc-pdp11.c:920
+#: config/tc-pdp11.c:939 config/tc-pdp11.c:960
 msgid "Missing ','"
 msgstr ""
 
-#: config/tc-pdp11.c:970
+#: config/tc-pdp11.c:974
 msgid "6-bit displacement out of range"
 msgstr ""
 
-#: config/tc-pdp11.c:991 config/tc-tilegx.c:1216 config/tc-tilepro.c:1102
+#: config/tc-pdp11.c:995 config/tc-tilegx.c:1216 config/tc-tilepro.c:1102
 #: config/tc-vax.c:1950
 msgid "Too many operands"
 msgstr ""
 
-#: config/tc-pdp11.c:1441
+#: config/tc-pdp11.c:1445
 #, c-format
 msgid "Can not represent %s relocation in this object file format"
 msgstr ""
@@ -13981,12 +14470,12 @@ msgid ""
 "-big\t\t\tgenerate big endian code\n"
 msgstr ""
 
-#: config/tc-pj.c:380 config/tc-sh.c:3600 config/tc-sh.c:3607
-#: config/tc-sh.c:3614 config/tc-sh.c:3621
+#: config/tc-pj.c:380 config/tc-sh.c:3594 config/tc-sh.c:3601
+#: config/tc-sh.c:3608 config/tc-sh.c:3615
 msgid "pcrel too far"
 msgstr ""
 
-#: config/tc-ppc.c:977 config/tc-ppc.c:985 config/tc-ppc.c:3292
+#: config/tc-ppc.c:977 config/tc-ppc.c:985 config/tc-ppc.c:3573
 msgid "invalid register expression"
 msgstr ""
 
@@ -14003,7 +14492,7 @@ msgstr ""
 msgid "%s unsupported"
 msgstr ""
 
-#: config/tc-ppc.c:1278 config/tc-s390.c:431 config/tc-s390.c:438
+#: config/tc-ppc.c:1278 config/tc-s390.c:433 config/tc-s390.c:440
 #, c-format
 msgid "invalid switch -m%s"
 msgstr ""
@@ -14012,456 +14501,673 @@ msgstr ""
 msgid "--nops needs a numeric argument"
 msgstr ""
 
-#: config/tc-ppc.c:1326
+#: config/tc-ppc.c:1345
+#, c-format
+msgid "PowerPC options:\n"
+msgstr ""
+
+#: config/tc-ppc.c:1347
+#, c-format
+msgid "-a32                    generate ELF32/XCOFF32\n"
+msgstr ""
+
+#: config/tc-ppc.c:1350
+#, c-format
+msgid "-a64                    generate ELF64/XCOFF64\n"
+msgstr ""
+
+#: config/tc-ppc.c:1352
+#, c-format
+msgid "-u                      ignored\n"
+msgstr ""
+
+#: config/tc-ppc.c:1354
+#, c-format
+msgid "-mpwrx, -mpwr2          generate code for POWER/2 (RIOS2)\n"
+msgstr ""
+
+#: config/tc-ppc.c:1356
+#, c-format
+msgid "-mpwr                   generate code for POWER (RIOS1)\n"
+msgstr ""
+
+#: config/tc-ppc.c:1358
+#, c-format
+msgid "-m601                   generate code for PowerPC 601\n"
+msgstr ""
+
+#: config/tc-ppc.c:1360
 #, c-format
 msgid ""
-"PowerPC options:\n"
-"-a32                    generate ELF32/XCOFF32\n"
-"-a64                    generate ELF64/XCOFF64\n"
-"-u                      ignored\n"
-"-mpwrx, -mpwr2          generate code for POWER/2 (RIOS2)\n"
-"-mpwr                   generate code for POWER (RIOS1)\n"
-"-m601                   generate code for PowerPC 601\n"
 "-mppc, -mppc32, -m603, -m604\n"
 "                        generate code for PowerPC 603/604\n"
-"-m403                   generate code for PowerPC 403\n"
-"-m405                   generate code for PowerPC 405\n"
-"-m440                   generate code for PowerPC 440\n"
-"-m464                   generate code for PowerPC 464\n"
-"-m476                   generate code for PowerPC 476\n"
+msgstr ""
+
+#: config/tc-ppc.c:1363
+#, c-format
+msgid "-m403                   generate code for PowerPC 403\n"
+msgstr ""
+
+#: config/tc-ppc.c:1365
+#, c-format
+msgid "-m405                   generate code for PowerPC 405\n"
+msgstr ""
+
+#: config/tc-ppc.c:1367
+#, c-format
+msgid "-m440                   generate code for PowerPC 440\n"
+msgstr ""
+
+#: config/tc-ppc.c:1369
+#, c-format
+msgid "-m464                   generate code for PowerPC 464\n"
+msgstr ""
+
+#: config/tc-ppc.c:1371
+#, c-format
+msgid "-m476                   generate code for PowerPC 476\n"
+msgstr ""
+
+#: config/tc-ppc.c:1373
+#, c-format
+msgid ""
 "-m7400, -m7410, -m7450, -m7455\n"
 "                        generate code for PowerPC 7400/7410/7450/7455\n"
+msgstr ""
+
+#: config/tc-ppc.c:1376
+#, c-format
+msgid ""
 "-m750cl, -mgekko, -mbroadway\n"
 "                        generate code for PowerPC 750cl/Gekko/Broadway\n"
-"-m821, -m850, -m860     generate code for PowerPC 821/850/860\n"
 msgstr ""
 
-#: config/tc-ppc.c:1346
+#: config/tc-ppc.c:1379
+#, c-format
+msgid "-m821, -m850, -m860     generate code for PowerPC 821/850/860\n"
+msgstr ""
+
+#: config/tc-ppc.c:1381
+#, c-format
+msgid "-mppc64, -m620          generate code for PowerPC 620/625/630\n"
+msgstr ""
+
+#: config/tc-ppc.c:1383
 #, c-format
 msgid ""
-"-mppc64, -m620          generate code for PowerPC 620/625/630\n"
 "-mppc64bridge           generate code for PowerPC 64, including bridge "
 "insns\n"
-"-mbooke                 generate code for 32-bit PowerPC BookE\n"
-"-ma2                    generate code for A2 architecture\n"
-"-mpower4, -mpwr4        generate code for Power4 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1385
+#, c-format
+msgid "-mbooke                 generate code for 32-bit PowerPC BookE\n"
+msgstr ""
+
+#: config/tc-ppc.c:1387
+#, c-format
+msgid "-ma2                    generate code for A2 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1389
+#, c-format
+msgid "-mpower4, -mpwr4        generate code for Power4 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1391
+#, c-format
+msgid ""
 "-mpower5, -mpwr5, -mpwr5x\n"
 "                        generate code for Power5 architecture\n"
-"-mpower6, -mpwr6        generate code for Power6 architecture\n"
-"-mpower7, -mpwr7        generate code for Power7 architecture\n"
-"-mpower8, -mpwr8        generate code for Power8 architecture\n"
-"-mpower9, -mpwr9        generate code for Power9 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1394
+#, c-format
+msgid "-mpower6, -mpwr6        generate code for Power6 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1396
+#, c-format
+msgid "-mpower7, -mpwr7        generate code for Power7 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1398
+#, c-format
+msgid "-mpower8, -mpwr8        generate code for Power8 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1400
+#, c-format
+msgid "-mpower9, -mpwr9        generate code for Power9 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1402
+#, c-format
+msgid ""
 "-mcell                  generate code for Cell Broadband Engine "
 "architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1404
+#, c-format
+msgid ""
 "-mcom                   generate code for Power/PowerPC common instructions\n"
+msgstr ""
+
+#: config/tc-ppc.c:1406
+#, c-format
+msgid ""
 "-many                   generate code for any architecture (PWR/PWRX/PPC)\n"
 msgstr ""
 
-#: config/tc-ppc.c:1361
+#: config/tc-ppc.c:1408
+#, c-format
+msgid "-maltivec               generate code for AltiVec\n"
+msgstr ""
+
+#: config/tc-ppc.c:1410
 #, c-format
 msgid ""
-"-maltivec               generate code for AltiVec\n"
 "-mvsx                   generate code for Vector-Scalar (VSX) instructions\n"
-"-me300                  generate code for PowerPC e300 family\n"
-"-me500, -me500x2        generate code for Motorola e500 core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1412
+#, c-format
+msgid "-me300                  generate code for PowerPC e300 family\n"
+msgstr ""
+
+#: config/tc-ppc.c:1414
+#, c-format
+msgid "-me500, -me500x2        generate code for Motorola e500 core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1416
+#, c-format
+msgid ""
 "-me500mc,               generate code for Freescale e500mc core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1418
+#, c-format
+msgid ""
 "-me500mc64,             generate code for Freescale e500mc64 core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1420
+#, c-format
+msgid ""
 "-me5500,                generate code for Freescale e5500 core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1422
+#, c-format
+msgid ""
 "-me6500,                generate code for Freescale e6500 core complex\n"
-"-mspe                   generate code for Motorola SPE instructions\n"
-"-mspe2                  generate code for Freescale SPE2 instructions\n"
-"-mvle                   generate code for Freescale VLE instructions\n"
+msgstr ""
+
+#: config/tc-ppc.c:1424
+#, c-format
+msgid "-mspe                   generate code for Motorola SPE instructions\n"
+msgstr ""
+
+#: config/tc-ppc.c:1426
+#, c-format
+msgid "-mspe2                  generate code for Freescale SPE2 instructions\n"
+msgstr ""
+
+#: config/tc-ppc.c:1428
+#, c-format
+msgid "-mvle                   generate code for Freescale VLE instructions\n"
+msgstr ""
+
+#: config/tc-ppc.c:1430
+#, c-format
+msgid ""
 "-mtitan                 generate code for AppliedMicro Titan core complex\n"
-"-mregnames              Allow symbolic names for registers\n"
-"-mno-regnames           Do not allow symbolic names for registers\n"
 msgstr ""
 
-#: config/tc-ppc.c:1377
+#: config/tc-ppc.c:1432
+#, c-format
+msgid "-mregnames              Allow symbolic names for registers\n"
+msgstr ""
+
+#: config/tc-ppc.c:1434
+#, c-format
+msgid "-mno-regnames           Do not allow symbolic names for registers\n"
+msgstr ""
+
+#: config/tc-ppc.c:1437
+#, c-format
+msgid "-mrelocatable           support for GCC's -mrelocatble option\n"
+msgstr ""
+
+#: config/tc-ppc.c:1439
+#, c-format
+msgid "-mrelocatable-lib       support for GCC's -mrelocatble-lib option\n"
+msgstr ""
+
+#: config/tc-ppc.c:1441
+#, c-format
+msgid "-memb                   set PPC_EMB bit in ELF flags\n"
+msgstr ""
+
+#: config/tc-ppc.c:1443
 #, c-format
 msgid ""
-"-mrelocatable           support for GCC's -mrelocatble option\n"
-"-mrelocatable-lib       support for GCC's -mrelocatble-lib option\n"
-"-memb                   set PPC_EMB bit in ELF flags\n"
 "-mlittle, -mlittle-endian, -le\n"
 "                        generate code for a little endian machine\n"
+msgstr ""
+
+#: config/tc-ppc.c:1446
+#, c-format
+msgid ""
 "-mbig, -mbig-endian, -be\n"
 "                        generate code for a big endian machine\n"
-"-msolaris               generate code for Solaris\n"
-"-mno-solaris            do not generate code for Solaris\n"
-"-K PIC                  set EF_PPC_RELOCATABLE_LIB in ELF flags\n"
-"-V                      print assembler version number\n"
-"-Qy, -Qn                ignored\n"
 msgstr ""
 
-#: config/tc-ppc.c:1391
+#: config/tc-ppc.c:1449
+#, c-format
+msgid "-msolaris               generate code for Solaris\n"
+msgstr ""
+
+#: config/tc-ppc.c:1451
+#, c-format
+msgid "-mno-solaris            do not generate code for Solaris\n"
+msgstr ""
+
+#: config/tc-ppc.c:1453
+#, c-format
+msgid "-K PIC                  set EF_PPC_RELOCATABLE_LIB in ELF flags\n"
+msgstr ""
+
+#: config/tc-ppc.c:1455
+#, c-format
+msgid "-V                      print assembler version number\n"
+msgstr ""
+
+#: config/tc-ppc.c:1457
+#, c-format
+msgid "-Qy, -Qn                ignored\n"
+msgstr ""
+
+#: config/tc-ppc.c:1460
 #, c-format
 msgid ""
 "-nops=count             when aligning, more than COUNT nops uses a branch\n"
-"-ppc476-workaround      warn if emitting data to code sections\n"
 msgstr ""
 
-#: config/tc-ppc.c:1422
+#: config/tc-ppc.c:1462
+#, c-format
+msgid "-ppc476-workaround      warn if emitting data to code sections\n"
+msgstr ""
+
+#: config/tc-ppc.c:1492
 #, c-format
 msgid "unknown default cpu = %s, os = %s"
 msgstr ""
 
-#: config/tc-ppc.c:1450
+#: config/tc-ppc.c:1520
 msgid "neither Power nor PowerPC opcodes were selected."
 msgstr ""
 
-#: config/tc-ppc.c:1510
+#: config/tc-ppc.c:1580
 #, c-format
 msgid "mask trims opcode bits for %s"
 msgstr ""
 
-#: config/tc-ppc.c:1520
+#: config/tc-ppc.c:1590
 #, c-format
 msgid "operand index error for %s"
 msgstr ""
 
-#: config/tc-ppc.c:1546
+#: config/tc-ppc.c:1616
 #, c-format
 msgid "operand %d overlap in %s"
 msgstr ""
 
-#: config/tc-ppc.c:1555
+#: config/tc-ppc.c:1625
 #, c-format
 msgid "non-optional operand %d follows optional operand in %s"
 msgstr ""
 
-#: config/tc-ppc.c:1605
+#: config/tc-ppc.c:1675
 #, c-format
 msgid "powerpc_operands[%d].bitm invalid"
 msgstr ""
 
-#: config/tc-ppc.c:1612
+#: config/tc-ppc.c:1682
 #, c-format
 msgid "powerpc_operands[%d] duplicates powerpc_operands[%d]"
 msgstr ""
 
-#: config/tc-ppc.c:1638 config/tc-ppc.c:1695 config/tc-ppc.c:1739
+#: config/tc-ppc.c:1708 config/tc-ppc.c:1765 config/tc-ppc.c:1809
+#: config/tc-ppc.c:1853
 #, c-format
 msgid "major opcode is not sorted for %s"
 msgstr ""
 
-#: config/tc-ppc.c:1644
+#: config/tc-ppc.c:1714
 #, c-format
 msgid "%s is enabled by vle flag"
 msgstr ""
 
-#: config/tc-ppc.c:1651
+#: config/tc-ppc.c:1721
 #, c-format
 msgid "%s not disabled by vle flag"
 msgstr ""
 
-#: config/tc-ppc.c:1665 config/tc-ppc.c:1710 config/tc-ppc.c:1754
+#: config/tc-ppc.c:1735 config/tc-ppc.c:1779 config/tc-ppc.c:1824
+#: config/tc-ppc.c:1868
 #, c-format
 msgid "duplicate instruction %s"
 msgstr ""
 
-#: config/tc-ppc.c:1778
+#: config/tc-ppc.c:1892
 #, c-format
 msgid "duplicate macro %s"
 msgstr ""
 
-#: config/tc-ppc.c:2141
-msgid "identifier+constant@got means identifier@got+constant"
+#: config/tc-ppc.c:2268
+#, c-format
+msgid "symbol+offset@%s means symbol@%s+offset"
 msgstr ""
 
-#: config/tc-ppc.c:2161
-msgid "symbol+offset not supported for got tls"
+#: config/tc-ppc.c:2288
+#, c-format
+msgid "symbol+offset@%s not supported"
 msgstr ""
 
-#: config/tc-ppc.c:2238 config/tc-ppc.c:4015 config/tc-ppc.c:7474
+#: config/tc-ppc.c:2365 config/tc-ppc.c:4361 config/tc-ppc.c:7888
 msgid "data in executable section"
 msgstr ""
 
-#: config/tc-ppc.c:2279 config/tc-ppc.c:5655
+#: config/tc-ppc.c:2406 config/tc-ppc.c:5998
 msgid "expected comma after symbol-name: rest of line ignored."
 msgstr ""
 
-#: config/tc-ppc.c:2312 config/tc-ppc.c:5691
+#: config/tc-ppc.c:2439 config/tc-ppc.c:6034
 #, c-format
 msgid "ignoring attempt to re-define symbol `%s'."
 msgstr ""
 
-#: config/tc-ppc.c:2320
+#: config/tc-ppc.c:2447
 #, c-format
 msgid "length of .lcomm \"%s\" is already %ld. Not changed to %ld."
 msgstr ""
 
-#: config/tc-ppc.c:2338
+#: config/tc-ppc.c:2465
 msgid "common alignment not a power of 2"
 msgstr ""
 
-#: config/tc-ppc.c:2380
+#: config/tc-ppc.c:2507
 #, c-format
 msgid "expected comma after name `%s' in .localentry directive"
 msgstr ""
 
-#: config/tc-ppc.c:2390
+#: config/tc-ppc.c:2517
 msgid "missing expression in .localentry directive"
 msgstr ""
 
-#: config/tc-ppc.c:2411
+#: config/tc-ppc.c:2538
 #, c-format
 msgid ".localentry expression for `%s' is not a valid power of 2"
 msgstr ""
 
-#: config/tc-ppc.c:2428
+#: config/tc-ppc.c:2555
 #, c-format
 msgid ".localentry expression for `%s' does not evaluate to a constant"
 msgstr ""
 
-#: config/tc-ppc.c:2443
+#: config/tc-ppc.c:2570
 msgid "missing expression in .abiversion directive"
 msgstr ""
 
-#: config/tc-ppc.c:2452
+#: config/tc-ppc.c:2579
 msgid ".abiversion expression does not evaluate to a constant"
 msgstr ""
 
-#: config/tc-ppc.c:2474
+#: config/tc-ppc.c:2601
 msgid "unknown .gnu_attribute value"
 msgstr ""
 
-#: config/tc-ppc.c:2526
+#: config/tc-ppc.c:2659
 msgid "relocation cannot be done when using -mrelocatable"
 msgstr ""
 
-#: config/tc-ppc.c:2572
+#: config/tc-ppc.c:2705
 msgid "TOC section size exceeds 64k"
 msgstr ""
 
-#: config/tc-ppc.c:2667
+#: config/tc-ppc.c:2800
 #, c-format
 msgid "syntax error: invalid toc specifier `%s'"
 msgstr ""
 
-#: config/tc-ppc.c:2681
+#: config/tc-ppc.c:2814
 #, c-format
 msgid "syntax error: expected `]', found  `%c'"
 msgstr ""
 
-#: config/tc-ppc.c:2993
+#: config/tc-ppc.c:3234
 #, c-format
 msgid "%s howto doesn't match size/pcrel in gas"
 msgstr ""
 
-#: config/tc-ppc.c:3034
+#: config/tc-ppc.c:3314
 #, c-format
 msgid "unrecognized opcode: `%s'"
 msgstr ""
 
-#: config/tc-ppc.c:3209
+#: config/tc-ppc.c:3490
 msgid "[tocv] symbol is not a toc symbol"
 msgstr ""
 
-#: config/tc-ppc.c:3220
+#: config/tc-ppc.c:3501
 msgid "unimplemented toc32 expression modifier"
 msgstr ""
 
-#: config/tc-ppc.c:3225
+#: config/tc-ppc.c:3506
 msgid "unimplemented toc64 expression modifier"
 msgstr ""
 
-#: config/tc-ppc.c:3229
+#: config/tc-ppc.c:3510
 #, c-format
 msgid "Unexpected return value [%d] from parse_toc_entry!\n"
 msgstr ""
 
-#: config/tc-ppc.c:3512
+#: config/tc-ppc.c:3759
 #, c-format
 msgid "@tls may not be used with \"%s\" operands"
 msgstr ""
 
-#: config/tc-ppc.c:3515
+#: config/tc-ppc.c:3762
 msgid "@tls may only be used in last operand"
 msgstr ""
 
-#: config/tc-ppc.c:3536 config/tc-ppc.c:3543 config/tc-ppc.c:3555
+#: config/tc-ppc.c:3800 config/tc-ppc.c:3810 config/tc-ppc.c:3820
+#: config/tc-ppc.c:3835
 #, c-format
 msgid "%s unsupported on this instruction"
 msgstr ""
 
-#: config/tc-ppc.c:3599
+#: config/tc-ppc.c:3879
 #, c-format
 msgid "assuming %s on symbol"
 msgstr ""
 
-#: config/tc-ppc.c:3702
+#: config/tc-ppc.c:4002
 msgid "unsupported relocation for DS offset field"
 msgstr ""
 
-#: config/tc-ppc.c:3745
+#: config/tc-ppc.c:4055
 #, c-format
 msgid "syntax error; found `%c', expected `%c'"
 msgstr ""
 
-#: config/tc-ppc.c:3750
+#: config/tc-ppc.c:4060
 #, c-format
 msgid "syntax error; end of line, expected `%c'"
 msgstr ""
 
-#: config/tc-ppc.c:3815 config/tc-ppc.c:6767
+#: config/tc-ppc.c:4125 config/tc-ppc.c:7097
 #, c-format
 msgid "instruction address is not a multiple of %d"
 msgstr ""
 
-#: config/tc-ppc.c:3899
+#: config/tc-ppc.c:4245
 msgid "wrong number of operands"
 msgstr ""
 
-#: config/tc-ppc.c:3972
+#: config/tc-ppc.c:4318
 msgid "bad .section directive: want a,e,v,w,x,M,S,G,T in string"
 msgstr ""
 
-#: config/tc-ppc.c:4052
+#: config/tc-ppc.c:4398
 msgid "missing size"
 msgstr ""
 
-#: config/tc-ppc.c:4061
+#: config/tc-ppc.c:4407
 msgid "negative size"
 msgstr ""
 
-#: config/tc-ppc.c:4093
+#: config/tc-ppc.c:4439
 msgid "missing real symbol name"
 msgstr ""
 
-#: config/tc-ppc.c:4132
+#: config/tc-ppc.c:4478
 msgid "attempt to redefine symbol"
 msgstr ""
 
-#: config/tc-ppc.c:4395
+#: config/tc-ppc.c:4741
 #, c-format
 msgid "no known dwarf XCOFF section for flag 0x%08x\n"
 msgstr ""
 
-#: config/tc-ppc.c:4408
+#: config/tc-ppc.c:4754
 #, c-format
 msgid "label %s was not defined in this dwarf section"
 msgstr ""
 
-#: config/tc-ppc.c:4522
+#: config/tc-ppc.c:4868
 msgid "the XCOFF file format does not support arbitrary sections"
 msgstr ""
 
-#: config/tc-ppc.c:4593
+#: config/tc-ppc.c:4939
 msgid ".ref outside .csect"
 msgstr ""
 
-#: config/tc-ppc.c:4614 config/tc-ppc.c:4814
+#: config/tc-ppc.c:4960 config/tc-ppc.c:5160
 msgid "missing symbol name"
 msgstr ""
 
-#: config/tc-ppc.c:4644
+#: config/tc-ppc.c:4990
 msgid "missing rename string"
 msgstr ""
 
-#: config/tc-ppc.c:4674 config/tc-ppc.c:5213 read.c:3519
+#: config/tc-ppc.c:5020 config/tc-ppc.c:5559 read.c:3519
 msgid "missing value"
 msgstr ""
 
-#: config/tc-ppc.c:4692
+#: config/tc-ppc.c:5038
 msgid "illegal .stabx expression; zero assumed"
 msgstr ""
 
-#: config/tc-ppc.c:4724
+#: config/tc-ppc.c:5070
 msgid "missing class"
 msgstr ""
 
-#: config/tc-ppc.c:4733
+#: config/tc-ppc.c:5079
 msgid "missing type"
 msgstr ""
 
-#: config/tc-ppc.c:4760
+#: config/tc-ppc.c:5106
 msgid ".stabx of storage class stsym must be within .bs/.es"
 msgstr ""
 
-#: config/tc-ppc.c:5001
+#: config/tc-ppc.c:5347
 msgid "nested .bs blocks"
 msgstr ""
 
-#: config/tc-ppc.c:5032
+#: config/tc-ppc.c:5378
 msgid ".es without preceding .bs"
 msgstr ""
 
-#: config/tc-ppc.c:5205
+#: config/tc-ppc.c:5551
 msgid "non-constant byte count"
 msgstr ""
 
-#: config/tc-ppc.c:5279
+#: config/tc-ppc.c:5626
 msgid ".tc not in .toc section"
 msgstr ""
 
-#: config/tc-ppc.c:5297
+#: config/tc-ppc.c:5644
 msgid ".tc with no label"
 msgstr ""
 
-#: config/tc-ppc.c:5381 config/tc-s390.c:1966
+#: config/tc-ppc.c:5728 config/tc-s390.c:1968
 msgid ".machine stack overflow"
 msgstr ""
 
-#: config/tc-ppc.c:5388 config/tc-s390.c:1977
+#: config/tc-ppc.c:5735 config/tc-s390.c:1979
 msgid ".machine stack underflow"
 msgstr ""
 
-#: config/tc-ppc.c:5395 config/tc-s390.c:1989
+#: config/tc-ppc.c:5742 config/tc-s390.c:1991
 #, c-format
 msgid "invalid machine `%s'"
 msgstr ""
 
-#: config/tc-ppc.c:5427
+#: config/tc-ppc.c:5774
 msgid "no previous section to return to, ignored."
 msgstr ""
 
-#: config/tc-ppc.c:5700
+#: config/tc-ppc.c:6043
 #, c-format
 msgid "length of .comm \"%s\" is already %ld. Not changed to %ld."
 msgstr ""
 
 #. Section Contents
 #. unknown
-#: config/tc-ppc.c:5828
+#: config/tc-ppc.c:6171
 msgid "unsupported section attribute -- 'a'"
 msgstr ""
 
-#: config/tc-ppc.c:6011
+#: config/tc-ppc.c:6353
 msgid "bad symbol suffix"
 msgstr ""
 
-#: config/tc-ppc.c:6104
+#: config/tc-ppc.c:6446
 msgid "unrecognized symbol suffix"
 msgstr ""
 
-#: config/tc-ppc.c:6191
+#: config/tc-ppc.c:6509
 msgid "two .function pseudo-ops with no intervening .ef"
 msgstr ""
 
-#: config/tc-ppc.c:6204
+#: config/tc-ppc.c:6522
 msgid ".ef with no preceding .function"
 msgstr ""
 
-#: config/tc-ppc.c:6333
+#: config/tc-ppc.c:6649
 #, c-format
 msgid "warning: symbol %s has no csect"
 msgstr ""
 
-#: config/tc-ppc.c:6595
+#: config/tc-ppc.c:6911
 msgid "symbol in .toc does not match any .tc"
 msgstr ""
 
-#: config/tc-ppc.c:7238
+#: config/tc-ppc.c:7626
 #, c-format
 msgid "%s unsupported as instruction fixup"
 msgstr ""
 
-#: config/tc-ppc.c:7312
+#: config/tc-ppc.c:7725
 #, c-format
 msgid "unsupported relocation against %s"
 msgstr ""
 
-#: config/tc-ppc.c:7457
+#: config/tc-ppc.c:7871
 #, c-format
 msgid "Gas failure, reloc value %d\n"
 msgstr ""
@@ -14476,81 +15182,81 @@ msgstr ""
 msgid "immediate value %llu out of range %u to %lu"
 msgstr ""
 
-#: config/tc-pru.c:698
+#: config/tc-pru.c:697
 msgid "unexpected PC relative expression"
 msgstr ""
 
-#: config/tc-pru.c:735 config/tc-pru.c:742
+#: config/tc-pru.c:734 config/tc-pru.c:741
 msgid "residual low bits in pmem diff relocation"
 msgstr ""
 
-#: config/tc-pru.c:938 config/tc-pru.c:971
+#: config/tc-pru.c:939 config/tc-pru.c:972
 #, c-format
 msgid "trailing garbage after expression: %s"
 msgstr ""
 
-#: config/tc-pru.c:943
+#: config/tc-pru.c:944
 #, c-format
 msgid "expected expression, got %s"
 msgstr ""
 
-#: config/tc-pru.c:976
+#: config/tc-pru.c:977
 #, c-format
 msgid "expected constant expression, got %s"
 msgstr ""
 
-#: config/tc-pru.c:1029
+#: config/tc-pru.c:1030
 msgid "data transfer register cannot be halfword"
 msgstr ""
 
-#: config/tc-pru.c:1048
+#: config/tc-pru.c:1049
 msgid "destination register must be full-word"
 msgstr ""
 
-#: config/tc-pru.c:1080
+#: config/tc-pru.c:1081
 #, c-format
 msgid "cannot use partial register %s for addressing"
 msgstr ""
 
-#: config/tc-pru.c:1093
+#: config/tc-pru.c:1094
 #, c-format
 msgid "value %lu is too large for a byte operand"
 msgstr ""
 
-#: config/tc-pru.c:1115
+#: config/tc-pru.c:1116
 #, c-format
 msgid "loop count constant %ld is out of range [1..%d]"
 msgstr ""
 
-#: config/tc-pru.c:1215 config/tc-pru.c:1241
+#: config/tc-pru.c:1216 config/tc-pru.c:1242
 #, c-format
 msgid "byte count constant %ld is out of range [1..%d]"
 msgstr ""
 
-#: config/tc-pru.c:1222 config/tc-pru.c:1248
+#: config/tc-pru.c:1223 config/tc-pru.c:1249
 msgid "only r0 can be used as byte count register"
 msgstr ""
 
-#: config/tc-pru.c:1224 config/tc-pru.c:1250
+#: config/tc-pru.c:1225 config/tc-pru.c:1251
 msgid "only r0.bX byte fields of r0 can be used as byte count"
 msgstr ""
 
-#: config/tc-pru.c:1263
+#: config/tc-pru.c:1264
 #, c-format
 msgid "invalid constant table offset %ld"
 msgstr ""
 
-#: config/tc-pru.c:1274
+#: config/tc-pru.c:1275
 #, c-format
 msgid "invalid WakeOnStatus %ld"
 msgstr ""
 
-#: config/tc-pru.c:1285
+#: config/tc-pru.c:1286
 #, c-format
 msgid "invalid XFR WideBus Address %ld"
 msgstr ""
 
-#: config/tc-pru.c:1545
+#: config/tc-pru.c:1546
 #, c-format
 msgid ""
 "PRU options:\n"
@@ -14558,186 +15264,190 @@ msgid ""
 "  -mno-link-relax  don't generate relocations for linker relaxation.\n"
 msgstr ""
 
-#: config/tc-pru.c:1839
+#: config/tc-pru.c:1840
 #, c-format
 msgid "Label \"%s\" matches a CPU register name"
 msgstr ""
 
-#: config/tc-riscv.c:399 config/tc-riscv.c:464
+#: config/tc-riscv.c:412 config/tc-riscv.c:471
 #, c-format
 msgid "internal error: can't hash `%s': %s"
 msgstr ""
 
-#: config/tc-riscv.c:561
+#: config/tc-riscv.c:568
 #, c-format
 msgid "internal: bad RISC-V opcode (mask error): %s %s"
 msgstr ""
 
-#: config/tc-riscv.c:609
+#: config/tc-riscv.c:617
 #, c-format
 msgid "internal: bad RISC-V opcode (unknown operand type `CF%c'): %s %s"
 msgstr ""
 
-#: config/tc-riscv.c:616
+#: config/tc-riscv.c:624
 #, c-format
 msgid "internal: bad RISC-V opcode (unknown operand type `C%c'): %s %s"
 msgstr ""
 
-#: config/tc-riscv.c:660 config/tc-riscv.c:672
+#: config/tc-riscv.c:668 config/tc-riscv.c:680
 #, c-format
 msgid "internal: bad RISC-V opcode (unknown operand type `F%c'): %s %s"
 msgstr ""
 
-#: config/tc-riscv.c:679
+#: config/tc-riscv.c:687
 #, c-format
 msgid "internal: bad RISC-V opcode (unknown operand type `%c'): %s %s"
 msgstr ""
 
-#: config/tc-riscv.c:687
+#: config/tc-riscv.c:695
 #, c-format
 msgid "internal: bad RISC-V opcode (bits 0x%lx undefined): %s %s"
 msgstr ""
 
-#: config/tc-riscv.c:833
+#: config/tc-riscv.c:841
 #, c-format
 msgid "Unsupported RISC-V relocation number %d"
 msgstr ""
 
-#: config/tc-riscv.c:920
+#: config/tc-riscv.c:928
 msgid "internal error: invalid macro"
 msgstr ""
 
-#: config/tc-riscv.c:951 config/tc-riscv.c:1021
+#: config/tc-riscv.c:953
+msgid "internal error: vasprintf failed"
+msgstr ""
+
+#: config/tc-riscv.c:982 config/tc-riscv.c:1053
 msgid "unsupported large constant"
 msgstr ""
 
-#: config/tc-riscv.c:953
+#: config/tc-riscv.c:984
 #, c-format
 msgid "unknown CSR `%s'"
 msgstr ""
 
-#: config/tc-riscv.c:956
+#: config/tc-riscv.c:987
 #, c-format
 msgid "Instruction %s requires absolute expression"
 msgstr ""
 
-#: config/tc-riscv.c:1177
+#: config/tc-riscv.c:1213
 #, c-format
 msgid "Macro %s not implemented"
 msgstr ""
 
-#: config/tc-riscv.c:1659
+#: config/tc-riscv.c:1700
 msgid "bad value for funct6 field, value must be 0...64"
 msgstr ""
 
-#: config/tc-riscv.c:1674
+#: config/tc-riscv.c:1715
 msgid "bad value for funct4 field, value must be 0...15"
 msgstr ""
 
-#: config/tc-riscv.c:1689 config/tc-riscv.c:2047
+#: config/tc-riscv.c:1730 config/tc-riscv.c:2087
 msgid "bad value for funct3 field, value must be 0...7"
 msgstr ""
 
-#: config/tc-riscv.c:1703 config/tc-riscv.c:2062
+#: config/tc-riscv.c:1744 config/tc-riscv.c:2102
 msgid "bad value for funct2 field, value must be 0...3"
 msgstr ""
 
-#: config/tc-riscv.c:1712
+#: config/tc-riscv.c:1753
 #, c-format
 msgid "bad compressed FUNCT field specifier 'CF%c'\n"
 msgstr ""
 
-#: config/tc-riscv.c:1719
+#: config/tc-riscv.c:1760
 #, c-format
 msgid "bad RVC field specifier 'C%c'\n"
 msgstr ""
 
-#: config/tc-riscv.c:1742 config/tc-riscv.c:1753
+#: config/tc-riscv.c:1783 config/tc-riscv.c:1794
 #, c-format
 msgid "Improper shift amount (%lu)"
 msgstr ""
 
-#: config/tc-riscv.c:1764
+#: config/tc-riscv.c:1805
 #, c-format
 msgid "Improper CSRxI immediate (%lu)"
 msgstr ""
 
-#: config/tc-riscv.c:1779
+#: config/tc-riscv.c:1820
 #, c-format
 msgid "Improper CSR address (%lu)"
 msgstr ""
 
-#: config/tc-riscv.c:1954
+#: config/tc-riscv.c:1997
 msgid "lui expression not in range 0..1048575"
 msgstr ""
 
-#: config/tc-riscv.c:1993
+#: config/tc-riscv.c:2033
 msgid ""
 "bad value for opcode field, value must be 0...127 and lower 2 bits must be "
 "0x3"
 msgstr ""
 
-#: config/tc-riscv.c:2009
+#: config/tc-riscv.c:2049
 msgid "bad value for opcode field, value must be 0...2"
 msgstr ""
 
-#: config/tc-riscv.c:2019
+#: config/tc-riscv.c:2059
 #, c-format
 msgid "bad Opcode field specifier 'O%c'\n"
 msgstr ""
 
-#: config/tc-riscv.c:2032
+#: config/tc-riscv.c:2072
 msgid "bad value for funct7 field, value must be 0...127"
 msgstr ""
 
-#: config/tc-riscv.c:2073
+#: config/tc-riscv.c:2113
 #, c-format
 msgid "bad FUNCT field specifier 'F%c'\n"
 msgstr ""
 
-#: config/tc-riscv.c:2087
+#: config/tc-riscv.c:2127
 #, c-format
 msgid "internal error: bad argument type %c"
 msgstr ""
 
-#: config/tc-riscv.c:2092
+#: config/tc-riscv.c:2132
 msgid "illegal operands"
 msgstr ""
 
-#: config/tc-riscv.c:2462
+#: config/tc-riscv.c:2508
 #, c-format
 msgid "internal error: bad CFA value #%d"
 msgstr ""
 
-#: config/tc-riscv.c:2543
+#: config/tc-riscv.c:2589
 #, c-format
 msgid "internal error: bad relocation #%d"
 msgstr ""
 
-#: config/tc-riscv.c:2548
+#: config/tc-riscv.c:2594
 msgid "unsupported symbol subtraction"
 msgstr ""
 
-#: config/tc-riscv.c:2643
+#: config/tc-riscv.c:2689
 msgid ".option pop with no .option push"
 msgstr ""
 
-#: config/tc-riscv.c:2653
+#: config/tc-riscv.c:2699
 #, c-format
 msgid "Unrecognized .option directive: %s\n"
 msgstr ""
 
-#: config/tc-riscv.c:2673
+#: config/tc-riscv.c:2719
 #, c-format
 msgid "Unsupported use of %s"
 msgstr ""
 
-#: config/tc-riscv.c:2828
+#: config/tc-riscv.c:2874
 #, c-format
 msgid "cannot represent %s relocation in object file"
 msgstr ""
 
-#: config/tc-riscv.c:2969
+#: config/tc-riscv.c:3015
 #, c-format
 msgid ""
 "RISC-V options:\n"
@@ -14751,17 +15461,17 @@ msgid ""
 "  -mno-arch-attr don't generate RISC-V arch attribute\n"
 msgstr ""
 
-#: config/tc-riscv.c:3000
+#: config/tc-riscv.c:3050
 #, c-format
 msgid "unknown register `%s'"
 msgstr ""
 
-#: config/tc-riscv.c:3021
+#: config/tc-riscv.c:3071
 #, c-format
 msgid "non-constant .%cleb128 is not supported"
 msgstr ""
 
-#: config/tc-riscv.c:3146
+#: config/tc-riscv.c:3196
 msgid ".attribute arch must set before any instructions"
 msgstr ""
 
@@ -14828,7 +15538,7 @@ msgstr ""
 msgid "%%%s() must be outermost term in expression"
 msgstr ""
 
-#: config/tc-rl78.c:678 config/tc-rx.c:2250
+#: config/tc-rl78.c:678 config/tc-rx.c:2256
 #, c-format
 msgid "unsupported constant size %d\n"
 msgstr ""
@@ -14843,26 +15553,26 @@ msgstr ""
 msgid "%%hi8 only applies to .byte"
 msgstr ""
 
-#: config/tc-rl78.c:716 config/tc-rx.c:2257
+#: config/tc-rl78.c:716 config/tc-rx.c:2263
 msgid "difference of two symbols only supported with .long, .short, or .byte"
 msgstr ""
 
-#: config/tc-rl78.c:1238 config/tc-rx.c:2184
+#: config/tc-rl78.c:1237 config/tc-rx.c:2190
 #, c-format
 msgid "bad frag at %p : fix %ld addr %ld %ld \n"
 msgstr ""
 
-#: config/tc-rl78.c:1454
+#: config/tc-rl78.c:1453
 #, c-format
 msgid "value of %ld too large for 8-bit branch"
 msgstr ""
 
-#: config/tc-rl78.c:1465
+#: config/tc-rl78.c:1464
 #, c-format
 msgid "value of %ld too large for 16-bit branch"
 msgstr ""
 
-#: config/tc-rl78.c:1514 config/tc-rx.c:2449
+#: config/tc-rl78.c:1513 config/tc-rx.c:2455
 #, c-format
 msgid "Unknown reloc in md_apply_fix: %s"
 msgstr ""
@@ -14982,115 +15692,145 @@ msgstr ""
 msgid "The .BTEQU pseudo-op is not implemented."
 msgstr ""
 
-#: config/tc-rx.c:2114
+#: config/tc-rx.c:2121
 msgid "invalid immediate size"
 msgstr ""
 
-#: config/tc-rx.c:2133
+#: config/tc-rx.c:2140
 msgid "invalid immediate field position"
 msgstr ""
 
-#: config/tc-rx.c:2301
+#: config/tc-rx.c:2307
 #, c-format
 msgid "jump not 3..10 bytes away (is %d)"
 msgstr ""
 
-#: config/tc-rx.c:2692
+#: config/tc-rx.c:2698
 msgid ""
 "Use of an RX string instruction detected in a file being assembled without "
 "string instruction support"
 msgstr ""
 
-#: config/tc-s12z.c:342
+#: config/tc-s12z.c:148
+msgid ""
+"\n"
+"s12z options:\n"
+msgstr ""
+
+#: config/tc-s12z.c:149
+msgid ""
+"  -mreg-prefix=PREFIX     set a prefix used to indicate register names "
+"(default none)\n"
+msgstr ""
+
+#: config/tc-s12z.c:150
+msgid ""
+"  -mdollar-hex            the prefix '$' instead of '0x' is used to indicate "
+"literal hexadecimal constants\n"
+msgstr ""
+
+#: config/tc-s12z.c:317
+msgid "A non-constant expression is not permitted here"
+msgstr ""
+
+#: config/tc-s12z.c:434
 #, c-format
 msgid "Expecting '%c'"
 msgstr ""
 
-#: config/tc-s12z.c:408 config/tc-s12z.c:509
+#: config/tc-s12z.c:457
+msgid "An immediate value in a source operand is inappropriate"
+msgstr ""
+
+#: config/tc-s12z.c:506 config/tc-s12z.c:607
 msgid "Bad operand for constant offset"
 msgstr ""
 
-#: config/tc-s12z.c:436 config/tc-s12z.c:527
+#: config/tc-s12z.c:534 config/tc-s12z.c:625
 msgid "Invalid operand for register offset"
 msgstr ""
 
-#: config/tc-s12z.c:542
+#: config/tc-s12z.c:640
 msgid "Invalid register for postdecrement operation"
 msgstr ""
 
-#: config/tc-s12z.c:578
+#: config/tc-s12z.c:676
 msgid "Invalid register for preincrement operation"
 msgstr ""
 
-#: config/tc-s12z.c:596
+#: config/tc-s12z.c:694
 msgid "Invalid register for predecrement operation"
 msgstr ""
 
-#: config/tc-s12z.c:715
+#: config/tc-s12z.c:813
 msgid "Garbage at end of instruction"
 msgstr ""
 
-#: config/tc-s12z.c:835
+#: config/tc-s12z.c:942
 msgid "Offset is outside of 15 bit range"
 msgstr ""
 
-#: config/tc-s12z.c:951
+#: config/tc-s12z.c:1058
 msgid "Bad size"
 msgstr ""
 
-#: config/tc-s12z.c:996 config/tc-s12z.c:1056 config/tc-s12z.c:1118
-#: config/tc-s12z.c:1183
+#: config/tc-s12z.c:1103 config/tc-s12z.c:1163 config/tc-s12z.c:1225
+#: config/tc-s12z.c:1290
 msgid "BAD MUL"
 msgstr ""
 
-#: config/tc-s12z.c:1323
+#: config/tc-s12z.c:1430
 #, c-format
 msgid "Source register for %s is no larger than the destination register"
 msgstr ""
 
-#: config/tc-s12z.c:1348
+#: config/tc-s12z.c:1433
+msgid "The destination and source registers are identical"
+msgstr ""
+
+#: config/tc-s12z.c:1457
 #, c-format
 msgid "Immediate value %ld is out of range for instruction %s"
 msgstr ""
 
-#: config/tc-s12z.c:1419
+#: config/tc-s12z.c:1528
 #, c-format
 msgid "trap value %ld is not valid"
 msgstr ""
 
-#: config/tc-s12z.c:1830
+#: config/tc-s12z.c:1968
 msgid "Shift value should be in the range [0,31]"
 msgstr ""
 
-#: config/tc-s12z.c:1877
+#: config/tc-s12z.c:2015
 msgid "Bad shift mode"
 msgstr ""
 
-#: config/tc-s12z.c:1890
+#: config/tc-s12z.c:2028
 msgid "Bad shift *direction"
 msgstr ""
 
-#: config/tc-s12z.c:2148
+#: config/tc-s12z.c:2286
 #, c-format
 msgid "Immediate operand %ld is inappropriate for size of instruction"
 msgstr ""
 
-#: config/tc-s12z.c:2239 config/tc-s12z.c:2308 config/tc-s12z.c:2376
+#: config/tc-s12z.c:2377 config/tc-s12z.c:2446 config/tc-s12z.c:2514
 #, c-format
 msgid "Invalid width value for %s"
 msgstr ""
 
-#: config/tc-s12z.c:2252 config/tc-s12z.c:2321 config/tc-s12z.c:2389
+#: config/tc-s12z.c:2390 config/tc-s12z.c:2459 config/tc-s12z.c:2527
 #, c-format
 msgid "Invalid offset value for %s"
 msgstr ""
 
-#: config/tc-s12z.c:3694
+#: config/tc-s12z.c:3832
 #, c-format
 msgid "Invalid instruction: \"%s\""
 msgstr ""
 
-#: config/tc-s12z.c:3695
+#: config/tc-s12z.c:3833
 #, c-format
 msgid "First invalid token: \"%s\""
 msgstr ""
@@ -15099,22 +15839,22 @@ msgstr ""
 msgid "Invalid default architecture, broken assembler."
 msgstr ""
 
-#: config/tc-s390.c:372
+#: config/tc-s390.c:374
 #, c-format
 msgid "no such machine extension `%s'"
 msgstr ""
 
-#: config/tc-s390.c:383
+#: config/tc-s390.c:385
 #, c-format
 msgid "junk at end of machine string, first unrecognized character is `%c'"
 msgstr ""
 
-#: config/tc-s390.c:450 config/tc-sparc.c:489
+#: config/tc-s390.c:452 config/tc-sparc.c:489
 #, c-format
 msgid "invalid architecture -A%s"
 msgstr ""
 
-#: config/tc-s390.c:473
+#: config/tc-s390.c:475
 #, c-format
 msgid ""
 "        S390 options:\n"
@@ -15125,150 +15865,150 @@ msgid ""
 "        -m64              Set file format to 64 bit format\n"
 msgstr ""
 
-#: config/tc-s390.c:480
+#: config/tc-s390.c:482
 #, c-format
 msgid ""
 "        -V                print assembler version number\n"
 "        -Qy, -Qn          ignored\n"
 msgstr ""
 
-#: config/tc-s390.c:537
+#: config/tc-s390.c:539
 #, c-format
 msgid "Internal assembler error for instruction %s"
 msgstr ""
 
-#: config/tc-s390.c:564
+#: config/tc-s390.c:566
 msgid "The 64 bit file format is used without esame instructions."
 msgstr ""
 
-#: config/tc-s390.c:580
+#: config/tc-s390.c:582
 #, c-format
 msgid "Internal assembler error for instruction format %s"
 msgstr ""
 
-#: config/tc-s390.c:626
+#: config/tc-s390.c:628
 #, c-format
 msgid "operand out of range (%s not between %ld and %ld)"
 msgstr ""
 
-#: config/tc-s390.c:851
+#: config/tc-s390.c:853
 #, c-format
 msgid "identifier+constant@%s means identifier@%s+constant"
 msgstr ""
 
-#: config/tc-s390.c:932
+#: config/tc-s390.c:934
 msgid "Can't handle O_big in s390_exp_compare"
 msgstr ""
 
-#: config/tc-s390.c:1014
+#: config/tc-s390.c:1016
 msgid "Invalid suffix for literal pool entry"
 msgstr ""
 
-#: config/tc-s390.c:1071
+#: config/tc-s390.c:1073
 msgid "Big number is too big"
 msgstr ""
 
-#: config/tc-s390.c:1220
+#: config/tc-s390.c:1222
 msgid "relocation not applicable"
 msgstr ""
 
-#: config/tc-s390.c:1350
+#: config/tc-s390.c:1352
 msgid "invalid length field specified"
 msgstr ""
 
-#: config/tc-s390.c:1354
+#: config/tc-s390.c:1356
 msgid "index register specified but zero"
 msgstr ""
 
-#: config/tc-s390.c:1358
+#: config/tc-s390.c:1360
 msgid "base register specified but zero"
 msgstr ""
 
-#: config/tc-s390.c:1362
+#: config/tc-s390.c:1364
 msgid "odd numbered general purpose register specified as register pair"
 msgstr ""
 
-#: config/tc-s390.c:1370
+#: config/tc-s390.c:1372
 msgid ""
 "invalid floating point register pair.  Valid fp register pair operands are "
 "0, 1, 4, 5, 8, 9, 12 or 13."
 msgstr ""
 
-#: config/tc-s390.c:1459
+#: config/tc-s390.c:1461
 msgid "invalid operand suffix"
 msgstr ""
 
-#: config/tc-s390.c:1482
+#: config/tc-s390.c:1484
 msgid "syntax error; missing '(' after displacement"
 msgstr ""
 
-#: config/tc-s390.c:1499 config/tc-s390.c:1545 config/tc-s390.c:1577
+#: config/tc-s390.c:1501 config/tc-s390.c:1547 config/tc-s390.c:1579
 msgid "syntax error; expected ','"
 msgstr ""
 
-#: config/tc-s390.c:1531
+#: config/tc-s390.c:1533
 msgid "syntax error; missing ')' after base register"
 msgstr ""
 
-#: config/tc-s390.c:1562
+#: config/tc-s390.c:1564
 msgid "syntax error; ')' not allowed here"
 msgstr ""
 
-#: config/tc-s390.c:1702
+#: config/tc-s390.c:1704
 #, c-format
 msgid "Opcode %s not available in this mode"
 msgstr ""
 
-#: config/tc-s390.c:1757 config/tc-s390.c:1780 config/tc-s390.c:1793
+#: config/tc-s390.c:1759 config/tc-s390.c:1782 config/tc-s390.c:1795
 msgid "Invalid .insn format\n"
 msgstr ""
 
-#: config/tc-s390.c:1765
+#: config/tc-s390.c:1767
 #, c-format
 msgid "Unrecognized opcode format: `%s'"
 msgstr ""
 
-#: config/tc-s390.c:1796
+#: config/tc-s390.c:1798
 msgid "second operand of .insn not a constant\n"
 msgstr ""
 
-#: config/tc-s390.c:1799
+#: config/tc-s390.c:1801
 msgid "missing comma after insn constant\n"
 msgstr ""
 
-#: config/tc-s390.c:2038
+#: config/tc-s390.c:2040
 msgid ".machinemode stack overflow"
 msgstr ""
 
-#: config/tc-s390.c:2045
+#: config/tc-s390.c:2047
 msgid ".machinemode stack underflow"
 msgstr ""
 
-#: config/tc-s390.c:2062
+#: config/tc-s390.c:2064
 #, c-format
 msgid "invalid machine mode `%s'"
 msgstr ""
 
-#: config/tc-s390.c:2264
+#: config/tc-s390.c:2266
 #, c-format
 msgid "cannot emit relocation %s against subsy symbol %s"
 msgstr ""
 
-#: config/tc-s390.c:2381
+#: config/tc-s390.c:2383
 msgid "unsupported relocation type"
 msgstr ""
 
-#: config/tc-s390.c:2436
+#: config/tc-s390.c:2438
 #, c-format
 msgid "cannot emit PC relative %s relocation%s%s"
 msgstr ""
 
-#: config/tc-s390.c:2575
+#: config/tc-s390.c:2577
 #, c-format
 msgid "Gas failure, reloc type %s\n"
 msgstr ""
 
-#: config/tc-s390.c:2577
+#: config/tc-s390.c:2579
 #, c-format
 msgid "Gas failure, reloc type #%i\n"
 msgstr ""
@@ -15285,217 +16025,217 @@ msgstr ""
 msgid "This architecture doesn't support atomic instruction"
 msgstr ""
 
-#: config/tc-score.c:469
+#: config/tc-score.c:468
 msgid "S+core register expected"
 msgstr ""
 
-#: config/tc-score.c:470
+#: config/tc-score.c:469
 msgid "S+core special-register expected"
 msgstr ""
 
-#: config/tc-score.c:471
+#: config/tc-score.c:470
 msgid "S+core co-processor register expected"
 msgstr ""
 
-#: config/tc-score.c:1074
+#: config/tc-score.c:1073
 msgid "Using temp register (r1)"
 msgstr ""
 
-#: config/tc-score.c:1093
+#: config/tc-score.c:1092
 #, c-format
 msgid "register expected, not '%.100s'"
 msgstr ""
 
-#: config/tc-score.c:1149 config/tc-score.c:5482
+#: config/tc-score.c:1148 config/tc-score.c:5481
 msgid "rd must be even number."
 msgstr ""
 
-#: config/tc-score.c:1513 config/tc-score.c:1520
+#: config/tc-score.c:1512 config/tc-score.c:1519
 #, c-format
 msgid "invalid constant: %d bit expression not in range %u..%u"
 msgstr ""
 
-#: config/tc-score.c:1526 config/tc-score.c:1533 config/tc-score.c:2895
-#: config/tc-score.c:2900 config/tc-score.c:3165 config/tc-score.c:3170
-#: config/tc-score.c:3462
+#: config/tc-score.c:1525 config/tc-score.c:1532 config/tc-score.c:2894
+#: config/tc-score.c:2899 config/tc-score.c:3164 config/tc-score.c:3169
+#: config/tc-score.c:3461
 #, c-format
 msgid "invalid constant: %d bit expression not in range %d..%d"
 msgstr ""
 
-#: config/tc-score.c:1558
+#: config/tc-score.c:1557
 msgid "invalid constant: bit expression not defined"
 msgstr ""
 
-#: config/tc-score.c:2068
+#: config/tc-score.c:2067
 msgid "Using temp register(r1)"
 msgstr ""
 
-#: config/tc-score.c:2082
+#: config/tc-score.c:2081
 #, c-format
 msgid "low register (r0-r15) expected, not '%.100s'"
 msgstr ""
 
-#: config/tc-score.c:2144 config/tc-score.c:3482 config/tc-score.c:3650
-#: config/tc-score.c:3695
+#: config/tc-score.c:2143 config/tc-score.c:3481 config/tc-score.c:3649
+#: config/tc-score.c:3694
 #, c-format
 msgid "missing ["
 msgstr ""
 
-#: config/tc-score.c:2158 config/tc-score.c:3103 config/tc-score.c:3305
-#: config/tc-score.c:3321 config/tc-score.c:3392 config/tc-score.c:3447
-#: config/tc-score.c:3671 config/tc-score.c:3716 config/tc-score.c:3865
-#: config/tc-score.c:3919 config/tc-score.c:3965
+#: config/tc-score.c:2157 config/tc-score.c:3102 config/tc-score.c:3304
+#: config/tc-score.c:3320 config/tc-score.c:3391 config/tc-score.c:3446
+#: config/tc-score.c:3670 config/tc-score.c:3715 config/tc-score.c:3864
+#: config/tc-score.c:3918 config/tc-score.c:3964
 #, c-format
 msgid "missing ]"
 msgstr ""
 
-#: config/tc-score.c:2347
+#: config/tc-score.c:2346
 #, c-format
 msgid "Fix data dependency: %s %s -- %s %s (insert %d nop!/%d)"
 msgstr ""
 
-#: config/tc-score.c:2366
+#: config/tc-score.c:2365
 #, c-format
 msgid "Fix data dependency: %s %s -- %s %s (insert 1 pflush/%d)"
 msgstr ""
 
-#: config/tc-score.c:2382 config/tc-score.c:2389
+#: config/tc-score.c:2381 config/tc-score.c:2388
 #, c-format
 msgid "data dependency: %s %s -- %s %s (%d/%d bubble)"
 msgstr ""
 
-#: config/tc-score.c:2838
+#: config/tc-score.c:2837
 msgid "address offset must be half word alignment"
 msgstr ""
 
-#: config/tc-score.c:2846
+#: config/tc-score.c:2845
 msgid "address offset must be word alignment"
 msgstr ""
 
-#: config/tc-score.c:2986 config/tc-score.c:3123
+#: config/tc-score.c:2985 config/tc-score.c:3122
 msgid "register same as write-back base"
 msgstr ""
 
-#: config/tc-score.c:3093
+#: config/tc-score.c:3092
 msgid "pre-indexed expression expected"
 msgstr ""
 
-#: config/tc-score.c:3422
+#: config/tc-score.c:3421
 #, c-format
 msgid "invalid register number: %d is not in [r0--r7]"
 msgstr ""
 
-#: config/tc-score.c:3439
+#: config/tc-score.c:3438
 msgid "comma is  expected"
 msgstr ""
 
-#: config/tc-score.c:3470
+#: config/tc-score.c:3469
 #, c-format
 msgid "invalid constant: %d is not word align integer"
 msgstr ""
 
-#: config/tc-score.c:3509 config/tc-score.c:3552
+#: config/tc-score.c:3508 config/tc-score.c:3551
 msgid "invalid constant: 32 bit expression not word align"
 msgstr ""
 
-#: config/tc-score.c:3518 config/tc-score.c:3561
+#: config/tc-score.c:3517 config/tc-score.c:3560
 msgid "invalid constant: 32 bit expression not in range [0, 0xffffffff]"
 msgstr ""
 
-#: config/tc-score.c:3594
+#: config/tc-score.c:3593
 msgid ""
 "invalid constant: 32 bit expression not in range [-0x80000000, 0x7fffffff]"
 msgstr ""
 
-#: config/tc-score.c:3783 config/tc-score.c:3811
+#: config/tc-score.c:3782 config/tc-score.c:3810
 msgid "imm5 should >= 2"
 msgstr ""
 
-#: config/tc-score.c:3788 config/tc-score.c:3817
+#: config/tc-score.c:3787 config/tc-score.c:3816
 msgid "reg should <= 31"
 msgstr ""
 
-#: config/tc-score.c:3859 config/tc-score.c:3910
+#: config/tc-score.c:3858 config/tc-score.c:3909
 msgid "missing +"
 msgstr ""
 
-#: config/tc-score.c:3903
+#: config/tc-score.c:3902
 #, c-format
 msgid "%s register same as write-back base"
 msgstr ""
 
-#: config/tc-score.c:3905
+#: config/tc-score.c:3904
 msgid "destination"
 msgstr ""
 
-#: config/tc-score.c:3905
+#: config/tc-score.c:3904
 msgid "source"
 msgstr ""
 
-#: config/tc-score.c:4236 config/tc-score.c:4312 config/tc-score.c:4943
+#: config/tc-score.c:4235 config/tc-score.c:4311 config/tc-score.c:4942
 msgid "expression error"
 msgstr ""
 
-#: config/tc-score.c:4318
+#: config/tc-score.c:4317
 msgid "value not in range [-0xffffffff, 0xffffffff]"
 msgstr ""
 
-#: config/tc-score.c:4346
+#: config/tc-score.c:4345
 msgid "li rd label isn't correct instruction form"
 msgstr ""
 
-#: config/tc-score.c:4513 config/tc-score.c:4665 config/tc-score.c:5194
-#: config/tc-score.c:5222
+#: config/tc-score.c:4512 config/tc-score.c:4664 config/tc-score.c:5193
+#: config/tc-score.c:5221
 msgid "lacking label  "
 msgstr ""
 
-#: config/tc-score.c:4893
+#: config/tc-score.c:4892
 msgid "s3_PIC code offset overflow (max 16 signed bits)"
 msgstr ""
 
-#: config/tc-score.c:4949
+#: config/tc-score.c:4948
 msgid "value not in range [0, 0x7fffffff]"
 msgstr ""
 
-#: config/tc-score.c:4954
+#: config/tc-score.c:4953
 msgid "end on line error"
 msgstr ""
 
-#: config/tc-score.c:5201
+#: config/tc-score.c:5200
 msgid "invalid constant: 25 bit expression not in range [-16777216, 16777215]"
 msgstr ""
 
-#: config/tc-score.c:5228
+#: config/tc-score.c:5227
 msgid "invalid constant: 20 bit expression not in range -2^19..2^19-1"
 msgstr ""
 
-#: config/tc-score.c:5261
+#: config/tc-score.c:5260
 msgid "lacking label"
 msgstr ""
 
-#: config/tc-score.c:5266
+#: config/tc-score.c:5265
 msgid "invalid constant: 10 bit expression not in range [-2^9, 2^9-1]"
 msgstr ""
 
-#: config/tc-score.c:5362
+#: config/tc-score.c:5361
 msgid "pce instruction error (16 bit || 16 bit)."
 msgstr ""
 
-#: config/tc-score.c:5380 config/tc-score.c:5404 config/tc-score.c:5431
-#: config/tc-score.c:5460 config/tc-score.c:5509
+#: config/tc-score.c:5379 config/tc-score.c:5403 config/tc-score.c:5430
+#: config/tc-score.c:5459 config/tc-score.c:5508
 msgid "score3d instruction."
 msgstr ""
 
-#: config/tc-score.c:6027
+#: config/tc-score.c:6026
 msgid "Unsupported use of .gpword"
 msgstr ""
 
-#: config/tc-score.c:6123
+#: config/tc-score.c:6122
 #, c-format
 msgid "BSS length (%d) < 0 ignored"
 msgstr ""
 
-#: config/tc-score.c:6138 read.c:2468
+#: config/tc-score.c:6137 read.c:2468
 #, c-format
 msgid "error setting flags for \".sbss\": %s"
 msgstr ""
@@ -15695,7 +16435,7 @@ msgstr ""
 msgid "misplaced PIC operand"
 msgstr ""
 
-#: config/tc-sh.c:2237 config/tc-sh.c:2616
+#: config/tc-sh.c:2237 config/tc-sh.c:2610
 msgid "invalid operands for opcode"
 msgstr ""
 
@@ -15775,33 +16515,33 @@ msgstr ""
 msgid "unrecognized characters at end of parallel processing insn"
 msgstr ""
 
-#: config/tc-sh.c:2553
+#: config/tc-sh.c:2549
 msgid "opcode not valid for this cpu variant"
 msgstr ""
 
-#: config/tc-sh.c:2586
+#: config/tc-sh.c:2580
 msgid "Delayed branches not available on SH1"
 msgstr ""
 
-#: config/tc-sh.c:2621
+#: config/tc-sh.c:2615
 #, c-format
 msgid "excess operands: '%s'"
 msgstr ""
 
-#: config/tc-sh.c:2698
+#: config/tc-sh.c:2692
 msgid ".uses pseudo-op seen when not relaxing"
 msgstr ""
 
-#: config/tc-sh.c:2704
+#: config/tc-sh.c:2698
 msgid "bad .uses format"
 msgstr ""
 
-#: config/tc-sh.c:2822
+#: config/tc-sh.c:2816
 #, c-format
 msgid "Invalid argument to --isa option: %s"
 msgstr ""
 
-#: config/tc-sh.c:2846
+#: config/tc-sh.c:2840
 #, c-format
 msgid ""
 "SH options:\n"
@@ -15818,70 +16558,70 @@ msgid ""
 "    | fp"
 msgstr ""
 
-#: config/tc-sh.c:2871
+#: config/tc-sh.c:2865
 #, c-format
 msgid "--fdpic\t\t\tgenerate an FDPIC object file\n"
 msgstr ""
 
-#: config/tc-sh.c:2947
+#: config/tc-sh.c:2941
 msgid ".uses does not refer to a local symbol in the same section"
 msgstr ""
 
-#: config/tc-sh.c:2966
+#: config/tc-sh.c:2960
 msgid "can't find fixup pointed to by .uses"
 msgstr ""
 
-#: config/tc-sh.c:2986
+#: config/tc-sh.c:2980
 msgid ".uses target does not refer to a local symbol in the same section"
 msgstr ""
 
-#: config/tc-sh.c:3059
+#: config/tc-sh.c:3053
 msgid "displacement overflows 12-bit field"
 msgstr ""
 
-#: config/tc-sh.c:3062
+#: config/tc-sh.c:3056
 #, c-format
 msgid "displacement to defined symbol %s overflows 12-bit field"
 msgstr ""
 
-#: config/tc-sh.c:3066
+#: config/tc-sh.c:3060
 #, c-format
 msgid "displacement to undefined symbol %s overflows 12-bit field"
 msgstr ""
 
-#: config/tc-sh.c:3139
+#: config/tc-sh.c:3133
 msgid "displacement overflows 8-bit field"
 msgstr ""
 
-#: config/tc-sh.c:3142
+#: config/tc-sh.c:3136
 #, c-format
 msgid "displacement to defined symbol %s overflows 8-bit field"
 msgstr ""
 
-#: config/tc-sh.c:3146
+#: config/tc-sh.c:3140
 #, c-format
 msgid "displacement to undefined symbol %s overflows 8-bit field "
 msgstr ""
 
-#: config/tc-sh.c:3159
+#: config/tc-sh.c:3153
 #, c-format
 msgid "overflow in branch to %s; converted into longer instruction sequence"
 msgstr ""
 
-#: config/tc-sh.c:3224 config/tc-sh.c:3271 config/tc-sparc.c:4634
+#: config/tc-sh.c:3218 config/tc-sh.c:3265 config/tc-sparc.c:4634
 #: config/tc-sparc.c:4658
 msgid "misaligned data"
 msgstr ""
 
-#: config/tc-sh.c:3577
+#: config/tc-sh.c:3571
 msgid "offset to unaligned destination"
 msgstr ""
 
-#: config/tc-sh.c:3582
+#: config/tc-sh.c:3576
 msgid "negative offset"
 msgstr ""
 
-#: config/tc-sh.c:3722
+#: config/tc-sh.c:3716
 msgid "misaligned offset"
 msgstr ""
 
@@ -16209,7 +16949,7 @@ msgstr ""
 #: config/tc-sparc.c:3655 config/tc-sparc.c:3662 config/tc-sparc.c:3669
 #: config/tc-sparc.c:3676 config/tc-sparc.c:3683 config/tc-sparc.c:3692
 #: config/tc-sparc.c:3704 config/tc-sparc.c:3715 config/tc-sparc.c:3737
-#: config/tc-sparc.c:3761 write.c:1181
+#: config/tc-sparc.c:3761 write.c:1179
 msgid "relocation overflow"
 msgstr ""
 
@@ -16305,10 +17045,6 @@ msgstr ""
 msgid "sparc convert_frag\n"
 msgstr ""
 
-#: config/tc-sparc.h:68 config/tc-z80.h:53
-msgid "estimate_size_before_relax called"
-msgstr ""
-
 #: config/tc-spu.c:130
 #, c-format
 msgid "Can't hash instruction '%s':%s"
@@ -16564,231 +17300,231 @@ msgstr ""
 msgid "first operand is too large for a 24-bit displacement"
 msgstr ""
 
-#: config/tc-tic4x.c:392
+#: config/tc-tic4x.c:389
 msgid "Nan, using zero."
 msgstr ""
 
-#: config/tc-tic4x.c:514
+#: config/tc-tic4x.c:511
 #, c-format
 msgid "Cannot represent exponent in %d bits"
 msgstr ""
 
-#: config/tc-tic4x.c:597 config/tc-tic4x.c:607
+#: config/tc-tic4x.c:594 config/tc-tic4x.c:604
 msgid "Invalid floating point number"
 msgstr ""
 
-#: config/tc-tic4x.c:726
+#: config/tc-tic4x.c:723
 msgid "Comma expected\n"
 msgstr ""
 
-#: config/tc-tic4x.c:762 config/tc-tic54x.c:470
+#: config/tc-tic4x.c:759 config/tc-tic54x.c:471
 msgid ".bss size argument missing\n"
 msgstr ""
 
-#: config/tc-tic4x.c:770
+#: config/tc-tic4x.c:767
 #, c-format
 msgid ".bss size %ld < 0!"
 msgstr ""
 
-#: config/tc-tic4x.c:903
+#: config/tc-tic4x.c:900
 msgid "Non-constant symbols not allowed\n"
 msgstr ""
 
-#: config/tc-tic4x.c:934
+#: config/tc-tic4x.c:931
 msgid "Symbol missing\n"
 msgstr ""
 
 #. Skip null symbol terminator.
-#: config/tc-tic4x.c:982
+#: config/tc-tic4x.c:979
 msgid ".sect: subsection name ignored"
 msgstr ""
 
-#: config/tc-tic4x.c:1010 config/tc-tic4x.c:1111 config/tc-tic54x.c:1423
+#: config/tc-tic4x.c:1007 config/tc-tic4x.c:1108 config/tc-tic54x.c:1424
 #, c-format
 msgid "Error setting flags for \"%s\": %s"
 msgstr ""
 
-#: config/tc-tic4x.c:1042
+#: config/tc-tic4x.c:1039
 msgid ".set syntax invalid\n"
 msgstr ""
 
-#: config/tc-tic4x.c:1100
+#: config/tc-tic4x.c:1097
 msgid ".usect: non-zero alignment flag ignored"
 msgstr ""
 
-#: config/tc-tic4x.c:1131
+#: config/tc-tic4x.c:1128
 #, c-format
 msgid "This assembler does not support processor generation %ld"
 msgstr ""
 
-#: config/tc-tic4x.c:1135
+#: config/tc-tic4x.c:1132
 msgid "Changing processor generation on fly not supported..."
 msgstr ""
 
-#: config/tc-tic4x.c:1433
+#: config/tc-tic4x.c:1430
 msgid "Auxiliary register AR0--AR7 required for indirect"
 msgstr ""
 
-#: config/tc-tic4x.c:1447
+#: config/tc-tic4x.c:1444
 #, c-format
 msgid "Bad displacement %d (require 0--255)\n"
 msgstr ""
 
-#: config/tc-tic4x.c:1465
+#: config/tc-tic4x.c:1462
 msgid "Index register IR0,IR1 required for displacement"
 msgstr ""
 
-#: config/tc-tic4x.c:1533
+#: config/tc-tic4x.c:1530
 msgid "Expecting a register name"
 msgstr ""
 
-#: config/tc-tic4x.c:1545 config/tc-tic4x.c:1568 config/tc-tic4x.c:1634
+#: config/tc-tic4x.c:1542 config/tc-tic4x.c:1565 config/tc-tic4x.c:1631
 msgid "Number too large"
 msgstr ""
 
-#: config/tc-tic4x.c:1558 config/tc-tic4x.c:1581
+#: config/tc-tic4x.c:1555 config/tc-tic4x.c:1578
 msgid "Expecting a constant value"
 msgstr ""
 
-#: config/tc-tic4x.c:1589
+#: config/tc-tic4x.c:1586
 #, c-format
 msgid "Bad direct addressing construct %s"
 msgstr ""
 
-#: config/tc-tic4x.c:1593
+#: config/tc-tic4x.c:1590
 #, c-format
 msgid "Direct value of %ld is not suitable"
 msgstr ""
 
-#: config/tc-tic4x.c:1617
+#: config/tc-tic4x.c:1614
 msgid "Unknown indirect addressing mode"
 msgstr ""
 
-#: config/tc-tic4x.c:1714
+#: config/tc-tic4x.c:1711
 #, c-format
 msgid "Immediate value of %ld is too large for ldf"
 msgstr ""
 
-#: config/tc-tic4x.c:1754
+#: config/tc-tic4x.c:1751
 msgid "Destination register must be ARn"
 msgstr ""
 
-#: config/tc-tic4x.c:1773 config/tc-tic4x.c:2146 config/tc-tic4x.c:2205
+#: config/tc-tic4x.c:1770 config/tc-tic4x.c:2143 config/tc-tic4x.c:2202
 #, c-format
 msgid "Immediate value of %ld is too large"
 msgstr ""
 
-#: config/tc-tic4x.c:1802 config/tc-tic4x.c:2007
+#: config/tc-tic4x.c:1799 config/tc-tic4x.c:2004
 msgid "Invalid indirect addressing mode"
 msgstr ""
 
-#: config/tc-tic4x.c:1826 config/tc-tic4x.c:1866 config/tc-tic4x.c:2057
-#: config/tc-tic4x.c:2079
+#: config/tc-tic4x.c:1823 config/tc-tic4x.c:1863 config/tc-tic4x.c:2054
+#: config/tc-tic4x.c:2076
 msgid "Register must be Rn"
 msgstr ""
 
-#: config/tc-tic4x.c:1880 config/tc-tic4x.c:1950 config/tc-tic4x.c:1964
+#: config/tc-tic4x.c:1877 config/tc-tic4x.c:1947 config/tc-tic4x.c:1961
 msgid "Register must be R0--R7"
 msgstr ""
 
-#: config/tc-tic4x.c:1904 config/tc-tic4x.c:1932
+#: config/tc-tic4x.c:1901 config/tc-tic4x.c:1929
 #, c-format
 msgid "Invalid indirect addressing mode displacement %d"
 msgstr ""
 
-#: config/tc-tic4x.c:1978
+#: config/tc-tic4x.c:1975
 msgid "Destination register must be R2 or R3"
 msgstr ""
 
-#: config/tc-tic4x.c:1992
+#: config/tc-tic4x.c:1989
 msgid "Destination register must be R0 or R1"
 msgstr ""
 
-#: config/tc-tic4x.c:2029
+#: config/tc-tic4x.c:2026
 #, c-format
 msgid "Displacement value of %ld is too large"
 msgstr ""
 
-#: config/tc-tic4x.c:2090 config/tc-tic4x.c:2221
+#: config/tc-tic4x.c:2087 config/tc-tic4x.c:2218
 msgid "Floating point number not valid in expression"
 msgstr ""
 
-#: config/tc-tic4x.c:2104
+#: config/tc-tic4x.c:2101
 #, c-format
 msgid "Signed immediate value %ld too large"
 msgstr ""
 
-#: config/tc-tic4x.c:2167
+#: config/tc-tic4x.c:2164
 #, c-format
 msgid "Unsigned immediate value %ld too large"
 msgstr ""
 
-#: config/tc-tic4x.c:2235
+#: config/tc-tic4x.c:2232
 #, c-format
 msgid "Immediate value %ld too large"
 msgstr ""
 
-#: config/tc-tic4x.c:2254 config/tc-tic4x.c:2282
+#: config/tc-tic4x.c:2251 config/tc-tic4x.c:2279
 msgid "Register must be ivtp or tvtp"
 msgstr ""
 
-#: config/tc-tic4x.c:2268
+#: config/tc-tic4x.c:2265
 msgid "Register must be address register"
 msgstr ""
 
-#: config/tc-tic4x.c:2341
+#: config/tc-tic4x.c:2338
 msgid "Source and destination register should not be equal"
 msgstr ""
 
-#: config/tc-tic4x.c:2356
+#: config/tc-tic4x.c:2353
 msgid "Equal parallel destination registers, one result will be discarded"
 msgstr ""
 
-#: config/tc-tic4x.c:2397
+#: config/tc-tic4x.c:2394
 msgid "Too many operands scanned"
 msgstr ""
 
-#: config/tc-tic4x.c:2428
+#: config/tc-tic4x.c:2425
 msgid "Parallel opcode cannot contain more than two instructions"
 msgstr ""
 
-#: config/tc-tic4x.c:2501
+#: config/tc-tic4x.c:2499
 #, c-format
 msgid "Invalid operands for %s"
 msgstr ""
 
-#: config/tc-tic4x.c:2504
+#: config/tc-tic4x.c:2502
 #, c-format
 msgid "Invalid instruction %s"
 msgstr ""
 
-#: config/tc-tic4x.c:2656
+#: config/tc-tic4x.c:2654
 #, c-format
 msgid "Bad relocation type: 0x%02x"
 msgstr ""
 
-#: config/tc-tic4x.c:2714
+#: config/tc-tic4x.c:2712
 #, c-format
 msgid "Unsupported processor generation %d"
 msgstr ""
 
-#: config/tc-tic4x.c:2722
+#: config/tc-tic4x.c:2720
 msgid "Option -b is depreciated, please use -mbig"
 msgstr ""
 
-#: config/tc-tic4x.c:2729
+#: config/tc-tic4x.c:2727
 msgid "Option -p is depreciated, please use -mmemparm"
 msgstr ""
 
-#: config/tc-tic4x.c:2736
+#: config/tc-tic4x.c:2734
 msgid "Option -r is depreciated, please use -mregparm"
 msgstr ""
 
-#: config/tc-tic4x.c:2743
+#: config/tc-tic4x.c:2741
 msgid "Option -s is depreciated, please use -msmall"
 msgstr ""
 
-#: config/tc-tic4x.c:2772
+#: config/tc-tic4x.c:2770
 #, c-format
 msgid ""
 "\n"
@@ -16814,439 +17550,443 @@ msgid ""
 "  -menhanced              enable enhanced opcode support\n"
 msgstr ""
 
-#: config/tc-tic4x.c:2817
+#: config/tc-tic4x.c:2815
 #, c-format
 msgid "Label \"$%d\" redefined"
 msgstr ""
 
-#: config/tc-tic4x.c:3027
+#: config/tc-tic4x.c:3025
 #, c-format
 msgid "Reloc %d not supported by object file format"
 msgstr ""
 
 #. Only word (et al.), align, or conditionals are allowed within
 #. .struct/.union.
-#: config/tc-tic54x.c:218
+#: config/tc-tic54x.c:219
 msgid "pseudo-op illegal within .struct/.union"
 msgstr ""
 
-#: config/tc-tic54x.c:232
+#: config/tc-tic54x.c:233
 #, c-format
 msgid "C54x-specific command line options:\n"
 msgstr ""
 
-#: config/tc-tic54x.c:233
+#: config/tc-tic54x.c:234
 #, c-format
 msgid "-mfar-mode | -mf          Use extended addressing\n"
 msgstr ""
 
-#: config/tc-tic54x.c:234
+#: config/tc-tic54x.c:235
 #, c-format
 msgid "-mcpu=<CPU version>       Specify the CPU version\n"
 msgstr ""
 
-#: config/tc-tic54x.c:235
+#: config/tc-tic54x.c:236
 #, c-format
 msgid "-merrors-to-file <filename>\n"
 msgstr ""
 
-#: config/tc-tic54x.c:236
+#: config/tc-tic54x.c:237
 #, c-format
 msgid "-me <filename>            Redirect errors to a file\n"
 msgstr ""
 
-#: config/tc-tic54x.c:347
+#: config/tc-tic54x.c:348
 msgid "Comma and symbol expected for '.asg STRING, SYMBOL'"
 msgstr ""
 
-#: config/tc-tic54x.c:356
+#: config/tc-tic54x.c:357
 msgid "symbols assigned with .asg must begin with a letter"
 msgstr ""
 
-#: config/tc-tic54x.c:396
+#: config/tc-tic54x.c:397
 msgid "Unterminated string after absolute expression"
 msgstr ""
 
-#: config/tc-tic54x.c:404
+#: config/tc-tic54x.c:405
 msgid "Comma and symbol expected for '.eval EXPR, SYMBOL'"
 msgstr ""
 
-#: config/tc-tic54x.c:414
+#: config/tc-tic54x.c:415
 msgid "symbols assigned with .eval must begin with a letter"
 msgstr ""
 
-#: config/tc-tic54x.c:479
+#: config/tc-tic54x.c:480
 #, c-format
 msgid ".bss size %d < 0!"
 msgstr ""
 
-#: config/tc-tic54x.c:661
+#: config/tc-tic54x.c:662
 msgid "Offset on nested structures is ignored"
 msgstr ""
 
-#: config/tc-tic54x.c:711
+#: config/tc-tic54x.c:712
 #, c-format
 msgid ".end%s without preceding .%s"
 msgstr ""
 
-#: config/tc-tic54x.c:777
+#: config/tc-tic54x.c:778
 #, c-format
 msgid "Unrecognized struct/union tag '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:779
+#: config/tc-tic54x.c:780
 msgid ".tag requires a structure tag"
 msgstr ""
 
-#: config/tc-tic54x.c:785
+#: config/tc-tic54x.c:786
 msgid "Label required for .tag"
 msgstr ""
 
-#: config/tc-tic54x.c:804
+#: config/tc-tic54x.c:805
 #, c-format
 msgid ".tag target '%s' undefined"
 msgstr ""
 
-#: config/tc-tic54x.c:868
+#: config/tc-tic54x.c:869
 #, c-format
 msgid ".field count '%d' out of range (1 <= X <= 32)"
 msgstr ""
 
-#: config/tc-tic54x.c:896
+#: config/tc-tic54x.c:897
 #, c-format
 msgid "Unrecognized field type '%c'"
 msgstr ""
 
-#: config/tc-tic54x.c:1020
+#: config/tc-tic54x.c:1021
 msgid "Overflow in expression, truncated to 8 bits"
 msgstr ""
 
-#: config/tc-tic54x.c:1025
+#: config/tc-tic54x.c:1026
 msgid "Overflow in expression, truncated to 16 bits"
 msgstr ""
 
 #. Disallow .byte with a non constant expression that will
 #. require relocation.
-#: config/tc-tic54x.c:1033
+#: config/tc-tic54x.c:1034
 msgid "Relocatable values require at least WORD storage"
 msgstr ""
 
-#: config/tc-tic54x.c:1094
+#: config/tc-tic54x.c:1095
 msgid "Use of .def/.ref is deprecated.  Use .global instead"
 msgstr ""
 
-#: config/tc-tic54x.c:1286
+#: config/tc-tic54x.c:1287
 msgid ".space/.bes repeat count is negative, ignored"
 msgstr ""
 
-#: config/tc-tic54x.c:1291
+#: config/tc-tic54x.c:1292
 msgid ".space/.bes repeat count is zero, ignored"
 msgstr ""
 
-#: config/tc-tic54x.c:1364
+#: config/tc-tic54x.c:1365
 msgid "Missing size argument"
 msgstr ""
 
-#: config/tc-tic54x.c:1498
+#: config/tc-tic54x.c:1499
 msgid "CPU version has already been set"
 msgstr ""
 
-#: config/tc-tic54x.c:1502
+#: config/tc-tic54x.c:1503
 #, c-format
 msgid "Unrecognized version '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:1508
+#: config/tc-tic54x.c:1509
 msgid "Changing of CPU version on the fly not supported"
 msgstr ""
 
-#: config/tc-tic54x.c:1639
+#: config/tc-tic54x.c:1640
 msgid "p2align not supported on this target"
 msgstr ""
 
-#: config/tc-tic54x.c:1651
+#: config/tc-tic54x.c:1652
 msgid "Argument to .even ignored"
 msgstr ""
 
-#: config/tc-tic54x.c:1697
+#: config/tc-tic54x.c:1698
 msgid "Invalid field size, must be from 1 to 32"
 msgstr ""
 
-#: config/tc-tic54x.c:1710
+#: config/tc-tic54x.c:1711
 msgid "field size must be 16 when value is relocatable"
 msgstr ""
 
-#: config/tc-tic54x.c:1725
+#: config/tc-tic54x.c:1726
 msgid "field value truncated"
 msgstr ""
 
-#: config/tc-tic54x.c:1831 config/tc-tic54x.c:2130
+#: config/tc-tic54x.c:1832 config/tc-tic54x.c:2131
 #, c-format
 msgid "Unrecognized section '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:1840
+#: config/tc-tic54x.c:1841
 msgid "Current section is uninitialized, section name required for .clink"
 msgstr ""
 
-#: config/tc-tic54x.c:2041
+#: config/tc-tic54x.c:2042
 msgid "ENDLOOP without corresponding LOOP"
 msgstr ""
 
-#: config/tc-tic54x.c:2082
+#: config/tc-tic54x.c:2083
 msgid "Mixing of normal and extended addressing not supported"
 msgstr ""
 
-#: config/tc-tic54x.c:2088
+#: config/tc-tic54x.c:2089
 msgid "Extended addressing not supported on the specified CPU"
 msgstr ""
 
-#: config/tc-tic54x.c:2136
+#: config/tc-tic54x.c:2137
 msgid ".sblock may be used for initialized sections only"
 msgstr ""
 
-#: config/tc-tic54x.c:2166
+#: config/tc-tic54x.c:2167
 msgid "Symbol missing for .set/.equ"
 msgstr ""
 
-#: config/tc-tic54x.c:2222
+#: config/tc-tic54x.c:2223
 msgid ".var may only be used within a macro definition"
 msgstr ""
 
-#: config/tc-tic54x.c:2230
+#: config/tc-tic54x.c:2231
 msgid "Substitution symbols must begin with a letter"
 msgstr ""
 
-#: config/tc-tic54x.c:2322
+#: config/tc-tic54x.c:2323
 #, c-format
 msgid "can't open macro library file '%s' for reading: %s"
 msgstr ""
 
-#: config/tc-tic54x.c:2329
+#: config/tc-tic54x.c:2330
 #, c-format
 msgid "File '%s' not in macro archive format"
 msgstr ""
 
-#: config/tc-tic54x.c:2459
+#: config/tc-tic54x.c:2460
 #, c-format
 msgid "Bad COFF version '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:2468
+#: config/tc-tic54x.c:2469
 #, c-format
 msgid "Bad CPU version '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:2481 config/tc-tic54x.c:2484
+#: config/tc-tic54x.c:2482 config/tc-tic54x.c:2485
 #, c-format
 msgid "Can't redirect stderr to the file '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:2597
+#: config/tc-tic54x.c:2503
+msgid "Macro nesting is too deep"
+msgstr ""
+
+#: config/tc-tic54x.c:2602
 #, c-format
 msgid "Undefined substitution symbol '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:3098
+#: config/tc-tic54x.c:3103
 #, c-format
 msgid "Unbalanced parenthesis in operand %d"
 msgstr ""
 
-#: config/tc-tic54x.c:3129 config/tc-tic54x.c:3137
+#: config/tc-tic54x.c:3134 config/tc-tic54x.c:3142
 msgid "Expecting operand after ','"
 msgstr ""
 
-#: config/tc-tic54x.c:3148
+#: config/tc-tic54x.c:3153
 msgid "Extra junk on line"
 msgstr ""
 
-#: config/tc-tic54x.c:3185
+#: config/tc-tic54x.c:3190
 msgid "Badly formed address expression"
 msgstr ""
 
-#: config/tc-tic54x.c:3438
+#: config/tc-tic54x.c:3443
 #, c-format
 msgid "Invalid dmad syntax '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:3502
+#: config/tc-tic54x.c:3507
 #, c-format
 msgid ""
 "Use the .mmregs directive to use memory-mapped register names such as '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:3553
+#: config/tc-tic54x.c:3558
 msgid "Address mode *+ARx is write-only. Results of reading are undefined."
 msgstr ""
 
-#: config/tc-tic54x.c:3573
+#: config/tc-tic54x.c:3578
 #, c-format
 msgid "Unrecognized indirect address format \"%s\""
 msgstr ""
 
-#: config/tc-tic54x.c:3611
+#: config/tc-tic54x.c:3616
 #, c-format
 msgid "Operand '%s' out of range (%d <= x <= %d)"
 msgstr ""
 
-#: config/tc-tic54x.c:3631
+#: config/tc-tic54x.c:3636
 msgid "Error in relocation handling"
 msgstr ""
 
-#: config/tc-tic54x.c:3650 config/tc-tic54x.c:3712 config/tc-tic54x.c:3740
+#: config/tc-tic54x.c:3655 config/tc-tic54x.c:3717 config/tc-tic54x.c:3745
 #, c-format
 msgid "Unrecognized condition code \"%s\""
 msgstr ""
 
-#: config/tc-tic54x.c:3667
+#: config/tc-tic54x.c:3672
 #, c-format
 msgid "Condition \"%s\" does not match preceding group"
 msgstr ""
 
-#: config/tc-tic54x.c:3675
+#: config/tc-tic54x.c:3680
 #, c-format
 msgid ""
 "Condition \"%s\" uses a different accumulator from a preceding condition"
 msgstr ""
 
-#: config/tc-tic54x.c:3682
+#: config/tc-tic54x.c:3687
 msgid "Only one comparison conditional allowed"
 msgstr ""
 
-#: config/tc-tic54x.c:3687
+#: config/tc-tic54x.c:3692
 msgid "Only one overflow conditional allowed"
 msgstr ""
 
-#: config/tc-tic54x.c:3695
+#: config/tc-tic54x.c:3700
 #, c-format
 msgid "Duplicate %s conditional"
 msgstr ""
 
-#: config/tc-tic54x.c:3726
+#: config/tc-tic54x.c:3731
 msgid "Invalid auxiliary register (use AR0-AR7)"
 msgstr ""
 
-#: config/tc-tic54x.c:3757
+#: config/tc-tic54x.c:3762
 msgid "lk addressing modes are invalid for memory-mapped register addressing"
 msgstr ""
 
-#: config/tc-tic54x.c:3765
+#: config/tc-tic54x.c:3770
 msgid ""
 "Address mode *+ARx is not allowed in memory-mapped register addressing.  "
 "Resulting behavior is undefined."
 msgstr ""
 
-#: config/tc-tic54x.c:3791
+#: config/tc-tic54x.c:3796
 msgid ""
 "Destination accumulator for each part of this parallel instruction must be "
 "different"
 msgstr ""
 
-#: config/tc-tic54x.c:3840
+#: config/tc-tic54x.c:3845
 #, c-format
 msgid "Memory mapped register \"%s\" out of range"
 msgstr ""
 
-#: config/tc-tic54x.c:3879
+#: config/tc-tic54x.c:3884
 msgid "Invalid operand (use 1, 2, or 3)"
 msgstr ""
 
-#: config/tc-tic54x.c:3905
+#: config/tc-tic54x.c:3910
 msgid "A status register or status bit name is required"
 msgstr ""
 
-#: config/tc-tic54x.c:3915
+#: config/tc-tic54x.c:3920
 #, c-format
 msgid "Unrecognized status bit \"%s\""
 msgstr ""
 
-#: config/tc-tic54x.c:3938
+#: config/tc-tic54x.c:3943
 #, c-format
 msgid "Invalid status register \"%s\""
 msgstr ""
 
-#: config/tc-tic54x.c:3950
+#: config/tc-tic54x.c:3955
 #, c-format
 msgid "Operand \"%s\" out of range (use 1 or 2)"
 msgstr ""
 
-#: config/tc-tic54x.c:4153
+#: config/tc-tic54x.c:4158
 #, c-format
 msgid "Unrecognized instruction \"%s\""
 msgstr ""
 
-#: config/tc-tic54x.c:4182
+#: config/tc-tic54x.c:4187
 #, c-format
 msgid "Unrecognized operand list '%s' for instruction '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:4211
+#: config/tc-tic54x.c:4216
 #, c-format
 msgid "Unrecognized parallel instruction \"%s\""
 msgstr ""
 
-#: config/tc-tic54x.c:4260
+#: config/tc-tic54x.c:4265
 #, c-format
 msgid "Invalid operand (s) for parallel instruction \"%s\""
 msgstr ""
 
-#: config/tc-tic54x.c:4263
+#: config/tc-tic54x.c:4268
 #, c-format
 msgid "Unrecognized parallel instruction combination \"%s || %s\""
 msgstr ""
 
-#: config/tc-tic54x.c:4484
+#: config/tc-tic54x.c:4488
 #, c-format
 msgid "%s symbol recursion stopped at second appearance of '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:4524
+#: config/tc-tic54x.c:4528
 msgid "Unrecognized substitution symbol function"
 msgstr ""
 
-#: config/tc-tic54x.c:4529
+#: config/tc-tic54x.c:4533
 msgid "Missing '(' after substitution symbol function"
 msgstr ""
 
-#: config/tc-tic54x.c:4543
+#: config/tc-tic54x.c:4547
 msgid "Expecting second argument"
 msgstr ""
 
-#: config/tc-tic54x.c:4556 config/tc-tic54x.c:4606
+#: config/tc-tic54x.c:4560 config/tc-tic54x.c:4610
 msgid "Extra junk in function call, expecting ')'"
 msgstr ""
 
-#: config/tc-tic54x.c:4582
+#: config/tc-tic54x.c:4586
 msgid "Function expects two arguments"
 msgstr ""
 
-#: config/tc-tic54x.c:4595
+#: config/tc-tic54x.c:4599
 msgid "Expecting character constant argument"
 msgstr ""
 
-#: config/tc-tic54x.c:4601
+#: config/tc-tic54x.c:4605
 msgid "Both arguments must be substitution symbols"
 msgstr ""
 
-#: config/tc-tic54x.c:4653
+#: config/tc-tic54x.c:4657
 #, c-format
 msgid "Invalid subscript (use 1 to %d)"
 msgstr ""
 
-#: config/tc-tic54x.c:4663
+#: config/tc-tic54x.c:4667
 #, c-format
 msgid "Invalid length (use 0 to %d)"
 msgstr ""
 
-#: config/tc-tic54x.c:4673
+#: config/tc-tic54x.c:4677
 msgid "Missing ')' in subscripted substitution symbol expression"
 msgstr ""
 
-#: config/tc-tic54x.c:4693
+#: config/tc-tic54x.c:4697
 msgid "Missing forced substitution terminator ':'"
 msgstr ""
 
-#: config/tc-tic54x.c:4845
+#: config/tc-tic54x.c:4850
 #, c-format
 msgid ""
 "Instruction does not fit in available delay slots (%d-word insn, %d slot "
@@ -17257,22 +17997,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: config/tc-tic54x.c:4889
+#: config/tc-tic54x.c:4894
 #, c-format
 msgid "Unrecognized parallel instruction '%s'"
 msgstr ""
 
-#: config/tc-tic54x.c:4901
+#: config/tc-tic54x.c:4906
 #, c-format
 msgid "Instruction '%s' requires an LP cpu version"
 msgstr ""
 
-#: config/tc-tic54x.c:4908
+#: config/tc-tic54x.c:4913
 #, c-format
 msgid "Instruction '%s' requires far mode addressing"
 msgstr ""
 
-#: config/tc-tic54x.c:4920
+#: config/tc-tic54x.c:4925
 #, c-format
 msgid ""
 "Instruction does not fit in available delay slots (%d-word insn, %d slot "
@@ -17283,38 +18023,38 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#: config/tc-tic54x.c:4934
+#: config/tc-tic54x.c:4939
 msgid ""
 "Instructions which cause PC discontinuity are not allowed in a delay slot. "
 "Resulting behavior is undefined."
 msgstr ""
 
-#: config/tc-tic54x.c:4945
+#: config/tc-tic54x.c:4950
 #, c-format
 msgid "'%s' is not repeatable. Resulting behavior is undefined."
 msgstr ""
 
-#: config/tc-tic54x.c:4949
+#: config/tc-tic54x.c:4954
 msgid ""
 "Instructions using long offset modifiers or absolute addresses are not "
 "repeatable. Resulting behavior is undefined."
 msgstr ""
 
-#: config/tc-tic54x.c:5099
+#: config/tc-tic54x.c:5104
 #, c-format
 msgid "Unsupported relocation size %d"
 msgstr ""
 
-#: config/tc-tic54x.c:5230
+#: config/tc-tic54x.c:5235
 msgid "non-absolute value used with .space/.bes"
 msgstr ""
 
-#: config/tc-tic54x.c:5234
+#: config/tc-tic54x.c:5239
 #, c-format
 msgid "negative value ignored in %s"
 msgstr ""
 
-#: config/tc-tic54x.c:5322
+#: config/tc-tic54x.c:5327
 #, c-format
 msgid "attempt to .space/.bes backwards? (%ld)"
 msgstr ""
@@ -17856,8 +18596,8 @@ msgstr ""
 msgid "Expected immediate expression"
 msgstr ""
 
-#: config/tc-tilegx.c:1209 config/tc-tilegx.c:1814 config/tc-tilepro.c:1095
-#: config/tc-tilepro.c:1594
+#: config/tc-tilegx.c:1209 config/tc-tilegx.c:1811 config/tc-tilepro.c:1095
+#: config/tc-tilepro.c:1591
 msgid "Found '}' when not bundling."
 msgstr ""
 
@@ -17870,20 +18610,20 @@ msgstr ""
 msgid "Too many instructions for bundle."
 msgstr ""
 
-#: config/tc-tilegx.c:1356 config/tc-tilepro.c:1231
+#: config/tc-tilegx.c:1353 config/tc-tilepro.c:1228
 msgid "Bad call to md_atof ()"
 msgstr ""
 
-#: config/tc-tilegx.c:1432 config/tc-tilepro.c:1294
+#: config/tc-tilegx.c:1429 config/tc-tilepro.c:1291
 msgid "This operator only produces two byte values."
 msgstr ""
 
-#: config/tc-tilegx.c:1759 config/tc-tilepro.c:1539
+#: config/tc-tilegx.c:1756 config/tc-tilepro.c:1536
 #, c-format
 msgid "internal error? cannot generate `%s' relocation (%d, %d)"
 msgstr ""
 
-#: config/tc-tilegx.c:1802 config/tc-tilepro.c:1582
+#: config/tc-tilegx.c:1799 config/tc-tilepro.c:1579
 msgid "Found '{' when already bundling."
 msgstr ""
 
@@ -18218,7 +18958,7 @@ msgstr ""
 msgid "displacement is too large"
 msgstr ""
 
-#: config/tc-v850.c:2975 config/tc-xtensa.c:13149
+#: config/tc-v850.c:2975 config/tc-xtensa.c:13030
 msgid "invalid operand"
 msgstr ""
 
@@ -18459,7 +19199,7 @@ msgstr ""
 msgid "VIP_BEGIN error:%s"
 msgstr ""
 
-#: config/tc-visium.c:862
+#: config/tc-visium.c:859
 msgid "Bad call to MD_ATOF()"
 msgstr ""
 
@@ -18537,7 +19277,7 @@ msgstr ""
 msgid "missing table index"
 msgstr ""
 
-#: config/tc-wasm32.c:726 config/tc-z80.c:1967 read.c:3738
+#: config/tc-wasm32.c:726 config/tc-z80.c:3277 read.c:3738
 #, c-format
 msgid "junk at end of line, first unrecognized character is `%c'"
 msgstr ""
@@ -18656,564 +19396,555 @@ msgstr ""
 msgid "unsupported fptr fixup"
 msgstr ""
 
-#: config/tc-xtensa.c:647
+#: config/tc-xtensa.c:649
 msgid "illegal range of target hardware versions"
 msgstr ""
 
-#: config/tc-xtensa.c:823
+#: config/tc-xtensa.c:825
 msgid "--density option is ignored"
 msgstr ""
 
-#: config/tc-xtensa.c:826
+#: config/tc-xtensa.c:828
 msgid "--no-density option is ignored"
 msgstr ""
 
-#: config/tc-xtensa.c:844
+#: config/tc-xtensa.c:846
 msgid "--generics is deprecated; use --transform instead"
 msgstr ""
 
-#: config/tc-xtensa.c:847
+#: config/tc-xtensa.c:849
 msgid "--no-generics is deprecated; use --no-transform instead"
 msgstr ""
 
-#: config/tc-xtensa.c:850
+#: config/tc-xtensa.c:852
 msgid "--relax is deprecated; use --transform instead"
 msgstr ""
 
-#: config/tc-xtensa.c:853
+#: config/tc-xtensa.c:855
 msgid "--no-relax is deprecated; use --no-transform instead"
 msgstr ""
 
-#: config/tc-xtensa.c:870
+#: config/tc-xtensa.c:872
 msgid "--absolute-literals option not supported in this Xtensa configuration"
 msgstr ""
 
-#: config/tc-xtensa.c:943
+#: config/tc-xtensa.c:945
 msgid "prefer-l32r conflicts with prefer-const16"
 msgstr ""
 
-#: config/tc-xtensa.c:949
+#: config/tc-xtensa.c:951
 msgid "prefer-const16 conflicts with prefer-l32r"
 msgstr ""
 
-#: config/tc-xtensa.c:958 config/tc-xtensa.c:967 config/tc-xtensa.c:971
+#: config/tc-xtensa.c:960 config/tc-xtensa.c:969 config/tc-xtensa.c:973
 msgid "invalid target hardware version"
 msgstr ""
 
-#: config/tc-xtensa.c:1017
+#: config/tc-xtensa.c:1019
 msgid "no-auto-litpools is incompatible with auto-litpool-limit"
 msgstr ""
 
-#: config/tc-xtensa.c:1019 config/tc-xtensa.c:1022
+#: config/tc-xtensa.c:1021 config/tc-xtensa.c:1024
 msgid "invalid auto-litpool-limit argument"
 msgstr ""
 
-#: config/tc-xtensa.c:1024
+#: config/tc-xtensa.c:1026
 msgid "invalid auto-litpool-limit argument (range is 100-10000)"
 msgstr ""
 
-#: config/tc-xtensa.c:1213
+#: config/tc-xtensa.c:1215
 msgid "unmatched .end directive"
 msgstr ""
 
-#: config/tc-xtensa.c:1242
+#: config/tc-xtensa.c:1244
 msgid ".begin directive with no matching .end directive"
 msgstr ""
 
-#: config/tc-xtensa.c:1283
+#: config/tc-xtensa.c:1285
 msgid "[no-]generics is deprecated; use [no-]transform instead"
 msgstr ""
 
-#: config/tc-xtensa.c:1288
+#: config/tc-xtensa.c:1290
 msgid "[no-]relax is deprecated; use [no-]transform instead"
 msgstr ""
 
-#: config/tc-xtensa.c:1301
+#: config/tc-xtensa.c:1303
 #, c-format
 msgid "directive %s cannot be negated"
 msgstr ""
 
-#: config/tc-xtensa.c:1307
+#: config/tc-xtensa.c:1309
 msgid "unknown directive"
 msgstr ""
 
-#: config/tc-xtensa.c:1328 config/tc-xtensa.c:1424 config/tc-xtensa.c:1666
-#: config/tc-xtensa.c:5920
+#: config/tc-xtensa.c:1330 config/tc-xtensa.c:1426 config/tc-xtensa.c:1656
+#: config/tc-xtensa.c:5903
 msgid "directives are not valid inside bundles"
 msgstr ""
 
-#: config/tc-xtensa.c:1340
+#: config/tc-xtensa.c:1342
 msgid ".begin literal is deprecated; use .literal instead"
 msgstr ""
 
-#: config/tc-xtensa.c:1354
+#: config/tc-xtensa.c:1356
 msgid "cannot set literal_prefix inside literal fragment"
 msgstr ""
 
-#: config/tc-xtensa.c:1387
+#: config/tc-xtensa.c:1389
 msgid ".begin [no-]density is ignored"
 msgstr ""
 
-#: config/tc-xtensa.c:1394 config/tc-xtensa.c:1444
+#: config/tc-xtensa.c:1396 config/tc-xtensa.c:1446
 msgid "Xtensa absolute literals option not supported; ignored"
 msgstr ""
 
-#: config/tc-xtensa.c:1437
+#: config/tc-xtensa.c:1439
 msgid ".end [no-]density is ignored"
 msgstr ""
 
-#: config/tc-xtensa.c:1462
+#: config/tc-xtensa.c:1464
 #, c-format
 msgid "does not match begin %s%s at %s:%d"
 msgstr ""
 
-#: config/tc-xtensa.c:1517
+#: config/tc-xtensa.c:1519
 msgid ".literal_position inside literal directive; ignoring"
 msgstr ""
 
-#: config/tc-xtensa.c:1537
+#: config/tc-xtensa.c:1538
 msgid ".literal not allowed inside .begin literal region"
 msgstr ""
 
-#: config/tc-xtensa.c:1576
+#: config/tc-xtensa.c:1566
 msgid "expected comma or colon after symbol name; rest of line ignored"
 msgstr ""
 
-#: config/tc-xtensa.c:1635
+#: config/tc-xtensa.c:1625
 msgid "fall through frequency must be greater than 0"
 msgstr ""
 
-#: config/tc-xtensa.c:1643
+#: config/tc-xtensa.c:1633
 msgid "branch target frequency must be greater than 0"
 msgstr ""
 
-#: config/tc-xtensa.c:1691
+#: config/tc-xtensa.c:1681
 #, c-format
 msgid "opcode-specific %s relocation used outside an instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:1701
+#: config/tc-xtensa.c:1691
 #, c-format
 msgid "invalid use of %s relocation"
 msgstr ""
 
-#: config/tc-xtensa.c:1897 config/tc-xtensa.c:1914
+#: config/tc-xtensa.c:1887 config/tc-xtensa.c:1904
 #, c-format
 msgid "bad register name: %s"
 msgstr ""
 
-#: config/tc-xtensa.c:1903
+#: config/tc-xtensa.c:1893
 #, c-format
 msgid "bad register number: %s"
 msgstr ""
 
-#: config/tc-xtensa.c:1967
+#: config/tc-xtensa.c:1957
 msgid "pcrel relocation not allowed in an instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:2070
+#: config/tc-xtensa.c:2060
 msgid "extra colon"
 msgstr ""
 
-#: config/tc-xtensa.c:2131
+#: config/tc-xtensa.c:2121
 msgid "incorrect register number, ignoring"
 msgstr ""
 
-#: config/tc-xtensa.c:2212
+#: config/tc-xtensa.c:2202
 #, c-format
 msgid "cannot encode opcode \"%s\""
 msgstr ""
 
-#: config/tc-xtensa.c:2304
+#: config/tc-xtensa.c:2294
 #, c-format
 msgid "not enough operands (%d) for '%s'; expected %d"
 msgstr ""
 
-#: config/tc-xtensa.c:2311
+#: config/tc-xtensa.c:2301
 #, c-format
 msgid "too many operands (%d) for '%s'; expected %d"
 msgstr ""
 
-#: config/tc-xtensa.c:2362
+#: config/tc-xtensa.c:2352
 #, c-format
 msgid "invalid register '%s' for '%s' instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:2369
+#: config/tc-xtensa.c:2359
 #, c-format
 msgid "invalid register number (%ld) for '%s' instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:2436
+#: config/tc-xtensa.c:2426
 #, c-format
 msgid "invalid register number (%ld) for '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:2823
+#: config/tc-xtensa.c:2813
 #, c-format
 msgid "operand %d of '%s' has out of range value '%u'"
 msgstr ""
 
-#: config/tc-xtensa.c:2829
+#: config/tc-xtensa.c:2819
 #, c-format
 msgid "operand %d of '%s' has invalid value '%u'"
 msgstr ""
 
-#: config/tc-xtensa.c:2876
+#: config/tc-xtensa.c:2866
 #, c-format
 msgid "internal error: unknown option name '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:3985
+#: config/tc-xtensa.c:3975
 msgid "can't handle generation of literal/labels yet"
 msgstr ""
 
-#: config/tc-xtensa.c:3989
+#: config/tc-xtensa.c:3979
 msgid "can't handle undefined OP TYPE"
 msgstr ""
 
-#: config/tc-xtensa.c:4050 config/tc-xtensa.c:4059
+#: config/tc-xtensa.c:4040 config/tc-xtensa.c:4049
 #, c-format
 msgid "found %d operand for '%s':  Expected %d"
 msgid_plural "found %d operands for '%s':  Expected %d"
 msgstr[0] ""
 msgstr[1] ""
 
-#: config/tc-xtensa.c:4082
+#: config/tc-xtensa.c:4072
 msgid "immediate operands sum to greater than 32"
 msgstr ""
 
-#: config/tc-xtensa.c:4334
+#: config/tc-xtensa.c:4324
 #, c-format
 msgid "invalid relocation for operand %i of '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:4344
+#: config/tc-xtensa.c:4334
 #, c-format
 msgid "invalid expression for operand %i of '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:4354
+#: config/tc-xtensa.c:4344
 #, c-format
 msgid "invalid relocation in instruction slot %i"
 msgstr ""
 
-#: config/tc-xtensa.c:4361
+#: config/tc-xtensa.c:4351
 #, c-format
 msgid "undefined symbol for opcode \"%s\""
 msgstr ""
 
-#: config/tc-xtensa.c:4849
+#: config/tc-xtensa.c:4826
 msgid "opcode 'NOP.N' unavailable in this configuration"
 msgstr ""
 
-#: config/tc-xtensa.c:4909
+#: config/tc-xtensa.c:4886
 msgid "get_expanded_loop_offset: invalid opcode"
 msgstr ""
 
-#: config/tc-xtensa.c:5067
+#: config/tc-xtensa.c:5047
 #, c-format
 msgid "assembly state not set for first frag in section %s"
 msgstr ""
 
-#: config/tc-xtensa.c:5120
+#: config/tc-xtensa.c:5100
 #, c-format
 msgid "unaligned branch target: %d bytes at 0x%lx"
 msgstr ""
 
-#: config/tc-xtensa.c:5164
+#: config/tc-xtensa.c:5144
 #, c-format
 msgid "unaligned loop: %d bytes at 0x%lx"
 msgstr ""
 
-#: config/tc-xtensa.c:5189
+#: config/tc-xtensa.c:5169
 msgid "unexpected fix"
 msgstr ""
 
-#: config/tc-xtensa.c:5200 config/tc-xtensa.c:5204
+#: config/tc-xtensa.c:5180 config/tc-xtensa.c:5184
 msgid "undecodable fix"
 msgstr ""
 
-#: config/tc-xtensa.c:5360
+#: config/tc-xtensa.c:5343
 msgid "labels are not valid inside bundles"
 msgstr ""
 
-#: config/tc-xtensa.c:5380
+#: config/tc-xtensa.c:5363
 msgid "invalid last instruction for a zero-overhead loop"
 msgstr ""
 
-#: config/tc-xtensa.c:5447
+#: config/tc-xtensa.c:5430
 msgid "extra opening brace"
 msgstr ""
 
-#: config/tc-xtensa.c:5457
+#: config/tc-xtensa.c:5440
 msgid "extra closing brace"
 msgstr ""
 
-#: config/tc-xtensa.c:5484
+#: config/tc-xtensa.c:5467
 msgid "missing closing brace"
 msgstr ""
 
-#: config/tc-xtensa.c:5582 config/tc-xtensa.c:5611
+#: config/tc-xtensa.c:5565 config/tc-xtensa.c:5594
 #, c-format
 msgid "wrong number of operands for '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:5598
+#: config/tc-xtensa.c:5581
 #, c-format
 msgid "bad relocation expression for '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:5633
+#: config/tc-xtensa.c:5616
 #, c-format
 msgid "unknown opcode or format name '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:5639
+#: config/tc-xtensa.c:5622
 msgid "format names only valid inside bundles"
 msgstr ""
 
-#: config/tc-xtensa.c:5644
+#: config/tc-xtensa.c:5627
 #, c-format
 msgid "multiple formats specified for one bundle; using '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:5694
+#: config/tc-xtensa.c:5677
 msgid "entry instruction with stack decrement < 16"
 msgstr ""
 
-#: config/tc-xtensa.c:5748
+#: config/tc-xtensa.c:5731
 msgid "unaligned entry instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:5813
+#: config/tc-xtensa.c:5796
 msgid "bad instruction format"
 msgstr ""
 
-#: config/tc-xtensa.c:5816
+#: config/tc-xtensa.c:5799
 msgid "invalid relocation"
 msgstr ""
 
-#: config/tc-xtensa.c:5827
+#: config/tc-xtensa.c:5810
 #, c-format
 msgid "invalid relocation for '%s' instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:5839
+#: config/tc-xtensa.c:5822
 #, c-format
 msgid "invalid relocation for operand %d of '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:6105
+#: config/tc-xtensa.c:6099
 #, c-format
 msgid "unhandled local relocation fix %s"
 msgstr ""
 
-#: config/tc-xtensa.c:6156
+#: config/tc-xtensa.c:6150
 #, c-format
 msgid "internal error; cannot generate `%s' relocation"
 msgstr ""
 
-#: config/tc-xtensa.c:6373
+#: config/tc-xtensa.c:6367
 msgid "The option \"--no-allow-flix\" prohibits multi-slot flix."
 msgstr ""
 
-#: config/tc-xtensa.c:6380
+#: config/tc-xtensa.c:6374
 msgid "couldn't find a valid instruction format"
 msgstr ""
 
-#: config/tc-xtensa.c:6381
+#: config/tc-xtensa.c:6375
 #, c-format
 msgid "    ops were: "
 msgstr ""
 
-#: config/tc-xtensa.c:6383
+#: config/tc-xtensa.c:6377
 #, c-format
 msgid " %s;"
 msgstr ""
 
-#: config/tc-xtensa.c:6393
+#: config/tc-xtensa.c:6387
 #, c-format
 msgid "mismatch for format '%s': #slots = %d, #opcodes = %d"
 msgstr ""
 
-#: config/tc-xtensa.c:6402 config/tc-xtensa.c:6499
+#: config/tc-xtensa.c:6396 config/tc-xtensa.c:6493
 msgid "illegal resource usage in bundle"
 msgstr ""
 
-#: config/tc-xtensa.c:6588
+#: config/tc-xtensa.c:6582
 #, c-format
 msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same register"
 msgstr ""
 
-#: config/tc-xtensa.c:6593
+#: config/tc-xtensa.c:6587
 #, c-format
 msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same state"
 msgstr ""
 
-#: config/tc-xtensa.c:6598
+#: config/tc-xtensa.c:6592
 #, c-format
 msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same port"
 msgstr ""
 
-#: config/tc-xtensa.c:6603
+#: config/tc-xtensa.c:6597
 #, c-format
 msgid ""
 "opcodes '%s' (slot %d) and '%s' (slot %d) both have volatile port accesses"
 msgstr ""
 
-#: config/tc-xtensa.c:6619
+#: config/tc-xtensa.c:6613
 msgid "multiple branches or jumps in the same bundle"
 msgstr ""
 
-#: config/tc-xtensa.c:7071
+#: config/tc-xtensa.c:7065
 msgid "cannot assemble into a literal fragment"
 msgstr ""
 
-#: config/tc-xtensa.c:7073
+#: config/tc-xtensa.c:7067
 msgid "..."
 msgstr ""
 
-#: config/tc-xtensa.c:8285
+#: config/tc-xtensa.c:8283
 msgid ""
 "instruction sequence (write a0, branch, retw) may trigger hardware errata"
 msgstr ""
 
-#: config/tc-xtensa.c:8397
+#: config/tc-xtensa.c:8395
 msgid "branching or jumping to a loop end may trigger hardware errata"
 msgstr ""
 
-#: config/tc-xtensa.c:8479
+#: config/tc-xtensa.c:8477
 msgid "loop end too close to another loop end may trigger hardware errata"
 msgstr ""
 
-#: config/tc-xtensa.c:8488
+#: config/tc-xtensa.c:8486
 #, c-format
 msgid "fr_var %lu < length %d"
 msgstr ""
 
-#: config/tc-xtensa.c:8645
+#: config/tc-xtensa.c:8643
 msgid ""
 "loop containing less than three instructions may trigger hardware errata"
 msgstr ""
 
-#: config/tc-xtensa.c:8717
+#: config/tc-xtensa.c:8715
 msgid "undecodable instruction in instruction frag"
 msgstr ""
 
-#: config/tc-xtensa.c:8827
+#: config/tc-xtensa.c:8825
 msgid "invalid empty loop"
 msgstr ""
 
-#: config/tc-xtensa.c:8832
+#: config/tc-xtensa.c:8830
 msgid "loop target does not follow loop instruction in section"
 msgstr ""
 
-#: config/tc-xtensa.c:9403
+#: config/tc-xtensa.c:9401
 msgid "cannot find suitable trampoline"
 msgstr ""
 
-#: config/tc-xtensa.c:9658
+#: config/tc-xtensa.c:9656
 msgid "bad relaxation state"
 msgstr ""
 
-#: config/tc-xtensa.c:9716
+#: config/tc-xtensa.c:9714
 #, c-format
 msgid "fr_var (%ld) < length (%d)"
 msgstr ""
 
-#: config/tc-xtensa.c:10416
+#: config/tc-xtensa.c:10414
 msgid "jump target out of range; no usable trampoline found"
 msgstr ""
 
-#: config/tc-xtensa.c:10540
+#: config/tc-xtensa.c:10538
 msgid "invalid relaxation fragment result"
 msgstr ""
 
-#: config/tc-xtensa.c:10622
+#: config/tc-xtensa.c:10620
 msgid "unable to widen instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:10761
+#: config/tc-xtensa.c:10758
 msgid "multiple literals in expansion"
 msgstr ""
 
-#: config/tc-xtensa.c:10765
+#: config/tc-xtensa.c:10762
 msgid "no registered fragment for literal"
 msgstr ""
 
-#: config/tc-xtensa.c:10767
+#: config/tc-xtensa.c:10764
 msgid "number of literal tokens != 1"
 msgstr ""
 
-#: config/tc-xtensa.c:10896 config/tc-xtensa.c:10902
+#: config/tc-xtensa.c:10893 config/tc-xtensa.c:10899
 #, c-format
 msgid "unresolved loop target symbol: %s"
 msgstr ""
 
-#: config/tc-xtensa.c:11008
+#: config/tc-xtensa.c:11388
 #, c-format
-msgid "invalid expression evaluation type %d"
-msgstr ""
-
-#: config/tc-xtensa.c:11025
-msgid "loop too long for LOOP instruction"
+msgid "fixes not all moved from %s"
 msgstr ""
 
-#: config/tc-xtensa.c:11398 config/tc-xtensa.c:11635
+#: config/tc-xtensa.c:11516
 msgid ""
 "literal pool location required for text-section-literals; specify with ."
 "literal_position"
 msgstr ""
 
-#: config/tc-xtensa.c:11507
-#, c-format
-msgid "fixes not all moved from %s"
-msgstr ""
-
-#: config/tc-xtensa.c:12463
+#: config/tc-xtensa.c:12344
 msgid "too many operands in instruction"
 msgstr ""
 
-#: config/tc-xtensa.c:12673
+#: config/tc-xtensa.c:12554
 msgid "invalid symbolic operand"
 msgstr ""
 
-#: config/tc-xtensa.c:12734
+#: config/tc-xtensa.c:12615
 msgid "operand number mismatch"
 msgstr ""
 
-#: config/tc-xtensa.c:12738
+#: config/tc-xtensa.c:12619
 #, c-format
 msgid "cannot encode opcode \"%s\" in the given format \"%s\""
 msgstr ""
 
-#: config/tc-xtensa.c:12763
+#: config/tc-xtensa.c:12644
 #, c-format
 msgid "xtensa-isa failure: %s"
 msgstr ""
 
-#: config/tc-xtensa.c:12840
+#: config/tc-xtensa.c:12721
 msgid "invalid opcode"
 msgstr ""
 
-#: config/tc-xtensa.c:12846
+#: config/tc-xtensa.c:12727
 msgid "too few operands"
 msgstr ""
 
-#: config/tc-xtensa.c:12852
+#: config/tc-xtensa.c:12733
 msgid "too many operands"
 msgstr ""
 
-#: config/tc-xtensa.c:12896
+#: config/tc-xtensa.c:12777
 msgid "multiple writes to the same register"
 msgstr ""
 
-#: config/tc-xtensa.c:13010 config/tc-xtensa.c:13016
+#: config/tc-xtensa.c:12891 config/tc-xtensa.c:12897
 msgid "out of memory"
 msgstr ""
 
-#: config/tc-xtensa.c:13105
+#: config/tc-xtensa.c:12986
 msgid "TLS relocation not allowed in FLIX bundle"
 msgstr ""
 
@@ -19221,88 +19952,129 @@ msgstr ""
 #. relaxed in the front-end.  If "record_fixup" is set, then this
 #. function is being called during back-end relaxation, so flag
 #. the unexpected behavior as an error.
-#: config/tc-xtensa.c:13111
+#: config/tc-xtensa.c:12992
 msgid "unexpected TLS relocation"
 msgstr ""
 
-#: config/tc-xtensa.c:13155
+#: config/tc-xtensa.c:13036
 msgid "symbolic operand not allowed"
 msgstr ""
 
-#: config/tc-xtensa.c:13192
+#: config/tc-xtensa.c:13073
 msgid "cannot decode instruction format"
 msgstr ""
 
-#: config/tc-xtensa.c:13336
+#: config/tc-xtensa.c:13217
 msgid "ignoring extra '-rename-section' delimiter ':'"
 msgstr ""
 
-#: config/tc-xtensa.c:13341
+#: config/tc-xtensa.c:13222
 #, c-format
 msgid "ignoring invalid '-rename-section' specification: '%s'"
 msgstr ""
 
-#: config/tc-xtensa.c:13352
+#: config/tc-xtensa.c:13233
 #, c-format
 msgid "section %s renamed multiple times"
 msgstr ""
 
-#: config/tc-xtensa.c:13354
+#: config/tc-xtensa.c:13235
 #, c-format
 msgid "multiple sections remapped to output section %s"
 msgstr ""
 
-#: config/tc-z80.c:326
+#: config/tc-z80.c:178
+#, c-format
+msgid "invalid floating point numbers type `%s'"
+msgstr ""
+
+#: config/tc-z80.c:199 config/tc-z80.c:208
+#, c-format
+msgid "invalid INST in command line: %s"
+msgstr ""
+
+#: config/tc-z80.c:564
 msgid "-- unterminated string"
 msgstr ""
 
-#: config/tc-z80.c:392
-msgid "floating point numbers are not implemented"
+#: config/tc-z80.c:727
+msgid "undocumented instruction"
 msgstr ""
 
-#: config/tc-z80.c:517 config/tc-z80.c:523
+#: config/tc-z80.c:771 config/tc-z80.c:777
 msgid "mismatched parentheses"
 msgstr ""
 
-#: config/tc-z80.c:560
+#: config/tc-z80.c:830
 msgid "bad expression syntax"
 msgstr ""
 
-#: config/tc-z80.c:722
+#: config/tc-z80.c:1046
+#, c-format
+msgid "invalid data size %d"
+msgstr ""
+
+#: config/tc-z80.c:1115
 msgid "cannot make a relative jump to an absolute location"
 msgstr ""
 
-#: config/tc-z80.c:734 config/tc-z80.c:2018
+#: config/tc-z80.c:1127 config/tc-z80.c:3357 config/tc-z80.c:3662
 msgid "overflow"
 msgstr ""
 
-#: config/tc-z80.c:1122 config/tc-z80.c:1165 config/tc-z80.c:1209
-#: config/tc-z80.c:1277 config/tc-z80.c:1329 config/tc-z80.c:1383
-#: config/tc-z80.c:1652
+#: config/tc-z80.c:1499 config/tc-z80.c:1542 config/tc-z80.c:1586
+#: config/tc-z80.c:1654 config/tc-z80.c:1706 config/tc-z80.c:1759
+#: config/tc-z80.c:1792 config/tc-z80.c:1848 config/tc-z80.c:2447
+#: config/tc-z80.c:2496 config/tc-z80.c:2534 config/tc-z80.c:2625
 msgid "bad instruction syntax"
 msgstr ""
 
-#: config/tc-z80.c:1255
+#: config/tc-z80.c:1632
 msgid "condition code invalid for jr"
 msgstr ""
 
-#: config/tc-z80.c:1761
+#: config/tc-z80.c:2193 config/tc-z80.c:2204 config/tc-z80.c:2220
+#: config/tc-z80.c:2253
+msgid "ADL mode instruction"
+msgstr ""
+
+#. SIS prefix, in Z80 it is LD B,B
+#. LIS prefix, in Z80 it is LD C,C
+#. SIL prefix, in Z80 it is LD D,D
+#. LIL prefix, in Z80 it is LD E,E
+#: config/tc-z80.c:2328
+msgid "unsupported instruction, assembled as NOP"
+msgstr ""
+
+#: config/tc-z80.c:2821 config/tc-z80.c:2852
 msgid "parentheses ignored"
 msgstr ""
 
-#: config/tc-z80.c:1993 config/tc-z8k.c:1467 config/tc-z8k.c:1530
+#: config/tc-z80.c:2869
+msgid "CPU mode is unsupported by target"
+msgstr ""
+
+#: config/tc-z80.c:2891
+msgid "assignment expected"
+msgstr ""
+
+#: config/tc-z80.c:3304 config/tc-z8k.c:1467 config/tc-z8k.c:1530
 msgid "relative jump out of range"
 msgstr ""
 
-#: config/tc-z80.c:2010
+#: config/tc-z80.c:3321
 msgid "index offset out of range"
 msgstr ""
 
-#: config/tc-z80.c:2052 config/tc-z8k.c:1538
+#: config/tc-z80.c:3400 config/tc-z8k.c:1538
 #, c-format
 msgid "md_apply_fix: unknown r_type 0x%x\n"
 msgstr ""
 
+#: config/tc-z80.c:3584 config/tc-z80.c:3643
+msgid "invalid syntax"
+msgstr ""
+
 #: config/tc-z8k.c:281
 #, c-format
 msgid "register rr%d out of range"
@@ -19437,72 +20209,72 @@ msgstr ""
 msgid "call to md_estimate_size_before_relax\n"
 msgstr ""
 
-#: config/xtensa-relax.c:1550
+#: config/xtensa-relax.c:1583
 #, c-format
 msgid "invalid configuration option '%s' in transition rule '%s'"
 msgstr ""
 
-#: config/xtensa-relax.c:1675 config/xtensa-relax.c:1685
+#: config/xtensa-relax.c:1708 config/xtensa-relax.c:1718
 #, c-format
 msgid "opcode '%s': no bound opname '%s' for precondition in '%s'"
 msgstr ""
 
-#: config/xtensa-relax.c:1692
+#: config/xtensa-relax.c:1725
 #, c-format
 msgid "opcode '%s': precondition only contains constants in '%s'"
 msgstr ""
 
-#: config/xtensa-relax.c:1739
+#: config/xtensa-relax.c:1772
 msgid "expected one operand for generated literal"
 msgstr ""
 
-#: config/xtensa-relax.c:1746
+#: config/xtensa-relax.c:1779
 msgid "expected 0 operands for generated label"
 msgstr ""
 
-#: config/xtensa-relax.c:1759
+#: config/xtensa-relax.c:1792
 #, c-format
 msgid "invalid opcode '%s' in transition rule '%s'"
 msgstr ""
 
-#: config/xtensa-relax.c:1767
+#: config/xtensa-relax.c:1800
 #, c-format
 msgid "opcode '%s': replacement does not have %d op"
 msgid_plural "opcode '%s': replacement does not have %d ops"
 msgstr[0] ""
 msgstr[1] ""
 
-#: config/xtensa-relax.c:1783
+#: config/xtensa-relax.c:1816
 #, c-format
 msgid "opcode '%s': cannot find literal definition"
 msgstr ""
 
-#: config/xtensa-relax.c:1799 config/xtensa-relax.c:1829
+#: config/xtensa-relax.c:1832 config/xtensa-relax.c:1862
 #, c-format
 msgid "opcode '%s': unidentified operand '%s' in '%s'"
 msgstr ""
 
-#: config/xtensa-relax.c:1824
+#: config/xtensa-relax.c:1857
 #, c-format
 msgid "unknown user-defined function %s"
 msgstr ""
 
-#: config/xtensa-relax.c:1835
+#: config/xtensa-relax.c:1868
 #, c-format
 msgid "opcode '%s': could not parse operand '%s' in '%s'"
 msgstr ""
 
-#: config/xtensa-relax.c:1875
+#: config/xtensa-relax.c:1908
 #, c-format
 msgid "could not parse INSN_PATTERN '%s'"
 msgstr ""
 
-#: config/xtensa-relax.c:1879
+#: config/xtensa-relax.c:1912
 #, c-format
 msgid "could not parse INSN_REPL '%s'"
 msgstr ""
 
-#: config/xtensa-relax.c:1890
+#: config/xtensa-relax.c:1923
 #, c-format
 msgid "could not build transition for %s => %s"
 msgstr ""
@@ -19531,148 +20303,158 @@ msgstr ""
 msgid "CFI state restore without previous remember"
 msgstr ""
 
-#: dw2gencfi.c:748
+#: dw2gencfi.c:749
 msgid "missing separator"
 msgstr ""
 
-#: dw2gencfi.c:797
+#: dw2gencfi.c:798
 msgid "bad register expression"
 msgstr ""
 
-#: dw2gencfi.c:818 dw2gencfi.c:948 dw2gencfi.c:986 dw2gencfi.c:1057
-#: dw2gencfi.c:1130 dw2gencfi.c:1195 dw2gencfi.c:1376
+#: dw2gencfi.c:819 dw2gencfi.c:949 dw2gencfi.c:987 dw2gencfi.c:1058
+#: dw2gencfi.c:1131 dw2gencfi.c:1196 dw2gencfi.c:1377
 msgid "CFI instruction used without previous .cfi_startproc"
 msgstr ""
 
-#: dw2gencfi.c:1011
+#: dw2gencfi.c:1012
 msgid "invalid or unsupported encoding in .cfi_personality"
 msgstr ""
 
-#: dw2gencfi.c:1018
+#: dw2gencfi.c:1019
 msgid ".cfi_personality requires encoding and symbol arguments"
 msgstr ""
 
-#: dw2gencfi.c:1041
+#: dw2gencfi.c:1042
 msgid "wrong second argument to .cfi_personality"
 msgstr ""
 
-#: dw2gencfi.c:1082 dw2gencfi.c:1158
+#: dw2gencfi.c:1083 dw2gencfi.c:1159
 msgid "invalid or unsupported encoding in .cfi_lsda"
 msgstr ""
 
-#: dw2gencfi.c:1089
+#: dw2gencfi.c:1090
 msgid ".cfi_lsda requires encoding and symbol arguments"
 msgstr ""
 
-#: dw2gencfi.c:1114
+#: dw2gencfi.c:1115
 msgid "wrong second argument to .cfi_lsda"
 msgstr ""
 
-#: dw2gencfi.c:1180
+#: dw2gencfi.c:1181
 msgid "wrong third argument to .cfi_val_encoded_addr"
 msgstr ""
 
-#: dw2gencfi.c:1278
+#: dw2gencfi.c:1279
 msgid "inconsistent uses of .cfi_sections"
 msgstr ""
 
-#: dw2gencfi.c:1289
+#: dw2gencfi.c:1290
 msgid "previous CFI entry not closed (missing .cfi_endproc)"
 msgstr ""
 
-#: dw2gencfi.c:1330
+#: dw2gencfi.c:1331
 msgid ".cfi_endproc without corresponding .cfi_startproc"
 msgstr ""
 
-#: dw2gencfi.c:1387
+#: dw2gencfi.c:1388
 msgid "wrong argument to .cfi_personality_id"
 msgstr ""
 
-#: dw2gencfi.c:1397
+#: dw2gencfi.c:1398
 msgid ".cfi_fde_data without corresponding .cfi_startproc"
 msgstr ""
 
-#: dw2gencfi.c:1506
+#: dw2gencfi.c:1507
 msgid "unexpected .cfi_inline_lsda"
 msgstr ""
 
-#: dw2gencfi.c:1513
+#: dw2gencfi.c:1514
 msgid ".cfi_inline_lsda not valid for this frame"
 msgstr ""
 
-#: dw2gencfi.c:1521
+#: dw2gencfi.c:1522
 msgid ".cfi_inline_lsda seen for frame without .cfi_lsda"
 msgstr ""
 
-#: dw2gencfi.c:1534
+#: dw2gencfi.c:1535
 #, c-format
 msgid "Alignment too large: %d. assumed."
 msgstr ""
 
-#: dw2gencfi.c:1538
+#: dw2gencfi.c:1539
 msgid "Alignment negative: 0 assumed."
 msgstr ""
 
-#: dw2gencfi.c:1564
+#: dw2gencfi.c:1565
 msgid ".cfi_inline_lsda is not supported for this target"
 msgstr ""
 
-#: dw2gencfi.c:1571
+#: dw2gencfi.c:1572
 msgid ".cfi_fde_data is not supported for this target"
 msgstr ""
 
-#: dw2gencfi.c:1578
+#: dw2gencfi.c:1579
 msgid ".cfi_personality_id is not supported for this target"
 msgstr ""
 
-#: dw2gencfi.c:2364 dw2gencfi.c:2520
+#: dw2gencfi.c:1893
+#, c-format
+msgid "return column number %d overflows in CIE version 1"
+msgstr ""
+
+#: dw2gencfi.c:2385 dw2gencfi.c:2541
 msgid "open CFI at the end of file; missing .cfi_endproc directive"
 msgstr ""
 
-#: dw2gencfi.c:2547
+#: dw2gencfi.c:2568
 msgid "CFI is not supported for this target"
 msgstr ""
 
-#: dwarf2dbg.c:372 dwarf2dbg.c:2290
+#: dwarf2dbg.c:372 dwarf2dbg.c:2340
 msgid "view number mismatch"
 msgstr ""
 
-#: dwarf2dbg.c:782 dwarf2dbg.c:826
+#: dwarf2dbg.c:757 dwarf2dbg.c:815
+#, c-format
+msgid "file number %lu is too big"
+msgstr ""
+
+#: dwarf2dbg.c:804 dwarf2dbg.c:854
 msgid "file number less than one"
 msgstr ""
 
-#: dwarf2dbg.c:792
+#: dwarf2dbg.c:820
 #, c-format
-msgid "file number %ld already allocated"
+msgid "file number %u already allocated"
 msgstr ""
 
-#: dwarf2dbg.c:831 dwarf2dbg.c:1699
+#: dwarf2dbg.c:859 dwarf2dbg.c:1727
 #, c-format
 msgid "unassigned file number %ld"
 msgstr ""
 
-#: dwarf2dbg.c:900
+#: dwarf2dbg.c:928
 msgid "is_stmt value not 0 or 1"
 msgstr ""
 
-#: dwarf2dbg.c:912
+#: dwarf2dbg.c:940
 msgid "isa number less than zero"
 msgstr ""
 
-#: dwarf2dbg.c:924
+#: dwarf2dbg.c:952
 msgid "discriminator less than zero"
 msgstr ""
 
-#: dwarf2dbg.c:943
+#: dwarf2dbg.c:971
 msgid "numeric view can only be asserted to zero"
 msgstr ""
 
-#: dwarf2dbg.c:981
+#: dwarf2dbg.c:1009
 #, c-format
 msgid "unknown .loc sub-directive `%s'"
 msgstr ""
 
-#: dwarf2dbg.c:1776
+#: dwarf2dbg.c:1804
 msgid "internal error: unknown dwarf2 format"
 msgstr ""
 
@@ -19851,117 +20633,117 @@ msgstr ""
 msgid "illegal .stab%c directive, bad character"
 msgstr ""
 
-#: ecoff.c:3977 ecoff.c:4166 ecoff.c:4191
+#: ecoff.c:3976 ecoff.c:4164 ecoff.c:4189
 msgid ".begin/.bend in different segments"
 msgstr ""
 
-#: ecoff.c:4687
+#: ecoff.c:4684
 msgid "missing .end or .bend at end of file"
 msgstr ""
 
-#: ecoff.c:5172
+#: ecoff.c:5169
 msgid "GP prologue size exceeds field size, using 0 instead"
 msgstr ""
 
-#: expr.c:82 read.c:3803
+#: expr.c:84 read.c:3804
 msgid "bignum invalid"
 msgstr ""
 
-#: expr.c:84 read.c:3805 read.c:4310 read.c:5156
+#: expr.c:86 read.c:3806 read.c:4311 read.c:5157
 msgid "floating point number invalid"
 msgstr ""
 
-#: expr.c:207
+#: expr.c:209
 msgid "bad floating-point constant: exponent overflow"
 msgstr ""
 
-#: expr.c:211
+#: expr.c:213
 #, c-format
 msgid "bad floating-point constant: unknown error code=%d"
 msgstr ""
 
-#: expr.c:396
+#: expr.c:398
 msgid ""
 "a bignum with underscores may not have more than 8 hex digits in any word"
 msgstr ""
 
-#: expr.c:419
+#: expr.c:421
 msgid "a bignum with underscores must have exactly 4 words"
 msgstr ""
 
 #. Either not seen or not defined.
 #. @@ Should print out the original string instead of
 #. the parsed number.
-#: expr.c:557
+#: expr.c:559
 #, c-format
 msgid "backward ref to unknown label \"%d:\""
 msgstr ""
 
-#: expr.c:675
+#: expr.c:677
 msgid "character constant too large"
 msgstr ""
 
-#: expr.c:970
+#: expr.c:963
 #, c-format
 msgid "found '%c', expected: '%c'"
 msgstr ""
 
-#: expr.c:973
+#: expr.c:966
 #, c-format
 msgid "missing '%c'"
 msgstr ""
 
-#: expr.c:985 read.c:4607
+#: expr.c:978 read.c:4608
 msgid "EBCDIC constants are not supported"
 msgstr ""
 
-#: expr.c:1112
+#: expr.c:1105
 #, c-format
 msgid "Unary operator %c ignored because bad operand follows"
 msgstr ""
 
-#: expr.c:1162 expr.c:1193
+#: expr.c:1169 expr.c:1200
 msgid "syntax error in .startof. or .sizeof."
 msgstr ""
 
-#: expr.c:1274 expr.c:1598
+#: expr.c:1281 expr.c:1605
 #, c-format
 msgid "invalid use of operator \"%s\""
 msgstr ""
 
-#: expr.c:1782
+#: expr.c:1789
 msgid "missing operand; zero assumed"
 msgstr ""
 
-#: expr.c:1821
+#: expr.c:1828
 msgid "left operand is a bignum; integer 0 assumed"
 msgstr ""
 
-#: expr.c:1823
+#: expr.c:1830
 msgid "left operand is a float; integer 0 assumed"
 msgstr ""
 
-#: expr.c:1832
+#: expr.c:1839
 msgid "right operand is a bignum; integer 0 assumed"
 msgstr ""
 
-#: expr.c:1834
+#: expr.c:1841
 msgid "right operand is a float; integer 0 assumed"
 msgstr ""
 
-#: expr.c:1912 symbols.c:1558
+#: expr.c:1919 symbols.c:1561
 msgid "division by zero"
 msgstr ""
 
-#: expr.c:1918
+#: expr.c:1925
 msgid "shift count"
 msgstr ""
 
-#: expr.c:2039
+#: expr.c:2046
 msgid "operation combines symbols in different segments"
 msgstr ""
 
-#: expr.c:2361
+#: expr.c:2371
 msgid "missing closing '\"'"
 msgstr ""
 
@@ -20101,106 +20883,106 @@ msgid "new line in title"
 msgstr ""
 
 #. Turns the next expression into a string.
-#: macro.c:382
+#: macro.c:381
 #, no-c-format
 msgid "% operator needs absolute expression"
 msgstr ""
 
-#: macro.c:536
+#: macro.c:535
 #, c-format
 msgid "Missing parameter qualifier for `%s' in macro `%s'"
 msgstr ""
 
-#: macro.c:546
+#: macro.c:545
 #, c-format
 msgid "`%s' is not a valid parameter qualifier for `%s' in macro `%s'"
 msgstr ""
 
-#: macro.c:563
+#: macro.c:562
 #, c-format
 msgid "Pointless default value for required parameter `%s' in macro `%s'"
 msgstr ""
 
-#: macro.c:575
+#: macro.c:574
 #, c-format
 msgid "A parameter named `%s' already exists for macro `%s'"
 msgstr ""
 
-#: macro.c:612
+#: macro.c:611
 #, c-format
 msgid "Reserved word `%s' used as parameter in macro `%s'"
 msgstr ""
 
-#: macro.c:670
+#: macro.c:669
 #, c-format
 msgid "unexpected end of file in macro `%s' definition"
 msgstr ""
 
-#: macro.c:682
+#: macro.c:681
 #, c-format
 msgid "missing `)' after formals in macro definition `%s'"
 msgstr ""
 
-#: macro.c:697
+#: macro.c:696
 msgid "Missing macro name"
 msgstr ""
 
-#: macro.c:706
+#: macro.c:705
 #, c-format
 msgid "Bad parameter list for macro `%s'"
 msgstr ""
 
-#: macro.c:712
+#: macro.c:711
 #, c-format
 msgid "Macro `%s' was already defined"
 msgstr ""
 
-#: macro.c:837 macro.c:839
+#: macro.c:836 macro.c:838
 msgid "missing `)'"
 msgstr ""
 
-#: macro.c:936
+#: macro.c:935
 #, c-format
 msgid "`%s' was already used as parameter (or another local) name"
 msgstr ""
 
-#: macro.c:1094
+#: macro.c:1093
 msgid "confusion in formal parameters"
 msgstr ""
 
-#: macro.c:1102
+#: macro.c:1101
 #, c-format
 msgid "Parameter named `%s' does not exist for macro `%s'"
 msgstr ""
 
-#: macro.c:1113
+#: macro.c:1112
 #, c-format
 msgid "Value for parameter `%s' of macro `%s' was already specified"
 msgstr ""
 
-#: macro.c:1127
+#: macro.c:1126
 msgid "can't mix positional and keyword arguments"
 msgstr ""
 
-#: macro.c:1138
+#: macro.c:1137
 msgid "too many positional arguments"
 msgstr ""
 
-#: macro.c:1186
+#: macro.c:1185
 #, c-format
 msgid "Missing value for required parameter `%s' of macro `%s'"
 msgstr ""
 
-#: macro.c:1304
+#: macro.c:1303
 #, c-format
 msgid "Attempt to purge non-existing macro `%s'"
 msgstr ""
 
-#: macro.c:1324
+#: macro.c:1323
 msgid "unexpected end of file in irp or irpc"
 msgstr ""
 
-#: macro.c:1332
+#: macro.c:1331
 msgid "missing model parameter"
 msgstr ""
 
@@ -20236,16 +21018,16 @@ msgstr ""
 
 #: messages.c:400
 #, c-format
-msgid "%s out of domain (%d is not a multiple of %d)"
+msgid "%s out of domain (%"
 msgstr ""
 
-#: messages.c:418
+#: messages.c:417
 #, c-format
-msgid "%s out of range (%d is not between %d and %d)"
+msgid "%s out of range (%"
 msgstr ""
 
 #. xgettext:c-format.
-#: messages.c:441
+#: messages.c:439
 #, c-format
 msgid "%s out of range (0x%s is not between 0x%s and 0x%s)"
 msgstr ""
@@ -20504,200 +21286,200 @@ msgstr ""
 msgid "junk at end of line, first unrecognized character valued 0x%x"
 msgstr ""
 
-#: read.c:3869 write.c:2353
+#: read.c:3870 write.c:2354
 #, c-format
 msgid "`%s' can't be equated to common symbol `%s'"
 msgstr ""
 
-#: read.c:3999
+#: read.c:4000
 msgid "unexpected `\"' in expression"
 msgstr ""
 
-#: read.c:4012
+#: read.c:4013
 msgid "rva without symbol"
 msgstr ""
 
-#: read.c:4081
+#: read.c:4082
 msgid "missing or bad offset expression"
 msgstr ""
 
-#: read.c:4102
+#: read.c:4103
 msgid "missing reloc type"
 msgstr ""
 
-#: read.c:4126
+#: read.c:4127
 msgid "unrecognized reloc type"
 msgstr ""
 
-#: read.c:4142
+#: read.c:4143
 msgid "bad reloc expression"
 msgstr ""
 
-#: read.c:4304 read.c:5150
+#: read.c:4305 read.c:5151
 msgid "zero assumed for missing expression"
 msgstr ""
 
-#: read.c:4324 read.c:5179
+#: read.c:4325 read.c:5180
 msgid "attempt to store value in absolute section"
 msgstr ""
 
-#: read.c:4331 read.c:5185
+#: read.c:4332 read.c:5186
 #, c-format
 msgid "attempt to store non-zero value in section `%s'"
 msgstr ""
 
-#: read.c:4417
+#: read.c:4418
 #, c-format
 msgid "value 0x%llx truncated to 0x%llx"
 msgstr ""
 
-#: read.c:4420
+#: read.c:4421
 msgid "value 0x%I64x truncated to 0x%I64x"
 msgstr ""
 
-#: read.c:4424
+#: read.c:4425
 #, c-format
 msgid "value 0x%lx truncated to 0x%lx"
 msgstr ""
 
-#: read.c:4469
+#: read.c:4470
 #, c-format
 msgid "bignum truncated to %d byte"
 msgid_plural "bignum truncated to %d bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: read.c:4678 read.c:4888
+#: read.c:4679 read.c:4889
 msgid "unresolvable or nonpositive repeat count; using 1"
 msgstr ""
 
-#: read.c:4727
+#: read.c:4728
 #, c-format
 msgid "unknown floating type type '%c'"
 msgstr ""
 
-#: read.c:4749
+#: read.c:4750
 msgid "floating point constant too large"
 msgstr ""
 
-#: read.c:4813
+#: read.c:4814
 msgid "attempt to store float in absolute section"
 msgstr ""
 
-#: read.c:4820
+#: read.c:4821
 #, c-format
 msgid "attempt to store float in section `%s'"
 msgstr ""
 
-#: read.c:5268
+#: read.c:5269
 #, c-format
 msgid "attempt to store non-empty string in section `%s'"
 msgstr ""
 
-#: read.c:5330
+#: read.c:5331
 msgid "strings must be placed into a section"
 msgstr ""
 
-#: read.c:5394
+#: read.c:5393
 msgid "expected <nn>"
 msgstr ""
 
 #. To be compatible with BSD 4.2 as: give the luser a linefeed!!
-#: read.c:5435 read.c:5521
+#: read.c:5434 read.c:5520
 msgid "unterminated string; newline inserted"
 msgstr ""
 
-#: read.c:5535
+#: read.c:5534
 msgid "bad escaped character in string"
 msgstr ""
 
-#: read.c:5560
+#: read.c:5559
 msgid "expected address expression"
 msgstr ""
 
-#: read.c:5579
+#: read.c:5578
 #, c-format
 msgid "symbol \"%s\" undefined; zero assumed"
 msgstr ""
 
-#: read.c:5582
+#: read.c:5581
 msgid "some symbol undefined; zero assumed"
 msgstr ""
 
-#: read.c:5617
+#: read.c:5616
 msgid "this string may not contain '\\0'"
 msgstr ""
 
-#: read.c:5653
+#: read.c:5652
 msgid "missing string"
 msgstr ""
 
-#: read.c:5744
+#: read.c:5743
 #, c-format
 msgid ".incbin count zero, ignoring `%s'"
 msgstr ""
 
-#: read.c:5770
+#: read.c:5769
 #, c-format
 msgid "file not found: %s"
 msgstr ""
 
-#: read.c:5784
+#: read.c:5783
 #, c-format
 msgid "seek to end of .incbin file failed `%s'"
 msgstr ""
 
-#: read.c:5795
+#: read.c:5794
 #, c-format
 msgid "skip (%ld) or count (%ld) invalid for file size (%ld)"
 msgstr ""
 
-#: read.c:5802
+#: read.c:5801
 #, c-format
 msgid "could not skip to %ld in file `%s'"
 msgstr ""
 
-#: read.c:5811
+#: read.c:5810
 #, c-format
 msgid "truncated file `%s', %ld of %ld bytes read"
 msgstr ""
 
-#: read.c:5969
+#: read.c:5968
 msgid "missing .func"
 msgstr ""
 
-#: read.c:5986
+#: read.c:5985
 msgid ".endfunc missing for previous .func"
 msgstr ""
 
-#: read.c:6045
+#: read.c:6044
 #, c-format
 msgid ".bundle_align_mode alignment too large (maximum %u)"
 msgstr ""
 
-#: read.c:6050
+#: read.c:6049
 msgid "cannot change .bundle_align_mode inside .bundle_lock"
 msgstr ""
 
-#: read.c:6064
+#: read.c:6063
 msgid ".bundle_lock is meaningless without .bundle_align_mode"
 msgstr ""
 
-#: read.c:6085
+#: read.c:6084
 msgid ".bundle_unlock without preceding .bundle_lock"
 msgstr ""
 
-#: read.c:6098
+#: read.c:6097
 #, c-format
 msgid ".bundle_lock sequence is %u bytes, but bundle size is only %u bytes"
 msgstr ""
 
-#: read.c:6197
+#: read.c:6196
 #, c-format
 msgid "missing closing `%c'"
 msgstr ""
 
-#: read.c:6199
+#: read.c:6198
 msgid "stray `\\'"
 msgstr ""
 
@@ -20743,125 +21525,125 @@ msgstr ""
 msgid "inserting \"%s\" into symbol table failed: %s"
 msgstr ""
 
-#: symbols.c:1184
+#: symbols.c:1181
 #, c-format
 msgid "invalid operands (%s and %s sections) for `%s'"
 msgstr ""
 
-#: symbols.c:1188
+#: symbols.c:1185
 #, c-format
 msgid "invalid operand (%s section) for `%s'"
 msgstr ""
 
-#: symbols.c:1196
+#: symbols.c:1193
 #, c-format
 msgid "invalid operands (%s and %s sections) for `%s' when setting `%s'"
 msgstr ""
 
-#: symbols.c:1199
+#: symbols.c:1196
 #, c-format
 msgid "invalid operand (%s section) for `%s' when setting `%s'"
 msgstr ""
 
-#: symbols.c:1248
+#: symbols.c:1259
 #, c-format
 msgid "symbol definition loop encountered at `%s'"
 msgstr ""
 
-#: symbols.c:1275
+#: symbols.c:1286
 #, c-format
 msgid "cannot convert expression symbol %s to complex relocation"
 msgstr ""
 
-#: symbols.c:1560
+#: symbols.c:1563
 #, c-format
 msgid "division by zero when setting `%s'"
 msgstr ""
 
 #. See PR 20895 for a reproducer.
-#: symbols.c:1600
+#: symbols.c:1603
 msgid "Invalid operation on symbol"
 msgstr ""
 
-#: symbols.c:1650 write.c:2402
+#: symbols.c:1653 write.c:2403
 #, c-format
 msgid "can't resolve value for symbol `%s'"
 msgstr ""
 
-#: symbols.c:2109
+#: symbols.c:2112
 #, c-format
 msgid "\"%d\" (instance number %d of a %s label)"
 msgstr ""
 
-#: symbols.c:2138
+#: symbols.c:2141
 #, c-format
 msgid "attempt to get value of unresolved symbol `%s'"
 msgstr ""
 
 #. Do not reassign section symbols.
-#: symbols.c:2426
+#: symbols.c:2429
 msgid "section symbols are already global"
 msgstr ""
 
-#: symbols.c:2539
+#: symbols.c:2542
 #, c-format
 msgid "Accessing function `%s' as thread-local object"
 msgstr ""
 
-#: symbols.c:2543
+#: symbols.c:2546
 #, c-format
 msgid "Accessing `%s' as thread-local object"
 msgstr ""
 
 #: write.c:167
 #, c-format
-msgid "field fx_size too small to hold %d"
+msgid "field fx_size too small to hold %lu"
 msgstr ""
 
-#: write.c:456
+#: write.c:454
 #, c-format
 msgid "attempt to .org/.space/.nops backwards? (%ld)"
 msgstr ""
 
-#: write.c:478
+#: write.c:476
 #, c-format
 msgid "leb128 operand is an undefined symbol: %s"
 msgstr ""
 
-#: write.c:709
+#: write.c:707
 msgid "invalid offset expression"
 msgstr ""
 
-#: write.c:731
+#: write.c:729
 msgid "invalid reloc expression"
 msgstr ""
 
-#: write.c:1114
+#: write.c:1112
 #, c-format
 msgid "value of %s too large for field of %d byte at %s"
 msgid_plural "value of %s too large for field of %d bytes at %s"
 msgstr[0] ""
 msgstr[1] ""
 
-#: write.c:1130
+#: write.c:1128
 #, c-format
 msgid "signed .word overflow; switch may be too large; %ld at 0x%lx"
 msgstr ""
 
-#: write.c:1171
+#: write.c:1169
 msgid "redefined symbol cannot be used on reloc"
 msgstr ""
 
-#: write.c:1184
+#: write.c:1182
 msgid "relocation out of range"
 msgstr ""
 
-#: write.c:1187
+#: write.c:1185
 #, c-format
 msgid "%s:%u: bad return from bfd_install_relocation: %x"
 msgstr ""
 
-#: write.c:1215
+#: write.c:1213
 msgid "reloc not within (fixed part of) section"
 msgstr ""
 
@@ -20891,58 +21673,58 @@ msgid_plural "can't fill %ld bytes in section %s of %s: '%s'"
 msgstr[0] ""
 msgstr[1] ""
 
-#: write.c:1913
+#: write.c:1914
 msgid "unable to create reloc for build note"
 msgstr ""
 
-#: write.c:1917
+#: write.c:1918
 msgid "<gnu build note>"
 msgstr ""
 
-#: write.c:2318
+#: write.c:2319
 #, c-format
 msgid "%s: global symbols not supported in common sections"
 msgstr ""
 
-#: write.c:2332
+#: write.c:2333
 #, c-format
 msgid "local label `%s' is not defined"
 msgstr ""
 
-#: write.c:2360
+#: write.c:2361
 #, c-format
 msgid "can't make global register symbol `%s'"
 msgstr ""
 
-#: write.c:2665
+#: write.c:2670
 #, c-format
 msgid "alignment padding (%lu byte) not a multiple of %ld"
 msgid_plural "alignment padding (%lu bytes) not a multiple of %ld"
 msgstr[0] ""
 msgstr[1] ""
 
-#: write.c:2832
+#: write.c:2837
 #, c-format
 msgid ".word %s-%s+%s didn't fit"
 msgstr ""
 
-#: write.c:2926
+#: write.c:2931
 msgid "padding added"
 msgstr ""
 
-#: write.c:2977
+#: write.c:2982
 msgid "attempt to move .org backwards"
 msgstr ""
 
-#: write.c:3002
+#: write.c:3007
 msgid ".space specifies non-absolute value"
 msgstr ""
 
-#: write.c:3017
+#: write.c:3022
 msgid ".space, .nops or .fill with negative value, ignored"
 msgstr ""
 
-#: write.c:3088
+#: write.c:3094
 #, c-format
 msgid ""
 "Infinite loop encountered whilst attempting to compute the addresses of "
index af80a10b7e81df8620d5f03fd38ddbb605ae6b92..dfd5eeefa3d2c39254818f5705e39b24b62ddab1 100644 (file)
@@ -24,8 +24,8 @@
   29[  ]+.else
   31[  ]+.endif
 [      ]*[1-9][0-9]*[  ]+
-[      ]*[1-9][0-9]*[  ]+\.comm[       ]+c,[   ]*1[    ]*
-[      ]*[1-9][0-9]*[  ]+\.ifndef[     ]+c[    ]*
+[      ]*[1-9][0-9]*[  ]+\.comm[       ]+v_c,[         ]*1[    ]*
+[      ]*[1-9][0-9]*[  ]+\.ifndef[     ]+v_c[  ]*
 [      ]*[1-9][0-9]*[  ]+\.endif[      ]*
 [      ]*[1-9][0-9]*[  ]*
 [      ]*[1-9][0-9]*[  ]+\.if[         ]+x[    ]*<>[   ]*x[    ]*
 [      ]*[1-9][0-9]*[  ]+\.if[         ]+y[    ]*<>[   ]*z[    ]*
 [      ]*[1-9][0-9]*[  ]+\.endif[      ]*
 [      ]*[1-9][0-9]*[  ]*
-[      ]*[1-9][0-9]*[  ]+\.equiv[      ]+a,[   ]*y[    ]*\+[   ]*1[    ]*
-[      ]*[1-9][0-9]*[  ]+\.equiv[      ]+b,[   ]*z[    ]*-[    ]*1[    ]*
-[      ]*[1-9][0-9]*[  ]+\.if[         ]+a[    ]*==[   ]*x[    ]*
+[      ]*[1-9][0-9]*[  ]+\.equiv[      ]+v_a,[         ]*y[    ]*\+[   ]*1[    ]*
+[      ]*[1-9][0-9]*[  ]+\.equiv[      ]+v_b,[         ]*z[    ]*-[    ]*1[    ]*
+[      ]*[1-9][0-9]*[  ]+\.if[         ]+v_a[  ]*==[   ]*x[    ]*
 [      ]*[1-9][0-9]*[  ]+\.endif[      ]*
-[      ]*[1-9][0-9]*[  ]+\.if[         ]+a[    ]*-[    ]*1[    ]*<>[   ]*x[    ]*
+[      ]*[1-9][0-9]*[  ]+\.if[         ]+v_a[  ]*-[    ]*1[    ]*<>[   ]*x[    ]*
 [      ]*[1-9][0-9]*[  ]+\.endif[      ]*
-[      ]*[1-9][0-9]*[  ]+\.if[         ]+a[    ]*<>[   ]*b[    ]*\+[   ]*2[    ]*
+[      ]*[1-9][0-9]*[  ]+\.if[         ]+v_a[  ]*<>[   ]*v_b[  ]*\+[   ]*2[    ]*
 [      ]*[1-9][0-9]*[  ]+\.endif[      ]*
-[      ]*[1-9][0-9]*[  ]+\.if[         ]+a[    ]*-[    ]*b[    ]*<>[   ]*2[    ]*
+[      ]*[1-9][0-9]*[  ]+\.if[         ]+v_a[  ]*-[    ]*v_b[  ]*<>[   ]*2[    ]*
 [      ]*[1-9][0-9]*[  ]+\.endif[      ]*
 [      ]*[1-9][0-9]*[  ]*
 [      ]*[1-9][0-9]*[  ]+\.equiv[      ]+x,[   ]*0[    ]*
index f0bf67ac8cbab2b146560cc3cb0c2edc4322f843..9a7c6e3c1574b877e701fcaa77bd4072abbd97a1 100644 (file)
@@ -30,8 +30,8 @@
        .long   9
        .endif
 
-       .comm   c, 1
-       .ifndef c
+       .comm   v_c, 1
+       .ifndef v_c
        .err
        .endif
 
        .err
        .endif
 
-       .equiv  a, y + 1
-       .equiv  b, z - 1
-       .if     a == x
+       .equiv  v_a, y + 1
+       .equiv  v_b, z - 1
+       .if     v_a == x
        .err
        .endif
-       .if     a - 1 <> x
+       .if     v_a - 1 <> x
        .err
        .endif
-       .if     a <> b + 2
+       .if     v_a <> v_b + 2
        .err
        .endif
-       .if     a - b <> 2
+       .if     v_a - v_b <> 2
        .err
        .endif
 
index eee91c038198fecedc7fd1c4d3de23dac377a959..211ab9f1c8b71019699429d311a570ed72470163 100644 (file)
@@ -5,7 +5,7 @@
 
 RELOCATION RECORDS FOR .*
 OFFSET +TYPE +VALUE 
-0+ .*(\.data|i)(|\+0xf+e|\+0xf+c|\+0xf+8|-0x0*2|-0x0*4|-0x0*8)
+0+ .*(\.data|label_i)(|\+0xf+e|\+0xf+c|\+0xf+8|-0x0*2|-0x0*4|-0x0*8)
 
 Contents of section .*
  0+ (0+|feff|fffe|fcffffff|fffffffc|f8ffffff|f8ffffff ffffffff|ffffffff fffffff8|0+4) .*
index e10309958486bf81cfc7682a1a77c3c3efddf2a4..ecc7c4e37e4738a2e1138932313ccd7c9bba0057 100644 (file)
@@ -1,6 +1,6 @@
  .data
-i:
+label_i:
 
  .text
- .dc.a i + (. - .L1)
+ .dc.a label_i + (. - .L1)
 .L1:
index e7588cf8ded176dfc2bdc15dfcc079bbb37c8aba..f6eed4a34c6a3bfca1f38823ae9799b05191c1c1 100644 (file)
@@ -5,7 +5,7 @@ Symbol table '.symtab' contains 9 entries:
  +1: 0+0 +0 +SECTION +LOCAL +DEFAULT +1 (|\.text)
  +2: 0+0 +0 +SECTION +LOCAL +DEFAULT +2 (|\.data)
  +3: 0+0 +0 +SECTION +LOCAL +DEFAULT +3 (|\.bss)
- +4: 0+0 +0 +SECTION +LOCAL +DEFAULT +7 (|A)
+ +4: 0+0 +0 +SECTION +LOCAL +DEFAULT +7 (|AAA)
  +5: 0+0 +0 +SECTION +LOCAL +DEFAULT +4 (|\.reginfo)
  +6: 0+0 +0 +SECTION +LOCAL +DEFAULT +5 (|\.MIPS\.abiflags)
  +7: 0+0 +0 +SECTION +LOCAL +DEFAULT +6 (|\.pdr)
index 9d20eebd0d1a58683406331eb8a6f2c6848f542c..c311ff94947cc0140c43d2ffcd53c5b6ca230f93 100644 (file)
@@ -3,6 +3,6 @@
 .*GAS.*
 
 
-[      ]+1[    ]+.section A
-[      ]+2[    ]+.global A
+[      ]+1[    ]+.section AAA
+[      ]+2[    ]+.global AAA
 [      ]+3 0000 31[    ]+.byte 49
index 02239e76c4a3536601d3da6f07601e0aa4bacdf1..2c181e5399111f295ba0e1bf963302ce87d3d2d0 100644 (file)
@@ -1,3 +1,3 @@
-          .section A
-          .global A
+          .section AAA
+          .global AAA
          .byte 49
index e7f7e1e463765068bbb7fdd90c7c7f1ce19b3d8a..871dbec25269c2e5e715635cba089ec1d522623e 100644 (file)
@@ -1,7 +1,7 @@
 #nm: -n
 #name: APP with macro without NO_APP
 #...
-0+ T a
+0+ T label_a
 #...
-0+[1-f] T b
+0+[1-f] T label_b
 #pass
index 5cc7a075b0c12ff6256a4baaa6e89774b4007db1..0d1aeac69a2dfdb1fd86662a7b151fa019c79246 100644 (file)
@@ -1,12 +1,12 @@
 #NO_APP
  .text
  .macro foo
- .globl a
-a:
+ .globl label_a
+label_a:
  .long 42
  .endm
 #APP
  foo
- .globl b
-b:
+ .globl label_b
+label_b:
  .long 56
index ef62e3a526c67d8aea42c43e9be2340edfe51a82..7f71df39c77fb7be46eac6c58e38f7c6736abec9 100644 (file)
@@ -1,7 +1,7 @@
 #nm: -n
 #name: APP with macro then NO_APP
 #...
-0+ T a
+0+ T label_a
 #...
-0+[1-f] T b
+0+[1-f] T label_b
 #pass
index 8f9222b2e0c0edcf1a481dc389650606913123fe..843ed8e8ae49e630db21d4ee188889009a74f0bf 100644 (file)
@@ -1,13 +1,13 @@
 #NO_APP
  .text
  .macro foo
- .globl a
-a:
+ .globl label_a
+label_a:
  .long 42
  .endm
 #APP
  foo
- .globl b
-b:
+ .globl label_b
+label_b:
  .long 56
 #NO_APP
index 4be449c3fba044bfb59c6d31ec2f6ac7b5b6ccf8..6e4f568646a6b85daadffdc63f4984cbd0562ff9 100644 (file)
@@ -1,9 +1,9 @@
 #nm: -n
 #name: APP with macro then NO_APP then more code
 #...
-0+ T a
+0+ T label_a
 #...
-0+[1-f] T b
+0+[1-f] T label_b
 #...
-0+[2-f] T c
+0+[2-f] T label_c
 #pass
index 7d950c5dd1b4a81988a4639556016bcc9e0855c4..3547aabc23f5e6dcd44a9cf04e6e9beaf787db6e 100644 (file)
@@ -1,16 +1,16 @@
 #NO_APP
  .text
  .macro foo
- .globl a
-a:
+ .globl label_a
+label_a:
  .long 42
  .endm
 #APP
  foo
- .globl b
-b:
+ .globl label_b
+label_b:
  .long 56
 #NO_APP
- .globl c
-c:
+ .globl label_c
+label_c:
  .long 78
index 537a03b842e27bd2d06f07ff49f548a635d9452f..9797e19fe11757ef48d6ccd74033f1864b19b989 100644 (file)
@@ -2,9 +2,9 @@
 #nm: -n
 #name: included file with .if 0 wrapped in APP/NO_APP, no final NO_APP, macro in main file
 #...
-0+ T d
+0+ T label_d
 #...
-0+[1-f] T a
+0+[1-f] T label_a
 #...
-0+[2-f] T b
+0+[2-f] T label_b
 #pass
index 1966514fe3d7d8f29c7d3a97d0f04f789d828a28..a4ed8227816166b605a4822fc232ddd00956271b 100644 (file)
@@ -1,11 +1,11 @@
  .text
  .macro foo
- .globl a
-a:
+ .globl label_a
+label_a:
  .long 42
  .endm
  .include "app4b.s"
  foo
- .globl b
-b:
+ .globl label_b
+label_b:
  .long 56
index 45e6c4c3522877b0027f565562c4402dd1539e1a..626546bc637f289f2643349bed910c6815fc5f36 100644 (file)
@@ -1,12 +1,12 @@
 #NO_APP
- .globl d
-d:
+ .globl label_d
+label_d:
  .long 21
 #APP
  .if 0
 #NO_APP
  .err
- .globl x
-x:
+ .globl label_x
+label_x:
 #APP
  .endif
diff --git a/gas/testsuite/gas/z80/colonless.d b/gas/testsuite/gas/z80/colonless.d
new file mode 100644 (file)
index 0000000..a8af8ca
--- /dev/null
@@ -0,0 +1,21 @@
+#name: colonless labels
+#source: colonless.s -colonless
+#objdump: -d
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+
+Disassembly of section \.text:
+
+00000000 <start>:
+[   ]+0:[      ]+3e 00[        ]+ld a,0x00
+[   ]+2:[      ]+28 0c[        ]+jr z,0x0010
+[   ]+4:[      ]+3e 01[        ]+ld a,0x01
+[   ]+6:[      ]+3e 02[        ]+ld a,0x02
+[   ]+8:[      ]+3e 03[        ]+ld a,0x03
+[   ]+a:[      ]+18 f4[        ]+jr 0x0000
+[   ]+c:[      ]+18 f4[        ]+jr 0x0002
+[   ]+e:[      ]+18 f6[        ]+jr 0x0006
+
+00000010 <finish>:
+[  ]+10:[      ]+c9[           ]+ret
diff --git a/gas/testsuite/gas/z80/colonless.s b/gas/testsuite/gas/z80/colonless.s
new file mode 100644 (file)
index 0000000..55410f8
--- /dev/null
@@ -0,0 +1,14 @@
+       .text
+       ;; colon less labels test
+start
+       ld      a,0
+.L_next
+       jr      z,finish
+       ld      a,1
+.L_xx  ld      a,2
+       ld      a,3
+       jr      start
+       jr      .L_next
+       jr      .L_xx
+finish ret
+       .end
diff --git a/gas/testsuite/gas/z80/data.d b/gas/testsuite/gas/z80/data.d
new file mode 100644 (file)
index 0000000..f96cd40
--- /dev/null
@@ -0,0 +1,16 @@
+#name: data definition
+#objdump: -s -j .data
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+Contents of section \.data:
+ 0000 007fff80 6d657373 61676500 0000ffff.*
+ 0010 7fffffff 00008056 34120000 0000ffff.*
+ 0020 ff7fffff ffff0000 00807856 34120000.*
+ 0030 00ffff7f ffffff00 00805634 12000000.*
+ 0040 00ffffff 7fffffff ff000000 80785634.*
+ 0050 12007fff 80746578 746d6573 73616765.*
+ 0060 00000000 00000000 000000ff 7f0080ff.*
+ 0070 ff008034 12000000 00000000 000000ff.*
+ 0080 7f0080ff ff008034 12.*
+#pass
diff --git a/gas/testsuite/gas/z80/data.s b/gas/testsuite/gas/z80/data.s
new file mode 100644 (file)
index 0000000..ccbb557
--- /dev/null
@@ -0,0 +1,13 @@
+       .data
+       .db     0, 127, -1, 0x80, "message"
+       .d24    0, 8388607, -1, 0x800000, 0x123456
+       .d32    0, 2147483647, -1, 0x80000000, 0x12345678
+       def24   0, 8388607, -1, 0x800000, 0x123456
+       def32   0, 2147483647, -1, 0x80000000, 0x12345678
+       defb    0, 127, -1, 0x80
+       defm    "text", "message", 0
+       defs    8
+       defw    0, 32767, 32768, -1, 0x8000, 0x1234
+       .ds     8
+       .dw     0, 32767, 32768, -1, 0x8000, 0x1234
+       .end
diff --git a/gas/testsuite/gas/z80/dollar.d b/gas/testsuite/gas/z80/dollar.d
new file mode 100644 (file)
index 0000000..24ad8a6
--- /dev/null
@@ -0,0 +1,8 @@
+#objdump: -s -j .data
+#name: dollar labels
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+Contents of section .data:
+ 0000 00000000 00000000 00000000 00000000[  ]+.*
+ 0010 12001200 18001600 18001600 1800[      ]+.*
diff --git a/gas/testsuite/gas/z80/dollar.s b/gas/testsuite/gas/z80/dollar.s
new file mode 100644 (file)
index 0000000..ffcb044
--- /dev/null
@@ -0,0 +1,17 @@
+       .data
+       .org    0x10
+_label1:
+       .dw     100$
+100$:
+       .dw     100$
+_label2:
+       .dw     110$
+100$:
+       .dw     100$
+110$:
+       .dw     110$
+.L_label3:
+       .dw     100$
+       .dw     110$
+       .end
+
diff --git a/gas/testsuite/gas/z80/ez80_adl_all.d b/gas/testsuite/gas/z80/ez80_adl_all.d
new file mode 100644 (file)
index 0000000..8d715c6
--- /dev/null
@@ -0,0 +1,961 @@
+#as: -ez80-adl
+#objdump: -d
+#name: All eZ80 instructions in ADL cpu mode
+
+.*:.*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+0:\s+a7\s+and a,a
+\s+1:\s+a0\s+and a,b
+\s+2:\s+a1\s+and a,c
+\s+3:\s+a2\s+and a,d
+\s+4:\s+a3\s+and a,e
+\s+5:\s+a4\s+and a,h
+\s+6:\s+a5\s+and a,l
+\s+7:\s+a6\s+and a,\(hl\)
+\s+8:\s+e6 aa\s+and a,0xaa
+\s+a:\s+dd a6 05\s+and a,\(ix\+5\)
+\s+d:\s+fd a6 fb\s+and a,\(iy\-5\)
+\s+10:\s+bf\s+cp a,a
+\s+11:\s+b8\s+cp a,b
+\s+12:\s+b9\s+cp a,c
+\s+13:\s+ba\s+cp a,d
+\s+14:\s+bb\s+cp a,e
+\s+15:\s+bc\s+cp a,h
+\s+16:\s+bd\s+cp a,l
+\s+17:\s+be\s+cp a,\(hl\)
+\s+18:\s+fe aa\s+cp a,0xaa
+\s+1a:\s+dd be 05\s+cp a,\(ix\+5\)
+\s+1d:\s+fd be fb\s+cp a,\(iy\-5\)
+\s+20:\s+b7\s+or a,a
+\s+21:\s+b0\s+or a,b
+\s+22:\s+b1\s+or a,c
+\s+23:\s+b2\s+or a,d
+\s+24:\s+b3\s+or a,e
+\s+25:\s+b4\s+or a,h
+\s+26:\s+b5\s+or a,l
+\s+27:\s+b6\s+or a,\(hl\)
+\s+28:\s+f6 aa\s+or a,0xaa
+\s+2a:\s+dd b6 05\s+or a,\(ix\+5\)
+\s+2d:\s+fd b6 fb\s+or a,\(iy\-5\)
+\s+30:\s+97\s+sub a,a
+\s+31:\s+90\s+sub a,b
+\s+32:\s+91\s+sub a,c
+\s+33:\s+92\s+sub a,d
+\s+34:\s+93\s+sub a,e
+\s+35:\s+94\s+sub a,h
+\s+36:\s+95\s+sub a,l
+\s+37:\s+96\s+sub a,\(hl\)
+\s+38:\s+d6 aa\s+sub a,0xaa
+\s+3a:\s+dd 96 05\s+sub a,\(ix\+5\)
+\s+3d:\s+fd 96 fb\s+sub a,\(iy\-5\)
+\s+40:\s+ed 3c\s+tst a,a
+\s+42:\s+ed 04\s+tst a,b
+\s+44:\s+ed 0c\s+tst a,c
+\s+46:\s+ed 14\s+tst a,d
+\s+48:\s+ed 1c\s+tst a,e
+\s+4a:\s+ed 24\s+tst a,h
+\s+4c:\s+ed 2c\s+tst a,l
+\s+4e:\s+ed 34\s+tst a,\(hl\)
+\s+50:\s+ed 64 0f\s+tst a,0x0f
+\s+53:\s+af\s+xor a,a
+\s+54:\s+a8\s+xor a,b
+\s+55:\s+a9\s+xor a,c
+\s+56:\s+aa\s+xor a,d
+\s+57:\s+ab\s+xor a,e
+\s+58:\s+ac\s+xor a,h
+\s+59:\s+ad\s+xor a,l
+\s+5a:\s+ae\s+xor a,\(hl\)
+\s+5b:\s+ee aa\s+xor a,0xaa
+\s+5d:\s+dd ae 05\s+xor a,\(ix\+5\)
+\s+60:\s+fd ae fb\s+xor a,\(iy\-5\)
+\s+63:\s+ed 78\s+in a,\(bc\)
+\s+65:\s+ed 40\s+in b,\(bc\)
+\s+67:\s+ed 48\s+in c,\(bc\)
+\s+69:\s+ed 50\s+in d,\(bc\)
+\s+6b:\s+ed 58\s+in e,\(bc\)
+\s+6d:\s+ed 60\s+in h,\(bc\)
+\s+6f:\s+ed 68\s+in l,\(bc\)
+\s+71:\s+ed 79\s+out \(bc\),a
+\s+73:\s+ed 41\s+out \(bc\),b
+\s+75:\s+ed 49\s+out \(bc\),c
+\s+77:\s+ed 51\s+out \(bc\),d
+\s+79:\s+ed 59\s+out \(bc\),e
+\s+7b:\s+ed 61\s+out \(bc\),h
+\s+7d:\s+ed 69\s+out \(bc\),l
+\s+7f:\s+dd 07 f9\s+ld bc,\(ix\-7\)
+\s+82:\s+dd 17 f9\s+ld de,\(ix\-7\)
+\s+85:\s+dd 27 f9\s+ld hl,\(ix\-7\)
+\s+88:\s+dd 37 f9\s+ld ix,\(ix\-7\)
+\s+8b:\s+dd 31 f9\s+ld iy,\(ix\-7\)
+\s+8e:\s+fd 07 26\s+ld bc,\(iy\+38\)
+\s+91:\s+fd 17 26\s+ld de,\(iy\+38\)
+\s+94:\s+fd 27 26\s+ld hl,\(iy\+38\)
+\s+97:\s+fd 31 26\s+ld ix,\(iy\+38\)
+\s+9a:\s+fd 37 26\s+ld iy,\(iy\+38\)
+\s+9d:\s+dd 0f 7e\s+ld \(ix\+126\),bc
+\s+a0:\s+dd 1f 7e\s+ld \(ix\+126\),de
+\s+a3:\s+dd 2f 7e\s+ld \(ix\+126\),hl
+\s+a6:\s+dd 3f 7e\s+ld \(ix\+126\),ix
+\s+a9:\s+dd 3e 7e\s+ld \(ix\+126\),iy
+\s+ac:\s+fd 0f 9e\s+ld \(iy\-98\),bc
+\s+af:\s+fd 1f 9e\s+ld \(iy\-98\),de
+\s+b2:\s+fd 2f 9e\s+ld \(iy\-98\),hl
+\s+b5:\s+fd 3e 9e\s+ld \(iy\-98\),ix
+\s+b8:\s+fd 3f 9e\s+ld \(iy\-98\),iy
+\s+bb:\s+ed 02 e5\s+lea bc,ix\-27
+\s+be:\s+ed 12 e5\s+lea de,ix\-27
+\s+c1:\s+ed 22 e5\s+lea hl,ix\-27
+\s+c4:\s+ed 32 e5\s+lea ix,ix\-27
+\s+c7:\s+ed 55 e5\s+lea iy,ix\-27
+\s+ca:\s+ed 03 0c\s+lea bc,iy\+12
+\s+cd:\s+ed 13 0c\s+lea de,iy\+12
+\s+d0:\s+ed 23 0c\s+lea hl,iy\+12
+\s+d3:\s+ed 54 0c\s+lea ix,iy\+12
+\s+d6:\s+ed 33 0c\s+lea iy,iy\+12
+\s+d9:\s+ed 65 7f\s+pea ix\+127
+\s+dc:\s+ed 66 80\s+pea iy\-128
+\s+df:\s+ed 38 05\s+in0 a,\(0x05\)
+\s+e2:\s+ed 00 05\s+in0 b,\(0x05\)
+\s+e5:\s+ed 08 05\s+in0 c,\(0x05\)
+\s+e8:\s+ed 10 05\s+in0 d,\(0x05\)
+\s+eb:\s+ed 18 05\s+in0 e,\(0x05\)
+\s+ee:\s+ed 20 05\s+in0 h,\(0x05\)
+\s+f1:\s+ed 28 05\s+in0 l,\(0x05\)
+\s+f4:\s+ed 39 05\s+out0 \(0x05\),a
+\s+f7:\s+ed 01 05\s+out0 \(0x05\),b
+\s+fa:\s+ed 09 05\s+out0 \(0x05\),c
+\s+fd:\s+ed 11 05\s+out0 \(0x05\),d
+\s+100:\s+ed 19 05\s+out0 \(0x05\),e
+\s+103:\s+ed 21 05\s+out0 \(0x05\),h
+\s+106:\s+ed 29 05\s+out0 \(0x05\),l
+\s+109:\s+ed 4c\s+mlt bc
+\s+10b:\s+ed 5c\s+mlt de
+\s+10d:\s+ed 6c\s+mlt hl
+\s+10f:\s+ed 7c\s+mlt sp
+\s+111:\s+ed 74 f0\s+tstio 0xf0
+\s+114:\s+ed 76\s+slp
+\s+116:\s+ed 7d\s+stmix
+\s+118:\s+ed 7e\s+rsmix
+\s+11a:\s+ed 82\s+inim
+\s+11c:\s+ed 83\s+otim
+\s+11e:\s+ed 84\s+ini2
+\s+120:\s+ed 8a\s+indm
+\s+122:\s+ed 8b\s+otdm
+\s+124:\s+ed 8c\s+ind2
+\s+126:\s+ed 92\s+inimr
+\s+128:\s+ed 93\s+otimr
+\s+12a:\s+ed 94\s+oti2r
+\s+12c:\s+ed 9a\s+indmr
+\s+12e:\s+ed 9b\s+otdmr
+\s+130:\s+ed 9c\s+otd2r
+\s+132:\s+ed a4\s+ini2
+\s+134:\s+ed ac\s+ind2
+\s+136:\s+ed b4\s+oti2r
+\s+138:\s+ed bc\s+otd2r
+\s+13a:\s+ed c2\s+inirx
+\s+13c:\s+ed c3\s+otirx
+\s+13e:\s+ed ca\s+indrx
+\s+140:\s+ed cb\s+otdrx
+\s+142:\s+dd 7c\s+ld a,ixh
+\s+144:\s+dd 44\s+ld b,ixh
+\s+146:\s+dd 4c\s+ld c,ixh
+\s+148:\s+dd 54\s+ld d,ixh
+\s+14a:\s+dd 5c\s+ld e,ixh
+\s+14c:\s+dd 64\s+ld ixh,ixh
+\s+14e:\s+dd 6c\s+ld ixl,ixh
+\s+150:\s+dd 7d\s+ld a,ixl
+\s+152:\s+dd 45\s+ld b,ixl
+\s+154:\s+dd 4d\s+ld c,ixl
+\s+156:\s+dd 55\s+ld d,ixl
+\s+158:\s+dd 5d\s+ld e,ixl
+\s+15a:\s+dd 65\s+ld ixh,ixl
+\s+15c:\s+dd 6d\s+ld ixl,ixl
+\s+15e:\s+fd 7c\s+ld a,iyh
+\s+160:\s+fd 44\s+ld b,iyh
+\s+162:\s+fd 4c\s+ld c,iyh
+\s+164:\s+fd 54\s+ld d,iyh
+\s+166:\s+fd 5c\s+ld e,iyh
+\s+168:\s+fd 64\s+ld iyh,iyh
+\s+16a:\s+fd 6c\s+ld iyl,iyh
+\s+16c:\s+fd 7d\s+ld a,iyl
+\s+16e:\s+fd 45\s+ld b,iyl
+\s+170:\s+fd 4d\s+ld c,iyl
+\s+172:\s+fd 55\s+ld d,iyl
+\s+174:\s+fd 5d\s+ld e,iyl
+\s+176:\s+fd 65\s+ld iyh,iyl
+\s+178:\s+fd 6d\s+ld iyl,iyl
+\s+17a:\s+dd 67\s+ld ixh,a
+\s+17c:\s+dd 60\s+ld ixh,b
+\s+17e:\s+dd 61\s+ld ixh,c
+\s+180:\s+dd 62\s+ld ixh,d
+\s+182:\s+dd 63\s+ld ixh,e
+\s+184:\s+dd 64\s+ld ixh,ixh
+\s+186:\s+dd 65\s+ld ixh,ixl
+\s+188:\s+dd 26 19\s+ld ixh,0x19
+\s+18b:\s+dd 6f\s+ld ixl,a
+\s+18d:\s+dd 68\s+ld ixl,b
+\s+18f:\s+dd 69\s+ld ixl,c
+\s+191:\s+dd 6a\s+ld ixl,d
+\s+193:\s+dd 6b\s+ld ixl,e
+\s+195:\s+dd 6c\s+ld ixl,ixh
+\s+197:\s+dd 6d\s+ld ixl,ixl
+\s+199:\s+dd 2e 19\s+ld ixl,0x19
+\s+19c:\s+fd 67\s+ld iyh,a
+\s+19e:\s+fd 60\s+ld iyh,b
+\s+1a0:\s+fd 61\s+ld iyh,c
+\s+1a2:\s+fd 62\s+ld iyh,d
+\s+1a4:\s+fd 63\s+ld iyh,e
+\s+1a6:\s+fd 64\s+ld iyh,iyh
+\s+1a8:\s+fd 65\s+ld iyh,iyl
+\s+1aa:\s+fd 26 19\s+ld iyh,0x19
+\s+1ad:\s+fd 6f\s+ld iyl,a
+\s+1af:\s+fd 68\s+ld iyl,b
+\s+1b1:\s+fd 69\s+ld iyl,c
+\s+1b3:\s+fd 6a\s+ld iyl,d
+\s+1b5:\s+fd 6b\s+ld iyl,e
+\s+1b7:\s+fd 6c\s+ld iyl,iyh
+\s+1b9:\s+fd 6d\s+ld iyl,iyl
+\s+1bb:\s+fd 2e 19\s+ld iyl,0x19
+\s+1be:\s+dd 84\s+add a,ixh
+\s+1c0:\s+dd 85\s+add a,ixl
+\s+1c2:\s+fd 84\s+add a,iyh
+\s+1c4:\s+fd 85\s+add a,iyl
+\s+1c6:\s+dd 8c\s+adc a,ixh
+\s+1c8:\s+dd 8d\s+adc a,ixl
+\s+1ca:\s+fd 8c\s+adc a,iyh
+\s+1cc:\s+fd 8d\s+adc a,iyl
+\s+1ce:\s+dd bc\s+cp a,ixh
+\s+1d0:\s+dd bd\s+cp a,ixl
+\s+1d2:\s+fd bc\s+cp a,iyh
+\s+1d4:\s+fd bd\s+cp a,iyl
+\s+1d6:\s+dd 25\s+dec ixh
+\s+1d8:\s+dd 2d\s+dec ixl
+\s+1da:\s+fd 25\s+dec iyh
+\s+1dc:\s+fd 2d\s+dec iyl
+\s+1de:\s+dd 24\s+inc ixh
+\s+1e0:\s+dd 2c\s+inc ixl
+\s+1e2:\s+fd 24\s+inc iyh
+\s+1e4:\s+fd 2c\s+inc iyl
+\s+1e6:\s+dd 9c\s+sbc a,ixh
+\s+1e8:\s+dd 9d\s+sbc a,ixl
+\s+1ea:\s+fd 9c\s+sbc a,iyh
+\s+1ec:\s+fd 9d\s+sbc a,iyl
+\s+1ee:\s+dd 94\s+sub a,ixh
+\s+1f0:\s+dd 95\s+sub a,ixl
+\s+1f2:\s+fd 94\s+sub a,iyh
+\s+1f4:\s+fd 95\s+sub a,iyl
+\s+1f6:\s+dd a4\s+and a,ixh
+\s+1f8:\s+dd a5\s+and a,ixl
+\s+1fa:\s+fd a4\s+and a,iyh
+\s+1fc:\s+fd a5\s+and a,iyl
+\s+1fe:\s+dd b4\s+or a,ixh
+\s+200:\s+dd b5\s+or a,ixl
+\s+202:\s+fd b4\s+or a,iyh
+\s+204:\s+fd b5\s+or a,iyl
+\s+206:\s+dd ac\s+xor a,ixh
+\s+208:\s+dd ad\s+xor a,ixl
+\s+20a:\s+fd ac\s+xor a,iyh
+\s+20c:\s+fd ad\s+xor a,iyl
+\s+20e:\s+ed c7\s+ld i,hl
+\s+210:\s+ed d7\s+ld hl,i
+\s+212:\s+ed 6d\s+ld mb,a
+\s+214:\s+ed 6e\s+ld a,mb
+\s+216:\s+8e\s+adc a,\(hl\)
+\s+217:\s+dd 8e 09\s+adc a,\(ix\+9\)
+\s+21a:\s+fd 8e 09\s+adc a,\(iy\+9\)
+\s+21d:\s+ce 03\s+adc a,0x03
+\s+21f:\s+8f\s+adc a,a
+\s+220:\s+88\s+adc a,b
+\s+221:\s+89\s+adc a,c
+\s+222:\s+8a\s+adc a,d
+\s+223:\s+8b\s+adc a,e
+\s+224:\s+8c\s+adc a,h
+\s+225:\s+8d\s+adc a,l
+\s+226:\s+ed 4a\s+adc hl,bc
+\s+228:\s+ed 5a\s+adc hl,de
+\s+22a:\s+ed 6a\s+adc hl,hl
+\s+22c:\s+ed 7a\s+adc hl,sp
+\s+22e:\s+86\s+add a,\(hl\)
+\s+22f:\s+dd 86 09\s+add a,\(ix\+9\)
+\s+232:\s+fd 86 09\s+add a,\(iy\+9\)
+\s+235:\s+c6 03\s+add a,0x03
+\s+237:\s+87\s+add a,a
+\s+238:\s+80\s+add a,b
+\s+239:\s+81\s+add a,c
+\s+23a:\s+82\s+add a,d
+\s+23b:\s+83\s+add a,e
+\s+23c:\s+84\s+add a,h
+\s+23d:\s+85\s+add a,l
+\s+23e:\s+09\s+add hl,bc
+\s+23f:\s+19\s+add hl,de
+\s+240:\s+29\s+add hl,hl
+\s+241:\s+39\s+add hl,sp
+\s+242:\s+dd 09\s+add ix,bc
+\s+244:\s+dd 19\s+add ix,de
+\s+246:\s+dd 29\s+add ix,ix
+\s+248:\s+dd 39\s+add ix,sp
+\s+24a:\s+fd 09\s+add iy,bc
+\s+24c:\s+fd 19\s+add iy,de
+\s+24e:\s+fd 29\s+add iy,iy
+\s+250:\s+fd 39\s+add iy,sp
+\s+252:\s+a6\s+and a,\(hl\)
+\s+253:\s+dd a6 09\s+and a,\(ix\+9\)
+\s+256:\s+fd a6 09\s+and a,\(iy\+9\)
+\s+259:\s+e6 03\s+and a,0x03
+\s+25b:\s+a7\s+and a,a
+\s+25c:\s+a0\s+and a,b
+\s+25d:\s+a1\s+and a,c
+\s+25e:\s+a2\s+and a,d
+\s+25f:\s+a3\s+and a,e
+\s+260:\s+a4\s+and a,h
+\s+261:\s+a5\s+and a,l
+\s+262:\s+cb 46\s+bit 0,\(hl\)
+\s+264:\s+dd cb 09 46\s+bit 0,\(ix\+9\)
+\s+268:\s+fd cb 09 46\s+bit 0,\(iy\+9\)
+\s+26c:\s+cb 47\s+bit 0,a
+\s+26e:\s+cb 40\s+bit 0,b
+\s+270:\s+cb 41\s+bit 0,c
+\s+272:\s+cb 42\s+bit 0,d
+\s+274:\s+cb 43\s+bit 0,e
+\s+276:\s+cb 44\s+bit 0,h
+\s+278:\s+cb 45\s+bit 0,l
+\s+27a:\s+cb 4e\s+bit 1,\(hl\)
+\s+27c:\s+dd cb 09 4e\s+bit 1,\(ix\+9\)
+\s+280:\s+fd cb 09 4e\s+bit 1,\(iy\+9\)
+\s+284:\s+cb 4f\s+bit 1,a
+\s+286:\s+cb 48\s+bit 1,b
+\s+288:\s+cb 49\s+bit 1,c
+\s+28a:\s+cb 4a\s+bit 1,d
+\s+28c:\s+cb 4b\s+bit 1,e
+\s+28e:\s+cb 4c\s+bit 1,h
+\s+290:\s+cb 4d\s+bit 1,l
+\s+292:\s+cb 56\s+bit 2,\(hl\)
+\s+294:\s+dd cb 09 56\s+bit 2,\(ix\+9\)
+\s+298:\s+fd cb 09 56\s+bit 2,\(iy\+9\)
+\s+29c:\s+cb 57\s+bit 2,a
+\s+29e:\s+cb 50\s+bit 2,b
+\s+2a0:\s+cb 51\s+bit 2,c
+\s+2a2:\s+cb 52\s+bit 2,d
+\s+2a4:\s+cb 53\s+bit 2,e
+\s+2a6:\s+cb 54\s+bit 2,h
+\s+2a8:\s+cb 55\s+bit 2,l
+\s+2aa:\s+cb 5e\s+bit 3,\(hl\)
+\s+2ac:\s+dd cb 09 5e\s+bit 3,\(ix\+9\)
+\s+2b0:\s+fd cb 09 5e\s+bit 3,\(iy\+9\)
+\s+2b4:\s+cb 5f\s+bit 3,a
+\s+2b6:\s+cb 58\s+bit 3,b
+\s+2b8:\s+cb 59\s+bit 3,c
+\s+2ba:\s+cb 5a\s+bit 3,d
+\s+2bc:\s+cb 5b\s+bit 3,e
+\s+2be:\s+cb 5c\s+bit 3,h
+\s+2c0:\s+cb 5d\s+bit 3,l
+\s+2c2:\s+cb 66\s+bit 4,\(hl\)
+\s+2c4:\s+dd cb 09 66\s+bit 4,\(ix\+9\)
+\s+2c8:\s+fd cb 09 66\s+bit 4,\(iy\+9\)
+\s+2cc:\s+cb 67\s+bit 4,a
+\s+2ce:\s+cb 60\s+bit 4,b
+\s+2d0:\s+cb 61\s+bit 4,c
+\s+2d2:\s+cb 62\s+bit 4,d
+\s+2d4:\s+cb 63\s+bit 4,e
+\s+2d6:\s+cb 64\s+bit 4,h
+\s+2d8:\s+cb 65\s+bit 4,l
+\s+2da:\s+cb 6e\s+bit 5,\(hl\)
+\s+2dc:\s+dd cb 09 6e\s+bit 5,\(ix\+9\)
+\s+2e0:\s+fd cb 09 6e\s+bit 5,\(iy\+9\)
+\s+2e4:\s+cb 6f\s+bit 5,a
+\s+2e6:\s+cb 68\s+bit 5,b
+\s+2e8:\s+cb 69\s+bit 5,c
+\s+2ea:\s+cb 6a\s+bit 5,d
+\s+2ec:\s+cb 6b\s+bit 5,e
+\s+2ee:\s+cb 6c\s+bit 5,h
+\s+2f0:\s+cb 6d\s+bit 5,l
+\s+2f2:\s+cb 76\s+bit 6,\(hl\)
+\s+2f4:\s+dd cb 09 76\s+bit 6,\(ix\+9\)
+\s+2f8:\s+fd cb 09 76\s+bit 6,\(iy\+9\)
+\s+2fc:\s+cb 77\s+bit 6,a
+\s+2fe:\s+cb 70\s+bit 6,b
+\s+300:\s+cb 71\s+bit 6,c
+\s+302:\s+cb 72\s+bit 6,d
+\s+304:\s+cb 73\s+bit 6,e
+\s+306:\s+cb 74\s+bit 6,h
+\s+308:\s+cb 75\s+bit 6,l
+\s+30a:\s+cb 7e\s+bit 7,\(hl\)
+\s+30c:\s+dd cb 09 7e\s+bit 7,\(ix\+9\)
+\s+310:\s+fd cb 09 7e\s+bit 7,\(iy\+9\)
+\s+314:\s+cb 7f\s+bit 7,a
+\s+316:\s+cb 78\s+bit 7,b
+\s+318:\s+cb 79\s+bit 7,c
+\s+31a:\s+cb 7a\s+bit 7,d
+\s+31c:\s+cb 7b\s+bit 7,e
+\s+31e:\s+cb 7c\s+bit 7,h
+\s+320:\s+cb 7d\s+bit 7,l
+\s+322:\s+cd 56 34 12\s+call 0x123456
+\s+326:\s+dc 56 34 12\s+call c,0x123456
+\s+32a:\s+fc 56 34 12\s+call m,0x123456
+\s+32e:\s+d4 56 34 12\s+call nc,0x123456
+\s+332:\s+c4 56 34 12\s+call nz,0x123456
+\s+336:\s+f4 56 34 12\s+call p,0x123456
+\s+33a:\s+ec 56 34 12\s+call pe,0x123456
+\s+33e:\s+e4 56 34 12\s+call po,0x123456
+\s+342:\s+cc 56 34 12\s+call z,0x123456
+\s+346:\s+3f\s+ccf
+\s+347:\s+be\s+cp a,\(hl\)
+\s+348:\s+dd be 09\s+cp a,\(ix\+9\)
+\s+34b:\s+fd be 09\s+cp a,\(iy\+9\)
+\s+34e:\s+fe 03\s+cp a,0x03
+\s+350:\s+bf\s+cp a,a
+\s+351:\s+b8\s+cp a,b
+\s+352:\s+b9\s+cp a,c
+\s+353:\s+ba\s+cp a,d
+\s+354:\s+bb\s+cp a,e
+\s+355:\s+bc\s+cp a,h
+\s+356:\s+bd\s+cp a,l
+\s+357:\s+ed a9\s+cpd
+\s+359:\s+ed b9\s+cpdr
+\s+35b:\s+ed a1\s+cpi
+\s+35d:\s+ed b1\s+cpir
+\s+35f:\s+2f\s+cpl
+\s+360:\s+27\s+daa
+\s+361:\s+35\s+dec \(hl\)
+\s+362:\s+dd 35 09\s+dec \(ix\+9\)
+\s+365:\s+fd 35 09\s+dec \(iy\+9\)
+\s+368:\s+3d\s+dec a
+\s+369:\s+05\s+dec b
+\s+36a:\s+0b\s+dec bc
+\s+36b:\s+0d\s+dec c
+\s+36c:\s+15\s+dec d
+\s+36d:\s+1b\s+dec de
+\s+36e:\s+1d\s+dec e
+\s+36f:\s+25\s+dec h
+\s+370:\s+2b\s+dec hl
+\s+371:\s+dd 2b\s+dec ix
+\s+373:\s+fd 2b\s+dec iy
+\s+375:\s+2d\s+dec l
+\s+376:\s+3b\s+dec sp
+\s+377:\s+f3\s+di
+\s+378:\s+10 05\s+djnz 0x037f
+\s+37a:\s+fb\s+ei
+\s+37b:\s+e3\s+ex \(sp\),hl
+\s+37c:\s+dd e3\s+ex \(sp\),ix
+\s+37e:\s+fd e3\s+ex \(sp\),iy
+\s+380:\s+08\s+ex af,af'
+\s+381:\s+eb\s+ex de,hl
+\s+382:\s+d9\s+exx
+\s+383:\s+76\s+halt
+\s+384:\s+ed 46\s+im 0
+\s+386:\s+ed 56\s+im 1
+\s+388:\s+ed 5e\s+im 2
+\s+38a:\s+ed 78\s+in a,\(bc\)
+\s+38c:\s+db 03\s+in a,\(0x03\)
+\s+38e:\s+ed 40\s+in b,\(bc\)
+\s+390:\s+ed 48\s+in c,\(bc\)
+\s+392:\s+ed 50\s+in d,\(bc\)
+\s+394:\s+ed 58\s+in e,\(bc\)
+\s+396:\s+ed 60\s+in h,\(bc\)
+\s+398:\s+ed 68\s+in l,\(bc\)
+\s+39a:\s+34\s+inc \(hl\)
+\s+39b:\s+dd 34 09\s+inc \(ix\+9\)
+\s+39e:\s+fd 34 09\s+inc \(iy\+9\)
+\s+3a1:\s+3c\s+inc a
+\s+3a2:\s+04\s+inc b
+\s+3a3:\s+03\s+inc bc
+\s+3a4:\s+0c\s+inc c
+\s+3a5:\s+14\s+inc d
+\s+3a6:\s+13\s+inc de
+\s+3a7:\s+1c\s+inc e
+\s+3a8:\s+24\s+inc h
+\s+3a9:\s+23\s+inc hl
+\s+3aa:\s+dd 23\s+inc ix
+\s+3ac:\s+fd 23\s+inc iy
+\s+3ae:\s+2c\s+inc l
+\s+3af:\s+33\s+inc sp
+\s+3b0:\s+ed aa\s+ind
+\s+3b2:\s+ed ba\s+indr
+\s+3b4:\s+ed a2\s+ini
+\s+3b6:\s+ed b2\s+inir
+\s+3b8:\s+e9\s+jp \(hl\)
+\s+3b9:\s+dd e9\s+jp \(ix\)
+\s+3bb:\s+fd e9\s+jp \(iy\)
+\s+3bd:\s+c3 56 34 12\s+jp 0x123456
+\s+3c1:\s+da 56 34 12\s+jp c,0x123456
+\s+3c5:\s+fa 56 34 12\s+jp m,0x123456
+\s+3c9:\s+d2 56 34 12\s+jp nc,0x123456
+\s+3cd:\s+c2 56 34 12\s+jp nz,0x123456
+\s+3d1:\s+f2 56 34 12\s+jp p,0x123456
+\s+3d5:\s+ea 56 34 12\s+jp pe,0x123456
+\s+3d9:\s+e2 56 34 12\s+jp po,0x123456
+\s+3dd:\s+ca 56 34 12\s+jp z,0x123456
+\s+3e1:\s+18 05\s+jr 0x03e8
+\s+3e3:\s+38 05\s+jr c,0x03ea
+\s+3e5:\s+30 05\s+jr nc,0x03ec
+\s+3e7:\s+20 05\s+jr nz,0x03ee
+\s+3e9:\s+28 05\s+jr z,0x03f0
+\s+3eb:\s+32 56 34 12\s+ld \(0x123456\),a
+\s+3ef:\s+ed 43 56 34 12\s+ld \(0x123456\),bc
+\s+3f4:\s+ed 53 56 34 12\s+ld \(0x123456\),de
+\s+3f9:\s+22 56 34 12\s+ld \(0x123456\),hl
+\s+3fd:\s+dd 22 56 34 12\s+ld \(0x123456\),ix
+\s+402:\s+fd 22 56 34 12\s+ld \(0x123456\),iy
+\s+407:\s+ed 73 56 34 12\s+ld \(0x123456\),sp
+\s+40c:\s+02\s+ld \(bc\),a
+\s+40d:\s+12\s+ld \(de\),a
+\s+40e:\s+36 03\s+ld \(hl\),0x03
+\s+410:\s+77\s+ld \(hl\),a
+\s+411:\s+70\s+ld \(hl\),b
+\s+412:\s+71\s+ld \(hl\),c
+\s+413:\s+72\s+ld \(hl\),d
+\s+414:\s+73\s+ld \(hl\),e
+\s+415:\s+74\s+ld \(hl\),h
+\s+416:\s+75\s+ld \(hl\),l
+\s+417:\s+dd 36 09 03\s+ld \(ix\+9\),0x03
+\s+41b:\s+dd 77 09\s+ld \(ix\+9\),a
+\s+41e:\s+dd 70 09\s+ld \(ix\+9\),b
+\s+421:\s+dd 71 09\s+ld \(ix\+9\),c
+\s+424:\s+dd 72 09\s+ld \(ix\+9\),d
+\s+427:\s+dd 73 09\s+ld \(ix\+9\),e
+\s+42a:\s+dd 74 09\s+ld \(ix\+9\),h
+\s+42d:\s+dd 75 09\s+ld \(ix\+9\),l
+\s+430:\s+fd 36 09 03\s+ld \(iy\+9\),0x03
+\s+434:\s+fd 77 09\s+ld \(iy\+9\),a
+\s+437:\s+fd 70 09\s+ld \(iy\+9\),b
+\s+43a:\s+fd 71 09\s+ld \(iy\+9\),c
+\s+43d:\s+fd 72 09\s+ld \(iy\+9\),d
+\s+440:\s+fd 73 09\s+ld \(iy\+9\),e
+\s+443:\s+fd 74 09\s+ld \(iy\+9\),h
+\s+446:\s+fd 75 09\s+ld \(iy\+9\),l
+\s+449:\s+3a 56 34 12\s+ld a,\(0x123456\)
+\s+44d:\s+0a\s+ld a,\(bc\)
+\s+44e:\s+1a\s+ld a,\(de\)
+\s+44f:\s+7e\s+ld a,\(hl\)
+\s+450:\s+dd 7e 09\s+ld a,\(ix\+9\)
+\s+453:\s+fd 7e 09\s+ld a,\(iy\+9\)
+\s+456:\s+3e 03\s+ld a,0x03
+\s+458:\s+7f\s+ld a,a
+\s+459:\s+78\s+ld a,b
+\s+45a:\s+79\s+ld a,c
+\s+45b:\s+7a\s+ld a,d
+\s+45c:\s+7b\s+ld a,e
+\s+45d:\s+7c\s+ld a,h
+\s+45e:\s+ed 57\s+ld a,i
+\s+460:\s+7d\s+ld a,l
+\s+461:\s+ed 5f\s+ld a,r
+\s+463:\s+46\s+ld b,\(hl\)
+\s+464:\s+dd 46 09\s+ld b,\(ix\+9\)
+\s+467:\s+fd 46 09\s+ld b,\(iy\+9\)
+\s+46a:\s+06 03\s+ld b,0x03
+\s+46c:\s+47\s+ld b,a
+\s+46d:\s+00\s+nop
+\s+46e:\s+41\s+ld b,c
+\s+46f:\s+42\s+ld b,d
+\s+470:\s+43\s+ld b,e
+\s+471:\s+44\s+ld b,h
+\s+472:\s+45\s+ld b,l
+\s+473:\s+ed 4b 56 34 12\s+ld bc,\(0x123456\)
+\s+478:\s+01 56 34 12\s+ld bc,0x123456
+\s+47c:\s+4e\s+ld c,\(hl\)
+\s+47d:\s+dd 4e 09\s+ld c,\(ix\+9\)
+\s+480:\s+fd 4e 09\s+ld c,\(iy\+9\)
+\s+483:\s+0e 03\s+ld c,0x03
+\s+485:\s+4f\s+ld c,a
+\s+486:\s+48\s+ld c,b
+\s+487:\s+00\s+nop
+\s+488:\s+4a\s+ld c,d
+\s+489:\s+4b\s+ld c,e
+\s+48a:\s+4c\s+ld c,h
+\s+48b:\s+4d\s+ld c,l
+\s+48c:\s+56\s+ld d,\(hl\)
+\s+48d:\s+dd 56 09\s+ld d,\(ix\+9\)
+\s+490:\s+fd 56 09\s+ld d,\(iy\+9\)
+\s+493:\s+16 03\s+ld d,0x03
+\s+495:\s+57\s+ld d,a
+\s+496:\s+50\s+ld d,b
+\s+497:\s+51\s+ld d,c
+\s+498:\s+00\s+nop
+\s+499:\s+53\s+ld d,e
+\s+49a:\s+54\s+ld d,h
+\s+49b:\s+55\s+ld d,l
+\s+49c:\s+ed 5b 56 34 12\s+ld de,\(0x123456\)
+\s+4a1:\s+11 56 34 12\s+ld de,0x123456
+\s+4a5:\s+5e\s+ld e,\(hl\)
+\s+4a6:\s+dd 5e 09\s+ld e,\(ix\+9\)
+\s+4a9:\s+fd 5e 09\s+ld e,\(iy\+9\)
+\s+4ac:\s+1e 03\s+ld e,0x03
+\s+4ae:\s+5f\s+ld e,a
+\s+4af:\s+58\s+ld e,b
+\s+4b0:\s+59\s+ld e,c
+\s+4b1:\s+5a\s+ld e,d
+\s+4b2:\s+00\s+nop
+\s+4b3:\s+5c\s+ld e,h
+\s+4b4:\s+5d\s+ld e,l
+\s+4b5:\s+66\s+ld h,\(hl\)
+\s+4b6:\s+dd 66 09\s+ld h,\(ix\+9\)
+\s+4b9:\s+fd 66 09\s+ld h,\(iy\+9\)
+\s+4bc:\s+26 03\s+ld h,0x03
+\s+4be:\s+67\s+ld h,a
+\s+4bf:\s+60\s+ld h,b
+\s+4c0:\s+61\s+ld h,c
+\s+4c1:\s+62\s+ld h,d
+\s+4c2:\s+63\s+ld h,e
+\s+4c3:\s+64\s+ld h,h
+\s+4c4:\s+65\s+ld h,l
+\s+4c5:\s+2a 56 34 12\s+ld hl,\(0x123456\)
+\s+4c9:\s+21 56 34 12\s+ld hl,0x123456
+\s+4cd:\s+ed 47\s+ld i,a
+\s+4cf:\s+dd 2a 56 34 12\s+ld ix,\(0x123456\)
+\s+4d4:\s+dd 21 56 34 12\s+ld ix,0x123456
+\s+4d9:\s+fd 2a 56 34 12\s+ld iy,\(0x123456\)
+\s+4de:\s+fd 21 56 34 12\s+ld iy,0x123456
+\s+4e3:\s+6e\s+ld l,\(hl\)
+\s+4e4:\s+dd 6e 09\s+ld l,\(ix\+9\)
+\s+4e7:\s+fd 6e 09\s+ld l,\(iy\+9\)
+\s+4ea:\s+2e 03\s+ld l,0x03
+\s+4ec:\s+6f\s+ld l,a
+\s+4ed:\s+68\s+ld l,b
+\s+4ee:\s+69\s+ld l,c
+\s+4ef:\s+6a\s+ld l,d
+\s+4f0:\s+6b\s+ld l,e
+\s+4f1:\s+6c\s+ld l,h
+\s+4f2:\s+6d\s+ld l,l
+\s+4f3:\s+ed 4f\s+ld r,a
+\s+4f5:\s+ed 7b 56 34 12\s+ld sp,\(0x123456\)
+\s+4fa:\s+31 56 34 12\s+ld sp,0x123456
+\s+4fe:\s+f9\s+ld sp,hl
+\s+4ff:\s+dd f9\s+ld sp,ix
+\s+501:\s+fd f9\s+ld sp,iy
+\s+503:\s+ed a8\s+ldd
+\s+505:\s+ed b8\s+lddr
+\s+507:\s+ed a0\s+ldi
+\s+509:\s+ed b0\s+ldir
+\s+50b:\s+ed 44\s+neg
+\s+50d:\s+00\s+nop
+\s+50e:\s+b6\s+or a,\(hl\)
+\s+50f:\s+dd b6 09\s+or a,\(ix\+9\)
+\s+512:\s+fd b6 09\s+or a,\(iy\+9\)
+\s+515:\s+f6 03\s+or a,0x03
+\s+517:\s+b7\s+or a,a
+\s+518:\s+b0\s+or a,b
+\s+519:\s+b1\s+or a,c
+\s+51a:\s+b2\s+or a,d
+\s+51b:\s+b3\s+or a,e
+\s+51c:\s+b4\s+or a,h
+\s+51d:\s+b5\s+or a,l
+\s+51e:\s+ed bb\s+otdr
+\s+520:\s+ed b3\s+otir
+\s+522:\s+ed 79\s+out \(bc\),a
+\s+524:\s+ed 41\s+out \(bc\),b
+\s+526:\s+ed 49\s+out \(bc\),c
+\s+528:\s+ed 51\s+out \(bc\),d
+\s+52a:\s+ed 59\s+out \(bc\),e
+\s+52c:\s+ed 61\s+out \(bc\),h
+\s+52e:\s+ed 69\s+out \(bc\),l
+\s+530:\s+d3 03\s+out \(0x03\),a
+\s+532:\s+ed ab\s+outd
+\s+534:\s+ed a3\s+outi
+\s+536:\s+f1\s+pop af
+\s+537:\s+c1\s+pop bc
+\s+538:\s+d1\s+pop de
+\s+539:\s+e1\s+pop hl
+\s+53a:\s+dd e1\s+pop ix
+\s+53c:\s+fd e1\s+pop iy
+\s+53e:\s+f5\s+push af
+\s+53f:\s+c5\s+push bc
+\s+540:\s+d5\s+push de
+\s+541:\s+e5\s+push hl
+\s+542:\s+dd e5\s+push ix
+\s+544:\s+fd e5\s+push iy
+\s+546:\s+cb 86\s+res 0,\(hl\)
+\s+548:\s+dd cb 09 86\s+res 0,\(ix\+9\)
+\s+54c:\s+fd cb 09 86\s+res 0,\(iy\+9\)
+\s+550:\s+cb 87\s+res 0,a
+\s+552:\s+cb 80\s+res 0,b
+\s+554:\s+cb 81\s+res 0,c
+\s+556:\s+cb 82\s+res 0,d
+\s+558:\s+cb 83\s+res 0,e
+\s+55a:\s+cb 84\s+res 0,h
+\s+55c:\s+cb 85\s+res 0,l
+\s+55e:\s+cb 8e\s+res 1,\(hl\)
+\s+560:\s+dd cb 09 8e\s+res 1,\(ix\+9\)
+\s+564:\s+fd cb 09 8e\s+res 1,\(iy\+9\)
+\s+568:\s+cb 8f\s+res 1,a
+\s+56a:\s+cb 88\s+res 1,b
+\s+56c:\s+cb 89\s+res 1,c
+\s+56e:\s+cb 8a\s+res 1,d
+\s+570:\s+cb 8b\s+res 1,e
+\s+572:\s+cb 8c\s+res 1,h
+\s+574:\s+cb 8d\s+res 1,l
+\s+576:\s+cb 96\s+res 2,\(hl\)
+\s+578:\s+dd cb 09 96\s+res 2,\(ix\+9\)
+\s+57c:\s+fd cb 09 96\s+res 2,\(iy\+9\)
+\s+580:\s+cb 97\s+res 2,a
+\s+582:\s+cb 90\s+res 2,b
+\s+584:\s+cb 91\s+res 2,c
+\s+586:\s+cb 92\s+res 2,d
+\s+588:\s+cb 93\s+res 2,e
+\s+58a:\s+cb 94\s+res 2,h
+\s+58c:\s+cb 95\s+res 2,l
+\s+58e:\s+cb 9e\s+res 3,\(hl\)
+\s+590:\s+dd cb 09 9e\s+res 3,\(ix\+9\)
+\s+594:\s+fd cb 09 9e\s+res 3,\(iy\+9\)
+\s+598:\s+cb 9f\s+res 3,a
+\s+59a:\s+cb 98\s+res 3,b
+\s+59c:\s+cb 99\s+res 3,c
+\s+59e:\s+cb 9a\s+res 3,d
+\s+5a0:\s+cb 9b\s+res 3,e
+\s+5a2:\s+cb 9c\s+res 3,h
+\s+5a4:\s+cb 9d\s+res 3,l
+\s+5a6:\s+cb a6\s+res 4,\(hl\)
+\s+5a8:\s+dd cb 09 a6\s+res 4,\(ix\+9\)
+\s+5ac:\s+fd cb 09 a6\s+res 4,\(iy\+9\)
+\s+5b0:\s+cb a7\s+res 4,a
+\s+5b2:\s+cb a0\s+res 4,b
+\s+5b4:\s+cb a1\s+res 4,c
+\s+5b6:\s+cb a2\s+res 4,d
+\s+5b8:\s+cb a3\s+res 4,e
+\s+5ba:\s+cb a4\s+res 4,h
+\s+5bc:\s+cb a5\s+res 4,l
+\s+5be:\s+cb ae\s+res 5,\(hl\)
+\s+5c0:\s+dd cb 09 ae\s+res 5,\(ix\+9\)
+\s+5c4:\s+fd cb 09 ae\s+res 5,\(iy\+9\)
+\s+5c8:\s+cb af\s+res 5,a
+\s+5ca:\s+cb a8\s+res 5,b
+\s+5cc:\s+cb a9\s+res 5,c
+\s+5ce:\s+cb aa\s+res 5,d
+\s+5d0:\s+cb ab\s+res 5,e
+\s+5d2:\s+cb ac\s+res 5,h
+\s+5d4:\s+cb ad\s+res 5,l
+\s+5d6:\s+cb b6\s+res 6,\(hl\)
+\s+5d8:\s+dd cb 09 b6\s+res 6,\(ix\+9\)
+\s+5dc:\s+fd cb 09 b6\s+res 6,\(iy\+9\)
+\s+5e0:\s+cb b7\s+res 6,a
+\s+5e2:\s+cb b0\s+res 6,b
+\s+5e4:\s+cb b1\s+res 6,c
+\s+5e6:\s+cb b2\s+res 6,d
+\s+5e8:\s+cb b3\s+res 6,e
+\s+5ea:\s+cb b4\s+res 6,h
+\s+5ec:\s+cb b5\s+res 6,l
+\s+5ee:\s+cb be\s+res 7,\(hl\)
+\s+5f0:\s+dd cb 09 be\s+res 7,\(ix\+9\)
+\s+5f4:\s+fd cb 09 be\s+res 7,\(iy\+9\)
+\s+5f8:\s+cb bf\s+res 7,a
+\s+5fa:\s+cb b8\s+res 7,b
+\s+5fc:\s+cb b9\s+res 7,c
+\s+5fe:\s+cb ba\s+res 7,d
+\s+600:\s+cb bb\s+res 7,e
+\s+602:\s+cb bc\s+res 7,h
+\s+604:\s+cb bd\s+res 7,l
+\s+606:\s+c9\s+ret
+\s+607:\s+d8\s+ret c
+\s+608:\s+f8\s+ret m
+\s+609:\s+d0\s+ret nc
+\s+60a:\s+c0\s+ret nz
+\s+60b:\s+f0\s+ret p
+\s+60c:\s+e8\s+ret pe
+\s+60d:\s+e0\s+ret po
+\s+60e:\s+c8\s+ret z
+\s+60f:\s+ed 4d\s+reti
+\s+611:\s+ed 45\s+retn
+\s+613:\s+cb 16\s+rl \(hl\)
+\s+615:\s+dd cb 09 16\s+rl \(ix\+9\)
+\s+619:\s+fd cb 09 16\s+rl \(iy\+9\)
+\s+61d:\s+cb 17\s+rl a
+\s+61f:\s+cb 10\s+rl b
+\s+621:\s+cb 11\s+rl c
+\s+623:\s+cb 12\s+rl d
+\s+625:\s+cb 13\s+rl e
+\s+627:\s+cb 14\s+rl h
+\s+629:\s+cb 15\s+rl l
+\s+62b:\s+17\s+rla
+\s+62c:\s+cb 06\s+rlc \(hl\)
+\s+62e:\s+dd cb 09 06\s+rlc \(ix\+9\)
+\s+632:\s+fd cb 09 06\s+rlc \(iy\+9\)
+\s+636:\s+cb 07\s+rlc a
+\s+638:\s+cb 00\s+rlc b
+\s+63a:\s+cb 01\s+rlc c
+\s+63c:\s+cb 02\s+rlc d
+\s+63e:\s+cb 03\s+rlc e
+\s+640:\s+cb 04\s+rlc h
+\s+642:\s+cb 05\s+rlc l
+\s+644:\s+07\s+rlca
+\s+645:\s+ed 6f\s+rld
+\s+647:\s+cb 1e\s+rr \(hl\)
+\s+649:\s+dd cb 09 1e\s+rr \(ix\+9\)
+\s+64d:\s+fd cb 09 1e\s+rr \(iy\+9\)
+\s+651:\s+cb 1f\s+rr a
+\s+653:\s+cb 18\s+rr b
+\s+655:\s+cb 19\s+rr c
+\s+657:\s+cb 1a\s+rr d
+\s+659:\s+cb 1b\s+rr e
+\s+65b:\s+cb 1c\s+rr h
+\s+65d:\s+cb 1d\s+rr l
+\s+65f:\s+1f\s+rra
+\s+660:\s+cb 0e\s+rrc \(hl\)
+\s+662:\s+dd cb 09 0e\s+rrc \(ix\+9\)
+\s+666:\s+fd cb 09 0e\s+rrc \(iy\+9\)
+\s+66a:\s+cb 0f\s+rrc a
+\s+66c:\s+cb 08\s+rrc b
+\s+66e:\s+cb 09\s+rrc c
+\s+670:\s+cb 0a\s+rrc d
+\s+672:\s+cb 0b\s+rrc e
+\s+674:\s+cb 0c\s+rrc h
+\s+676:\s+cb 0d\s+rrc l
+\s+678:\s+0f\s+rrca
+\s+679:\s+ed 67\s+rrd
+\s+67b:\s+c7\s+rst 0x00
+\s+67c:\s+cf\s+rst 0x08
+\s+67d:\s+d7\s+rst 0x10
+\s+67e:\s+df\s+rst 0x18
+\s+67f:\s+e7\s+rst 0x20
+\s+680:\s+ef\s+rst 0x28
+\s+681:\s+f7\s+rst 0x30
+\s+682:\s+ff\s+rst 0x38
+\s+683:\s+9e\s+sbc a,\(hl\)
+\s+684:\s+dd 9e 09\s+sbc a,\(ix\+9\)
+\s+687:\s+fd 9e 09\s+sbc a,\(iy\+9\)
+\s+68a:\s+de 03\s+sbc a,0x03
+\s+68c:\s+9f\s+sbc a,a
+\s+68d:\s+98\s+sbc a,b
+\s+68e:\s+99\s+sbc a,c
+\s+68f:\s+9a\s+sbc a,d
+\s+690:\s+9b\s+sbc a,e
+\s+691:\s+9c\s+sbc a,h
+\s+692:\s+9d\s+sbc a,l
+\s+693:\s+ed 42\s+sbc hl,bc
+\s+695:\s+ed 52\s+sbc hl,de
+\s+697:\s+ed 62\s+sbc hl,hl
+\s+699:\s+ed 72\s+sbc hl,sp
+\s+69b:\s+37\s+scf
+\s+69c:\s+cb c6\s+set 0,\(hl\)
+\s+69e:\s+dd cb 09 c6\s+set 0,\(ix\+9\)
+\s+6a2:\s+fd cb 09 c6\s+set 0,\(iy\+9\)
+\s+6a6:\s+cb c7\s+set 0,a
+\s+6a8:\s+cb c0\s+set 0,b
+\s+6aa:\s+cb c1\s+set 0,c
+\s+6ac:\s+cb c2\s+set 0,d
+\s+6ae:\s+cb c3\s+set 0,e
+\s+6b0:\s+cb c4\s+set 0,h
+\s+6b2:\s+cb c5\s+set 0,l
+\s+6b4:\s+cb ce\s+set 1,\(hl\)
+\s+6b6:\s+dd cb 09 ce\s+set 1,\(ix\+9\)
+\s+6ba:\s+fd cb 09 ce\s+set 1,\(iy\+9\)
+\s+6be:\s+cb cf\s+set 1,a
+\s+6c0:\s+cb c8\s+set 1,b
+\s+6c2:\s+cb c9\s+set 1,c
+\s+6c4:\s+cb ca\s+set 1,d
+\s+6c6:\s+cb cb\s+set 1,e
+\s+6c8:\s+cb cc\s+set 1,h
+\s+6ca:\s+cb cd\s+set 1,l
+\s+6cc:\s+cb d6\s+set 2,\(hl\)
+\s+6ce:\s+dd cb 09 d6\s+set 2,\(ix\+9\)
+\s+6d2:\s+fd cb 09 d6\s+set 2,\(iy\+9\)
+\s+6d6:\s+cb d7\s+set 2,a
+\s+6d8:\s+cb d0\s+set 2,b
+\s+6da:\s+cb d1\s+set 2,c
+\s+6dc:\s+cb d2\s+set 2,d
+\s+6de:\s+cb d3\s+set 2,e
+\s+6e0:\s+cb d4\s+set 2,h
+\s+6e2:\s+cb d5\s+set 2,l
+\s+6e4:\s+cb de\s+set 3,\(hl\)
+\s+6e6:\s+dd cb 09 de\s+set 3,\(ix\+9\)
+\s+6ea:\s+fd cb 09 de\s+set 3,\(iy\+9\)
+\s+6ee:\s+cb df\s+set 3,a
+\s+6f0:\s+cb d8\s+set 3,b
+\s+6f2:\s+cb d9\s+set 3,c
+\s+6f4:\s+cb da\s+set 3,d
+\s+6f6:\s+cb db\s+set 3,e
+\s+6f8:\s+cb dc\s+set 3,h
+\s+6fa:\s+cb dd\s+set 3,l
+\s+6fc:\s+cb e6\s+set 4,\(hl\)
+\s+6fe:\s+dd cb 09 e6\s+set 4,\(ix\+9\)
+\s+702:\s+fd cb 09 e6\s+set 4,\(iy\+9\)
+\s+706:\s+cb e7\s+set 4,a
+\s+708:\s+cb e0\s+set 4,b
+\s+70a:\s+cb e1\s+set 4,c
+\s+70c:\s+cb e2\s+set 4,d
+\s+70e:\s+cb e3\s+set 4,e
+\s+710:\s+cb e4\s+set 4,h
+\s+712:\s+cb e5\s+set 4,l
+\s+714:\s+cb ee\s+set 5,\(hl\)
+\s+716:\s+dd cb 09 ee\s+set 5,\(ix\+9\)
+\s+71a:\s+fd cb 09 ee\s+set 5,\(iy\+9\)
+\s+71e:\s+cb ef\s+set 5,a
+\s+720:\s+cb e8\s+set 5,b
+\s+722:\s+cb e9\s+set 5,c
+\s+724:\s+cb ea\s+set 5,d
+\s+726:\s+cb eb\s+set 5,e
+\s+728:\s+cb ec\s+set 5,h
+\s+72a:\s+cb ed\s+set 5,l
+\s+72c:\s+cb f6\s+set 6,\(hl\)
+\s+72e:\s+dd cb 09 f6\s+set 6,\(ix\+9\)
+\s+732:\s+fd cb 09 f6\s+set 6,\(iy\+9\)
+\s+736:\s+cb f7\s+set 6,a
+\s+738:\s+cb f0\s+set 6,b
+\s+73a:\s+cb f1\s+set 6,c
+\s+73c:\s+cb f2\s+set 6,d
+\s+73e:\s+cb f3\s+set 6,e
+\s+740:\s+cb f4\s+set 6,h
+\s+742:\s+cb f5\s+set 6,l
+\s+744:\s+cb fe\s+set 7,\(hl\)
+\s+746:\s+dd cb 09 fe\s+set 7,\(ix\+9\)
+\s+74a:\s+fd cb 09 fe\s+set 7,\(iy\+9\)
+\s+74e:\s+cb ff\s+set 7,a
+\s+750:\s+cb f8\s+set 7,b
+\s+752:\s+cb f9\s+set 7,c
+\s+754:\s+cb fa\s+set 7,d
+\s+756:\s+cb fb\s+set 7,e
+\s+758:\s+cb fc\s+set 7,h
+\s+75a:\s+cb fd\s+set 7,l
+\s+75c:\s+cb 26\s+sla \(hl\)
+\s+75e:\s+dd cb 09 26\s+sla \(ix\+9\)
+\s+762:\s+fd cb 09 26\s+sla \(iy\+9\)
+\s+766:\s+cb 27\s+sla a
+\s+768:\s+cb 20\s+sla b
+\s+76a:\s+cb 21\s+sla c
+\s+76c:\s+cb 22\s+sla d
+\s+76e:\s+cb 23\s+sla e
+\s+770:\s+cb 24\s+sla h
+\s+772:\s+cb 25\s+sla l
+\s+774:\s+cb 2e\s+sra \(hl\)
+\s+776:\s+dd cb 09 2e\s+sra \(ix\+9\)
+\s+77a:\s+fd cb 09 2e\s+sra \(iy\+9\)
+\s+77e:\s+cb 2f\s+sra a
+\s+780:\s+cb 28\s+sra b
+\s+782:\s+cb 29\s+sra c
+\s+784:\s+cb 2a\s+sra d
+\s+786:\s+cb 2b\s+sra e
+\s+788:\s+cb 2c\s+sra h
+\s+78a:\s+cb 2d\s+sra l
+\s+78c:\s+cb 3e\s+srl \(hl\)
+\s+78e:\s+dd cb 09 3e\s+srl \(ix\+9\)
+\s+792:\s+fd cb 09 3e\s+srl \(iy\+9\)
+\s+796:\s+cb 3f\s+srl a
+\s+798:\s+cb 38\s+srl b
+\s+79a:\s+cb 39\s+srl c
+\s+79c:\s+cb 3a\s+srl d
+\s+79e:\s+cb 3b\s+srl e
+\s+7a0:\s+cb 3c\s+srl h
+\s+7a2:\s+cb 3d\s+srl l
+\s+7a4:\s+96\s+sub a,\(hl\)
+\s+7a5:\s+dd 96 09\s+sub a,\(ix\+9\)
+\s+7a8:\s+fd 96 09\s+sub a,\(iy\+9\)
+\s+7ab:\s+d6 03\s+sub a,0x03
+\s+7ad:\s+97\s+sub a,a
+\s+7ae:\s+90\s+sub a,b
+\s+7af:\s+91\s+sub a,c
+\s+7b0:\s+92\s+sub a,d
+\s+7b1:\s+93\s+sub a,e
+\s+7b2:\s+94\s+sub a,h
+\s+7b3:\s+95\s+sub a,l
+\s+7b4:\s+ae\s+xor a,\(hl\)
+\s+7b5:\s+dd ae 09\s+xor a,\(ix\+9\)
+\s+7b8:\s+fd ae 09\s+xor a,\(iy\+9\)
+\s+7bb:\s+ee 03\s+xor a,0x03
+\s+7bd:\s+af\s+xor a,a
+\s+7be:\s+a8\s+xor a,b
+\s+7bf:\s+a9\s+xor a,c
+\s+7c0:\s+aa\s+xor a,d
+\s+7c1:\s+ab\s+xor a,e
+\s+7c2:\s+ac\s+xor a,h
+\s+7c3:\s+ad\s+xor a,l
diff --git a/gas/testsuite/gas/z80/ez80_adl_all.s b/gas/testsuite/gas/z80/ez80_adl_all.s
new file mode 100644 (file)
index 0000000..2a895b1
--- /dev/null
@@ -0,0 +1,1000 @@
+       .text
+       .org 0
+       ;; eZ80 instructions
+
+; AND A,x group
+       and     a,a
+       and     a,b
+       and     a,c
+       and     a,d
+       and     a,e
+       and     a,h
+       and     a,l
+       and     a,(hl)
+       and     a,0xaa
+       and     a,(ix+5)
+       and     a,(iy-5)
+; CP A,x group
+       cp      a,a
+       cp      a,b
+       cp      a,c
+       cp      a,d
+       cp      a,e
+       cp      a,h
+       cp      a,l
+       cp      a,(hl)
+       cp      a,0xaa
+       cp      a,(ix+5)
+       cp      a,(iy-5)
+
+; OR A,x group
+       or      a,a
+       or      a,b
+       or      a,c
+       or      a,d
+       or      a,e
+       or      a,h
+       or      a,l
+       or      a,(hl)
+       or      a,0xaa
+       or      a,(ix+5)
+       or      a,(iy-5)
+
+; SUB A,x group
+       sub     a,a
+       sub     a,b
+       sub     a,c
+       sub     a,d
+       sub     a,e
+       sub     a,h
+       sub     a,l
+       sub     a,(hl)
+       sub     a,0xaa
+       sub     a,(ix+5)
+       sub     a,(iy-5)
+
+; TST A,x group
+       tst     a,a
+       tst     a,b
+       tst     a,c
+       tst     a,d
+       tst     a,e
+       tst     a,h
+       tst     a,l
+       tst     a,(hl)
+       tst     a,0x0f
+
+; XOR A,x group
+       xor     a,a
+       xor     a,b
+       xor     a,c
+       xor     a,d
+       xor     a,e
+       xor     a,h
+       xor     a,l
+       xor     a,(hl)
+       xor     a,0xaa
+       xor     a,(ix+5)
+       xor     a,(iy-5)
+
+; IN r,(BC) group (new naming)
+       in a,(bc)
+       in b,(bc)
+       in c,(bc)
+       in d,(bc)
+       in e,(bc)
+       in h,(bc)
+       in l,(bc)
+
+; OUT (BC),r group (new naming)
+       out (bc),a
+       out (bc),b
+       out (bc),c
+       out (bc),d
+       out (bc),e
+       out (bc),h
+       out (bc),l
+
+; LD rr,(ii+d) group
+       ld      bc,(ix-7)
+       ld      de,(ix-7)
+       ld      hl,(ix-7)
+       ld      ix,(ix-7)
+       ld      iy,(ix-7)
+
+       ld      bc,(iy+38)
+       ld      de,(iy+38)
+       ld      hl,(iy+38)
+       ld      ix,(iy+38)
+       ld      iy,(iy+38)
+
+; LD (ii+d),rr group
+       ld      (ix+126),bc
+       ld      (ix+126),de
+       ld      (ix+126),hl
+       ld      (ix+126),ix
+       ld      (ix+126),iy
+       ld      (iy-98),bc
+       ld      (iy-98),de
+       ld      (iy-98),hl
+       ld      (iy-98),ix
+       ld      (iy-98),iy
+
+; LEA rr,ii+d group
+       lea     bc,ix-27
+       lea     de,ix-27
+       lea     hl,ix-27
+       lea     ix,ix-27
+       lea     iy,ix-27
+       lea     bc,iy+12
+       lea     de,iy+12
+       lea     hl,iy+12
+       lea     ix,iy+12
+       lea     iy,iy+12
+
+; PEA ii+d group
+       pea     ix+127
+       pea     iy-128
+
+; IN0 group
+       in0 a,(0x5)
+       in0 b,(0x5)
+       in0 c,(0x5)
+       in0 d,(0x5)
+       in0 e,(0x5)
+       in0 h,(0x5)
+       in0 l,(0x5)
+
+; OUT0 group
+       out0 (0x5),a
+       out0 (0x5),b
+       out0 (0x5),c
+       out0 (0x5),d
+       out0 (0x5),e
+       out0 (0x5),h
+       out0 (0x5),l
+
+; MLT group
+       mlt bc
+       mlt de
+       mlt hl
+       mlt sp
+
+; TSTIO instruction
+       tstio 0f0h
+
+; SLP instruction
+       slp
+
+; ADLMIX flag manipulation instructions
+       stmix
+       rsmix
+
+; Additional block I/O instructions
+       inim
+       otim
+       ini2
+       indm
+       otdm
+       ind2
+       inimr
+       otimr
+       ini2r
+       indmr
+       otdmr
+       ind2r
+       outi2
+       outd2
+       oti2r
+       otd2r
+       inirx
+       otirx
+       indrx
+       otdrx
+
+; Index registers halves
+       ld a,ixh
+       ld b,ixh
+       ld c,ixh
+       ld d,ixh
+       ld e,ixh
+       ld ixh,ixh
+       ld ixl,ixh
+       ld a,ixl
+       ld b,ixl
+       ld c,ixl
+       ld d,ixl
+       ld e,ixl
+       ld ixh,ixl
+       ld ixl,ixl
+       ld a,iyh
+       ld b,iyh
+       ld c,iyh
+       ld d,iyh
+       ld e,iyh
+       ld iyh,iyh
+       ld iyl,iyh
+       ld a,iyl
+       ld b,iyl
+       ld c,iyl
+       ld d,iyl
+       ld e,iyl
+       ld iyh,iyl
+       ld iyl,iyl
+       ld ixh,a
+       ld ixh,b
+       ld ixh,c
+       ld ixh,d
+       ld ixh,e
+       ld ixh,ixh
+       ld ixh,ixl
+       ld ixh,25
+       ld ixl,a
+       ld ixl,b
+       ld ixl,c
+       ld ixl,d
+       ld ixl,e
+       ld ixl,ixh
+       ld ixl,ixl
+       ld ixl,25
+       ld iyh,a
+       ld iyh,b
+       ld iyh,c
+       ld iyh,d
+       ld iyh,e
+       ld iyh,iyh
+       ld iyh,iyl
+       ld iyh,25
+       ld iyl,a
+       ld iyl,b
+       ld iyl,c
+       ld iyl,d
+       ld iyl,e
+       ld iyl,iyh
+       ld iyl,iyl
+       ld iyl,25
+       add a,ixh
+       add a,ixl
+       add a,iyh
+       add a,iyl
+       adc a,ixh
+       adc a,ixl
+       adc a,iyh
+       adc a,iyl
+       cp a,ixh
+       cp a,ixl
+       cp a,iyh
+       cp a,iyl
+       dec ixh
+       dec ixl
+       dec iyh
+       dec iyl
+       inc ixh
+       inc ixl
+       inc iyh
+       inc iyl
+       sbc a,ixh
+       sbc a,ixl
+       sbc a,iyh
+       sbc a,iyl
+       sub a,ixh
+       sub a,ixl
+       sub a,iyh
+       sub a,iyl
+       and a,ixh
+       and a,ixl
+       and a,iyh
+       and a,iyl
+       or a,ixh
+       or a,ixl
+       or a,iyh
+       or a,iyl
+       xor a,ixh
+       xor a,ixl
+       xor a,iyh
+       xor a,iyl
+
+; Special ADL mode only instructions
+       ld i,hl
+       ld hl,i
+       ld mb,a
+       ld a,mb
+
+; Standard Z80 instructions
+
+       adc a,(hl)
+       adc a,(ix+9)
+       adc a,(iy+9)
+       adc a,3
+       adc a,a
+       adc a,b
+       adc a,c
+       adc a,d
+       adc a,e
+       adc a,h
+       adc a,l
+       adc hl,bc
+       adc hl,de
+       adc hl,hl
+       adc hl,sp
+       add a,(hl)
+       add a,(ix+9)
+       add a,(iy+9)
+       add a,3
+       add a,a
+       add a,b
+       add a,c
+       add a,d
+       add a,e
+       add a,h
+       add a,l
+       add hl,bc
+       add hl,de
+       add hl,hl
+       add hl,sp
+       add ix,bc
+       add ix,de
+       add ix,ix
+       add ix,sp
+       add iy,bc
+       add iy,de
+       add iy,iy
+       add iy,sp
+       and (hl)
+       and (ix+9)
+       and (iy+9)
+       and 3
+       and a
+       and b
+       and c
+       and d
+       and e
+       and h
+       and l
+       bit 0,(hl)
+       bit 0,(ix+9)
+       bit 0,(iy+9)
+       bit 0,a
+       bit 0,b
+       bit 0,c
+       bit 0,d
+       bit 0,e
+       bit 0,h
+       bit 0,l
+       bit 1,(hl)
+       bit 1,(ix+9)
+       bit 1,(iy+9)
+       bit 1,a
+       bit 1,b
+       bit 1,c
+       bit 1,d
+       bit 1,e
+       bit 1,h
+       bit 1,l
+       bit 2,(hl)
+       bit 2,(ix+9)
+       bit 2,(iy+9)
+       bit 2,a
+       bit 2,b
+       bit 2,c
+       bit 2,d
+       bit 2,e
+       bit 2,h
+       bit 2,l
+       bit 3,(hl)
+       bit 3,(ix+9)
+       bit 3,(iy+9)
+       bit 3,a
+       bit 3,b
+       bit 3,c
+       bit 3,d
+       bit 3,e
+       bit 3,h
+       bit 3,l
+       bit 4,(hl)
+       bit 4,(ix+9)
+       bit 4,(iy+9)
+       bit 4,a
+       bit 4,b
+       bit 4,c
+       bit 4,d
+       bit 4,e
+       bit 4,h
+       bit 4,l
+       bit 5,(hl)
+       bit 5,(ix+9)
+       bit 5,(iy+9)
+       bit 5,a
+       bit 5,b
+       bit 5,c
+       bit 5,d
+       bit 5,e
+       bit 5,h
+       bit 5,l
+       bit 6,(hl)
+       bit 6,(ix+9)
+       bit 6,(iy+9)
+       bit 6,a
+       bit 6,b
+       bit 6,c
+       bit 6,d
+       bit 6,e
+       bit 6,h
+       bit 6,l
+       bit 7,(hl)
+       bit 7,(ix+9)
+       bit 7,(iy+9)
+       bit 7,a
+       bit 7,b
+       bit 7,c
+       bit 7,d
+       bit 7,e
+       bit 7,h
+       bit 7,l
+       call 0x123456
+       call c,0x123456
+       call m,0x123456
+       call nc,0x123456
+       call nz,0x123456
+       call p,0x123456
+       call pe,0x123456
+       call po,0x123456
+       call z,0x123456
+       ccf
+       cp (hl)
+       cp (ix+9)
+       cp (iy+9)
+       cp 03
+       cp a
+       cp b
+       cp c
+       cp d
+       cp e
+       cp h
+       cp l
+       cpd
+       cpdr
+       cpi
+       cpir
+       cpl
+       daa
+       dec (hl)
+       dec (ix+9)
+       dec (iy+9)
+       dec a
+       dec b
+       dec bc
+       dec c
+       dec d
+       dec de
+       dec e
+       dec h
+       dec hl
+       dec ix
+       dec iy
+       dec l
+       dec sp
+       di
+       djnz .+7
+       ei
+       ex (sp),hl
+       ex (sp),ix
+       ex (sp),iy
+       ex af,af'
+       ex de,hl
+       exx
+       halt
+       im 0
+       im 1
+       im 2
+       in a,(c)
+       in a,(3)
+       in b,(c)
+       in c,(c)
+       in d,(c)
+       in e,(c)
+       in h,(c)
+       in l,(c)
+       inc (hl)
+       inc (ix+9)
+       inc (iy+9)
+       inc a
+       inc b
+       inc bc
+       inc c
+       inc d
+       inc de
+       inc e
+       inc h
+       inc hl
+       inc ix
+       inc iy
+       inc l
+       inc sp
+       ind
+       indr
+       ini
+       inir
+       jp (hl)
+       jp (ix)
+       jp (iy)
+       jp 0x123456
+       jp c,0x123456
+       jp m,0x123456
+       jp nc,0x123456
+       jp nz,0x123456
+       jp p,0x123456
+       jp pe,0x123456
+       jp po,0x123456
+       jp z,0x123456
+       jr .+7
+       jr c,.+7
+       jr nc,.+7
+       jr nz,.+7
+       jr z,.+7
+       ld (0x123456),a
+       ld (0x123456),bc
+       ld (0x123456),de
+       ld (0x123456),hl
+       ld (0x123456),ix
+       ld (0x123456),iy
+       ld (0x123456),sp
+       ld (bc),a
+       ld (de),a
+       ld (hl),3
+       ld (hl),a
+       ld (hl),b
+       ld (hl),c
+       ld (hl),d
+       ld (hl),e
+       ld (hl),h
+       ld (hl),l
+       ld (ix+9),3
+       ld (ix+9),a
+       ld (ix+9),b
+       ld (ix+9),c
+       ld (ix+9),d
+       ld (ix+9),e
+       ld (ix+9),h
+       ld (ix+9),l
+       ld (iy+9),3
+       ld (iy+9),a
+       ld (iy+9),b
+       ld (iy+9),c
+       ld (iy+9),d
+       ld (iy+9),e
+       ld (iy+9),h
+       ld (iy+9),l
+       ld a,(0x123456)
+       ld a,(bc)
+       ld a,(de)
+       ld a,(hl)
+       ld a,(ix+9)
+       ld a,(iy+9)
+       ld a,3
+       ld a,a
+       ld a,b
+       ld a,c
+       ld a,d
+       ld a,e
+       ld a,h
+       ld a,i
+       ld a,l
+       ld a,r
+       ld b,(hl)
+       ld b,(ix+9)
+       ld b,(iy+9)
+       ld b,3
+       ld b,a
+       nop ;ld b,b
+       ld b,c
+       ld b,d
+       ld b,e
+       ld b,h
+       ld b,l
+       ld bc,(0x123456)
+       ld bc,0x123456
+       ld c,(hl)
+       ld c,(ix+9)
+       ld c,(iy+9)
+       ld c,3
+       ld c,a
+       ld c,b
+       nop ;ld c,c
+       ld c,d
+       ld c,e
+       ld c,h
+       ld c,l
+       ld d,(hl)
+       ld d,(ix+9)
+       ld d,(iy+9)
+       ld d,3
+       ld d,a
+       ld d,b
+       ld d,c
+       nop ;ld d,d
+       ld d,e
+       ld d,h
+       ld d,l
+       ld de,(0x123456)
+       ld de,0x123456
+       ld e,(hl)
+       ld e,(ix+9)
+       ld e,(iy+9)
+       ld e,3
+       ld e,a
+       ld e,b
+       ld e,c
+       ld e,d
+       nop ;ld e,e
+       ld e,h
+       ld e,l
+       ld h,(hl)
+       ld h,(ix+9)
+       ld h,(iy+9)
+       ld h,3
+       ld h,a
+       ld h,b
+       ld h,c
+       ld h,d
+       ld h,e
+       ld h,h
+       ld h,l
+       ld hl,(0x123456)
+       ld hl,0x123456
+       ld i,a
+       ld ix,(0x123456)
+       ld ix,0x123456
+       ld iy,(0x123456)
+       ld iy,0x123456
+       ld l,(hl)
+       ld l,(ix+9)
+       ld l,(iy+9)
+       ld l,3
+       ld l,a
+       ld l,b
+       ld l,c
+       ld l,d
+       ld l,e
+       ld l,h
+       ld l,l
+       ld r,a
+       ld sp,(0x123456)
+       ld sp,0x123456
+       ld sp,hl
+       ld sp,ix
+       ld sp,iy
+       ldd
+       lddr
+       ldi
+       ldir
+       neg
+       nop
+       or (hl)
+       or (ix+9)
+       or (iy+9)
+       or 3
+       or a
+       or b
+       or c
+       or d
+       or e
+       or h
+       or l
+       otdr
+       otir
+       out (c),a
+       out (c),b
+       out (c),c
+       out (c),d
+       out (c),e
+       out (c),h
+       out (c),l
+       out (3),a
+       outd
+       outi
+       pop af
+       pop bc
+       pop de
+       pop hl
+       pop ix
+       pop iy
+       push af
+       push bc
+       push de
+       push hl
+       push ix
+       push iy
+       res 0,(hl)
+       res 0,(ix+9)
+       res 0,(iy+9)
+       res 0,a
+       res 0,b
+       res 0,c
+       res 0,d
+       res 0,e
+       res 0,h
+       res 0,l
+       res 1,(hl)
+       res 1,(ix+9)
+       res 1,(iy+9)
+       res 1,a
+       res 1,b
+       res 1,c
+       res 1,d
+       res 1,e
+       res 1,h
+       res 1,l
+       res 2,(hl)
+       res 2,(ix+9)
+       res 2,(iy+9)
+       res 2,a
+       res 2,b
+       res 2,c
+       res 2,d
+       res 2,e
+       res 2,h
+       res 2,l
+       res 3,(hl)
+       res 3,(ix+9)
+       res 3,(iy+9)
+       res 3,a
+       res 3,b
+       res 3,c
+       res 3,d
+       res 3,e
+       res 3,h
+       res 3,l
+       res 4,(hl)
+       res 4,(ix+9)
+       res 4,(iy+9)
+       res 4,a
+       res 4,b
+       res 4,c
+       res 4,d
+       res 4,e
+       res 4,h
+       res 4,l
+       res 5,(hl)
+       res 5,(ix+9)
+       res 5,(iy+9)
+       res 5,a
+       res 5,b
+       res 5,c
+       res 5,d
+       res 5,e
+       res 5,h
+       res 5,l
+       res 6,(hl)
+       res 6,(ix+9)
+       res 6,(iy+9)
+       res 6,a
+       res 6,b
+       res 6,c
+       res 6,d
+       res 6,e
+       res 6,h
+       res 6,l
+       res 7,(hl)
+       res 7,(ix+9)
+       res 7,(iy+9)
+       res 7,a
+       res 7,b
+       res 7,c
+       res 7,d
+       res 7,e
+       res 7,h
+       res 7,l
+       ret
+       ret c
+       ret m
+       ret nc
+       ret nz
+       ret p
+       ret pe
+       ret po
+       ret z
+       reti
+       retn
+       rl (hl)
+       rl (ix+9)
+       rl (iy+9)
+       rl a
+       rl b
+       rl c
+       rl d
+       rl e
+       rl h
+       rl l
+       rla
+       rlc (hl)
+       rlc (ix+9)
+       rlc (iy+9)
+       rlc a
+       rlc b
+       rlc c
+       rlc d
+       rlc e
+       rlc h
+       rlc l
+       rlca
+       rld
+       rr (hl)
+       rr (ix+9)
+       rr (iy+9)
+       rr a
+       rr b
+       rr c
+       rr d
+       rr e
+       rr h
+       rr l
+       rra
+       rrc (hl)
+       rrc (ix+9)
+       rrc (iy+9)
+       rrc a
+       rrc b
+       rrc c
+       rrc d
+       rrc e
+       rrc h
+       rrc l
+       rrca
+       rrd
+       rst 0x00
+       rst 0x08
+       rst 0x10
+       rst 0x18
+       rst 0x20
+       rst 0x28
+       rst 0x30
+       rst 0x38
+       sbc a,(hl)
+       sbc a,(ix+9)
+       sbc a,(iy+9)
+       sbc a,3
+       sbc a,a
+       sbc a,b
+       sbc a,c
+       sbc a,d
+       sbc a,e
+       sbc a,h
+       sbc a,l
+       sbc hl,bc
+       sbc hl,de
+       sbc hl,hl
+       sbc hl,sp
+       scf
+       set 0,(hl)
+       set 0,(ix+9)
+       set 0,(iy+9)
+       set 0,a
+       set 0,b
+       set 0,c
+       set 0,d
+       set 0,e
+       set 0,h
+       set 0,l
+       set 1,(hl)
+       set 1,(ix+9)
+       set 1,(iy+9)
+       set 1,a
+       set 1,b
+       set 1,c
+       set 1,d
+       set 1,e
+       set 1,h
+       set 1,l
+       set 2,(hl)
+       set 2,(ix+9)
+       set 2,(iy+9)
+       set 2,a
+       set 2,b
+       set 2,c
+       set 2,d
+       set 2,e
+       set 2,h
+       set 2,l
+       set 3,(hl)
+       set 3,(ix+9)
+       set 3,(iy+9)
+       set 3,a
+       set 3,b
+       set 3,c
+       set 3,d
+       set 3,e
+       set 3,h
+       set 3,l
+       set 4,(hl)
+       set 4,(ix+9)
+       set 4,(iy+9)
+       set 4,a
+       set 4,b
+       set 4,c
+       set 4,d
+       set 4,e
+       set 4,h
+       set 4,l
+       set 5,(hl)
+       set 5,(ix+9)
+       set 5,(iy+9)
+       set 5,a
+       set 5,b
+       set 5,c
+       set 5,d
+       set 5,e
+       set 5,h
+       set 5,l
+       set 6,(hl)
+       set 6,(ix+9)
+       set 6,(iy+9)
+       set 6,a
+       set 6,b
+       set 6,c
+       set 6,d
+       set 6,e
+       set 6,h
+       set 6,l
+       set 7,(hl)
+       set 7,(ix+9)
+       set 7,(iy+9)
+       set 7,a
+       set 7,b
+       set 7,c
+       set 7,d
+       set 7,e
+       set 7,h
+       set 7,l
+       sla (hl)
+       sla (ix+9)
+       sla (iy+9)
+       sla a
+       sla b
+       sla c
+       sla d
+       sla e
+       sla h
+       sla l
+       sra (hl)
+       sra (ix+9)
+       sra (iy+9)
+       sra a
+       sra b
+       sra c
+       sra d
+       sra e
+       sra h
+       sra l
+       srl (hl)
+       srl (ix+9)
+       srl (iy+9)
+       srl a
+       srl b
+       srl c
+       srl d
+       srl e
+       srl h
+       srl l
+       sub (hl)
+       sub (ix+9)
+       sub (iy+9)
+       sub 3
+       sub a
+       sub b
+       sub c
+       sub d
+       sub e
+       sub h
+       sub l
+       xor (hl)
+       xor (ix+9)
+       xor (iy+9)
+       xor 3
+       xor a
+       xor b
+       xor c
+       xor d
+       xor e
+       xor h
+       xor l
diff --git a/gas/testsuite/gas/z80/ez80_adl_suf.d b/gas/testsuite/gas/z80/ez80_adl_suf.d
new file mode 100644 (file)
index 0000000..e6d9d34
--- /dev/null
@@ -0,0 +1,314 @@
+#as: -ez80-adl
+#objdump: -d
+#name: eZ80 instructions with sufficies in ADL cpu mode
+#source: ez80_isuf.s
+
+.*:.*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+[0-9a-f]+:[ ]52 cd 56 34 12[        ]+call\.sil 0x123456
+\s+[0-9a-f]+:[ ]52 dc 56 34 12[        ]+call\.sil c,0x123456
+\s+[0-9a-f]+:[ ]52 fc 56 34 12[        ]+call\.sil m,0x123456
+\s+[0-9a-f]+:[ ]52 d4 56 34 12[        ]+call\.sil nc,0x123456
+\s+[0-9a-f]+:[ ]52 c4 56 34 12[        ]+call\.sil nz,0x123456
+\s+[0-9a-f]+:[ ]52 f4 56 34 12[        ]+call\.sil p,0x123456
+\s+[0-9a-f]+:[ ]52 ec 56 34 12[        ]+call\.sil pe,0x123456
+\s+[0-9a-f]+:[ ]52 e4 56 34 12[        ]+call\.sil po,0x123456
+\s+[0-9a-f]+:[ ]52 cc 56 34 12[        ]+call\.sil z,0x123456
+\s+[0-9a-f]+:[ ]52 c3 56 34 12[        ]+jp\.sil 0x123456
+\s+[0-9a-f]+:[ ]52 da 56 34 12[        ]+jp\.sil c,0x123456
+\s+[0-9a-f]+:[ ]52 fa 56 34 12[        ]+jp\.sil m,0x123456
+\s+[0-9a-f]+:[ ]52 d2 56 34 12[        ]+jp\.sil nc,0x123456
+\s+[0-9a-f]+:[ ]52 c2 56 34 12[        ]+jp\.sil nz,0x123456
+\s+[0-9a-f]+:[ ]52 f2 56 34 12[        ]+jp\.sil p,0x123456
+\s+[0-9a-f]+:[ ]52 ea 56 34 12[        ]+jp\.sil pe,0x123456
+\s+[0-9a-f]+:[ ]52 e2 56 34 12[        ]+jp\.sil po,0x123456
+\s+[0-9a-f]+:[ ]52 ca 56 34 12[        ]+jp\.sil z,0x123456
+\s+[0-9a-f]+:[ ]52 32 56 34 12[        ]+ld\.sil \(0x123456\),a
+\s+[0-9a-f]+:[ ]52 ed 43 56 34 12[     ]+ld\.sil \(0x123456\),bc
+\s+[0-9a-f]+:[ ]52 ed 53 56 34 12[     ]+ld\.sil \(0x123456\),de
+\s+[0-9a-f]+:[ ]52 22 56 34 12[        ]+ld\.sil \(0x123456\),hl
+\s+[0-9a-f]+:[ ]52 dd 22 56 34 12[     ]+ld\.sil \(0x123456\),ix
+\s+[0-9a-f]+:[ ]52 fd 22 56 34 12[     ]+ld\.sil \(0x123456\),iy
+\s+[0-9a-f]+:[ ]52 ed 73 56 34 12[     ]+ld\.sil \(0x123456\),sp
+\s+[0-9a-f]+:[ ]52 3a 56 34 12[        ]+ld\.sil a,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 ed 4b 56 34 12[     ]+ld\.sil bc,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 01 56 34 12[        ]+ld\.sil bc,0x123456
+\s+[0-9a-f]+:[ ]52 ed 5b 56 34 12[     ]+ld\.sil de,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 11 56 34 12[        ]+ld\.sil de,0x123456
+\s+[0-9a-f]+:[ ]52 2a 56 34 12[        ]+ld\.sil hl,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 21 56 34 12[        ]+ld\.sil hl,0x123456
+\s+[0-9a-f]+:[ ]52 dd 2a 56 34 12[     ]+ld\.sil ix,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 dd 21 56 34 12[     ]+ld\.sil ix,0x123456
+\s+[0-9a-f]+:[ ]52 fd 2a 56 34 12[     ]+ld\.sil iy,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 fd 21 56 34 12[     ]+ld\.sil iy,0x123456
+\s+[0-9a-f]+:[ ]52 ed 7b 56 34 12[     ]+ld\.sil sp,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 31 56 34 12[        ]+ld\.sil sp,0x123456
+\s+[0-9a-f]+:[ ]5b cd 56 34 12[        ]+call\.lil 0x123456
+\s+[0-9a-f]+:[ ]5b dc 56 34 12[        ]+call\.lil c,0x123456
+\s+[0-9a-f]+:[ ]5b fc 56 34 12[        ]+call\.lil m,0x123456
+\s+[0-9a-f]+:[ ]5b d4 56 34 12[        ]+call\.lil nc,0x123456
+\s+[0-9a-f]+:[ ]5b c4 56 34 12[        ]+call\.lil nz,0x123456
+\s+[0-9a-f]+:[ ]5b f4 56 34 12[        ]+call\.lil p,0x123456
+\s+[0-9a-f]+:[ ]5b ec 56 34 12[        ]+call\.lil pe,0x123456
+\s+[0-9a-f]+:[ ]5b e4 56 34 12[        ]+call\.lil po,0x123456
+\s+[0-9a-f]+:[ ]5b cc 56 34 12[        ]+call\.lil z,0x123456
+\s+[0-9a-f]+:[ ]5b c3 56 34 12[        ]+jp\.lil 0x123456
+\s+[0-9a-f]+:[ ]5b da 56 34 12[        ]+jp\.lil c,0x123456
+\s+[0-9a-f]+:[ ]5b fa 56 34 12[        ]+jp\.lil m,0x123456
+\s+[0-9a-f]+:[ ]5b d2 56 34 12[        ]+jp\.lil nc,0x123456
+\s+[0-9a-f]+:[ ]5b c2 56 34 12[        ]+jp\.lil nz,0x123456
+\s+[0-9a-f]+:[ ]5b f2 56 34 12[        ]+jp\.lil p,0x123456
+\s+[0-9a-f]+:[ ]5b ea 56 34 12[        ]+jp\.lil pe,0x123456
+\s+[0-9a-f]+:[ ]5b e2 56 34 12[        ]+jp\.lil po,0x123456
+\s+[0-9a-f]+:[ ]5b ca 56 34 12[        ]+jp\.lil z,0x123456
+\s+[0-9a-f]+:[ ]5b 32 56 34 12[        ]+ld\.lil \(0x123456\),a
+\s+[0-9a-f]+:[ ]5b ed 43 56 34 12[     ]+ld\.lil \(0x123456\),bc
+\s+[0-9a-f]+:[ ]5b ed 53 56 34 12[     ]+ld\.lil \(0x123456\),de
+\s+[0-9a-f]+:[ ]5b 22 56 34 12[        ]+ld\.lil \(0x123456\),hl
+\s+[0-9a-f]+:[ ]5b dd 22 56 34 12[     ]+ld\.lil \(0x123456\),ix
+\s+[0-9a-f]+:[ ]5b fd 22 56 34 12[     ]+ld\.lil \(0x123456\),iy
+\s+[0-9a-f]+:[ ]5b ed 73 56 34 12[     ]+ld\.lil \(0x123456\),sp
+\s+[0-9a-f]+:[ ]5b 3a 56 34 12[        ]+ld\.lil a,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b ed 4b 56 34 12[     ]+ld\.lil bc,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 01 56 34 12[        ]+ld\.lil bc,0x123456
+\s+[0-9a-f]+:[ ]5b ed 5b 56 34 12[     ]+ld\.lil de,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 11 56 34 12[        ]+ld\.lil de,0x123456
+\s+[0-9a-f]+:[ ]5b 2a 56 34 12[        ]+ld\.lil hl,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 21 56 34 12[        ]+ld\.lil hl,0x123456
+\s+[0-9a-f]+:[ ]5b dd 2a 56 34 12[     ]+ld\.lil ix,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b dd 21 56 34 12[     ]+ld\.lil ix,0x123456
+\s+[0-9a-f]+:[ ]5b fd 2a 56 34 12[     ]+ld\.lil iy,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b fd 21 56 34 12[     ]+ld\.lil iy,0x123456
+\s+[0-9a-f]+:[ ]5b ed 7b 56 34 12[     ]+ld\.lil sp,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 31 56 34 12[        ]+ld\.lil sp,0x123456
+\s+[0-9a-f]+:[ ]49 cd 56 34[           ]+call\.lis 0x3456
+\s+[0-9a-f]+:[ ]49 dc 56 34[           ]+call\.lis c,0x3456
+\s+[0-9a-f]+:[ ]49 fc 56 34[           ]+call\.lis m,0x3456
+\s+[0-9a-f]+:[ ]49 d4 56 34[           ]+call\.lis nc,0x3456
+\s+[0-9a-f]+:[ ]49 c4 56 34[           ]+call\.lis nz,0x3456
+\s+[0-9a-f]+:[ ]49 f4 56 34[           ]+call\.lis p,0x3456
+\s+[0-9a-f]+:[ ]49 ec 56 34[           ]+call\.lis pe,0x3456
+\s+[0-9a-f]+:[ ]49 e4 56 34[           ]+call\.lis po,0x3456
+\s+[0-9a-f]+:[ ]49 cc 56 34[           ]+call\.lis z,0x3456
+\s+[0-9a-f]+:[ ]49 c3 56 34[           ]+jp\.lis 0x3456
+\s+[0-9a-f]+:[ ]49 da 56 34[           ]+jp\.lis c,0x3456
+\s+[0-9a-f]+:[ ]49 fa 56 34[           ]+jp\.lis m,0x3456
+\s+[0-9a-f]+:[ ]49 d2 56 34[           ]+jp\.lis nc,0x3456
+\s+[0-9a-f]+:[ ]49 c2 56 34[           ]+jp\.lis nz,0x3456
+\s+[0-9a-f]+:[ ]49 f2 56 34[           ]+jp\.lis p,0x3456
+\s+[0-9a-f]+:[ ]49 ea 56 34[           ]+jp\.lis pe,0x3456
+\s+[0-9a-f]+:[ ]49 e2 56 34[           ]+jp\.lis po,0x3456
+\s+[0-9a-f]+:[ ]49 ca 56 34[           ]+jp\.lis z,0x3456
+\s+[0-9a-f]+:[ ]49 32 56 34[           ]+ld\.lis \(0x3456\),a
+\s+[0-9a-f]+:[ ]49 ed 43 56 34[        ]+ld\.lis \(0x3456\),bc
+\s+[0-9a-f]+:[ ]49 ed 53 56 34[        ]+ld\.lis \(0x3456\),de
+\s+[0-9a-f]+:[ ]49 22 56 34[           ]+ld\.lis \(0x3456\),hl
+\s+[0-9a-f]+:[ ]49 dd 22 56 34[        ]+ld\.lis \(0x3456\),ix
+\s+[0-9a-f]+:[ ]49 fd 22 56 34[        ]+ld\.lis \(0x3456\),iy
+\s+[0-9a-f]+:[ ]49 ed 73 56 34[        ]+ld\.lis \(0x3456\),sp
+\s+[0-9a-f]+:[ ]49 3a 56 34[           ]+ld\.lis a,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 ed 4b 56 34[        ]+ld\.lis bc,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 01 56 34[           ]+ld\.lis bc,0x3456
+\s+[0-9a-f]+:[ ]49 ed 5b 56 34[        ]+ld\.lis de,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 11 56 34[           ]+ld\.lis de,0x3456
+\s+[0-9a-f]+:[ ]49 2a 56 34[           ]+ld\.lis hl,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 21 56 34[           ]+ld\.lis hl,0x3456
+\s+[0-9a-f]+:[ ]49 dd 2a 56 34[        ]+ld\.lis ix,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 dd 21 56 34[        ]+ld\.lis ix,0x3456
+\s+[0-9a-f]+:[ ]49 fd 2a 56 34[        ]+ld\.lis iy,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 fd 21 56 34[        ]+ld\.lis iy,0x3456
+\s+[0-9a-f]+:[ ]49 ed 7b 56 34[        ]+ld\.lis sp,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 31 56 34[           ]+ld\.lis sp,0x3456
+\s+[0-9a-f]+:[ ]5b cd 56 34 12[        ]+call\.lil 0x123456
+\s+[0-9a-f]+:[ ]5b dc 56 34 12[        ]+call\.lil c,0x123456
+\s+[0-9a-f]+:[ ]5b fc 56 34 12[        ]+call\.lil m,0x123456
+\s+[0-9a-f]+:[ ]5b d4 56 34 12[        ]+call\.lil nc,0x123456
+\s+[0-9a-f]+:[ ]5b c4 56 34 12[        ]+call\.lil nz,0x123456
+\s+[0-9a-f]+:[ ]5b f4 56 34 12[        ]+call\.lil p,0x123456
+\s+[0-9a-f]+:[ ]5b ec 56 34 12[        ]+call\.lil pe,0x123456
+\s+[0-9a-f]+:[ ]5b e4 56 34 12[        ]+call\.lil po,0x123456
+\s+[0-9a-f]+:[ ]5b cc 56 34 12[        ]+call\.lil z,0x123456
+\s+[0-9a-f]+:[ ]5b c3 56 34 12[        ]+jp\.lil 0x123456
+\s+[0-9a-f]+:[ ]5b da 56 34 12[        ]+jp\.lil c,0x123456
+\s+[0-9a-f]+:[ ]5b fa 56 34 12[        ]+jp\.lil m,0x123456
+\s+[0-9a-f]+:[ ]5b d2 56 34 12[        ]+jp\.lil nc,0x123456
+\s+[0-9a-f]+:[ ]5b c2 56 34 12[        ]+jp\.lil nz,0x123456
+\s+[0-9a-f]+:[ ]5b f2 56 34 12[        ]+jp\.lil p,0x123456
+\s+[0-9a-f]+:[ ]5b ea 56 34 12[        ]+jp\.lil pe,0x123456
+\s+[0-9a-f]+:[ ]5b e2 56 34 12[        ]+jp\.lil po,0x123456
+\s+[0-9a-f]+:[ ]5b ca 56 34 12[        ]+jp\.lil z,0x123456
+\s+[0-9a-f]+:[ ]5b 32 56 34 12[        ]+ld\.lil \(0x123456\),a
+\s+[0-9a-f]+:[ ]5b ed 43 56 34 12[     ]+ld\.lil \(0x123456\),bc
+\s+[0-9a-f]+:[ ]5b ed 53 56 34 12[     ]+ld\.lil \(0x123456\),de
+\s+[0-9a-f]+:[ ]5b 22 56 34 12[        ]+ld\.lil \(0x123456\),hl
+\s+[0-9a-f]+:[ ]5b dd 22 56 34 12[     ]+ld\.lil \(0x123456\),ix
+\s+[0-9a-f]+:[ ]5b fd 22 56 34 12[     ]+ld\.lil \(0x123456\),iy
+\s+[0-9a-f]+:[ ]5b ed 73 56 34 12[     ]+ld\.lil \(0x123456\),sp
+\s+[0-9a-f]+:[ ]5b 3a 56 34 12[        ]+ld\.lil a,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b ed 4b 56 34 12[     ]+ld\.lil bc,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 01 56 34 12[        ]+ld\.lil bc,0x123456
+\s+[0-9a-f]+:[ ]5b ed 5b 56 34 12[     ]+ld\.lil de,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 11 56 34 12[        ]+ld\.lil de,0x123456
+\s+[0-9a-f]+:[ ]5b 2a 56 34 12[        ]+ld\.lil hl,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 21 56 34 12[        ]+ld\.lil hl,0x123456
+\s+[0-9a-f]+:[ ]5b dd 2a 56 34 12[     ]+ld\.lil ix,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b dd 21 56 34 12[     ]+ld\.lil ix,0x123456
+\s+[0-9a-f]+:[ ]5b fd 2a 56 34 12[     ]+ld\.lil iy,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b fd 21 56 34 12[     ]+ld\.lil iy,0x123456
+\s+[0-9a-f]+:[ ]5b ed 7b 56 34 12[     ]+ld\.lil sp,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 31 56 34 12[        ]+ld\.lil sp,0x123456
+\s+[0-9a-f]+:[ ]40 cd 56 34[           ]+call\.sis 0x3456
+\s+[0-9a-f]+:[ ]40 dc 56 34[           ]+call\.sis c,0x3456
+\s+[0-9a-f]+:[ ]40 fc 56 34[           ]+call\.sis m,0x3456
+\s+[0-9a-f]+:[ ]40 d4 56 34[           ]+call\.sis nc,0x3456
+\s+[0-9a-f]+:[ ]40 c4 56 34[           ]+call\.sis nz,0x3456
+\s+[0-9a-f]+:[ ]40 f4 56 34[           ]+call\.sis p,0x3456
+\s+[0-9a-f]+:[ ]40 ec 56 34[           ]+call\.sis pe,0x3456
+\s+[0-9a-f]+:[ ]40 e4 56 34[           ]+call\.sis po,0x3456
+\s+[0-9a-f]+:[ ]40 cc 56 34[           ]+call\.sis z,0x3456
+\s+[0-9a-f]+:[ ]40 c3 56 34[           ]+jp\.sis 0x3456
+\s+[0-9a-f]+:[ ]40 da 56 34[           ]+jp\.sis c,0x3456
+\s+[0-9a-f]+:[ ]40 fa 56 34[           ]+jp\.sis m,0x3456
+\s+[0-9a-f]+:[ ]40 d2 56 34[           ]+jp\.sis nc,0x3456
+\s+[0-9a-f]+:[ ]40 c2 56 34[           ]+jp\.sis nz,0x3456
+\s+[0-9a-f]+:[ ]40 f2 56 34[           ]+jp\.sis p,0x3456
+\s+[0-9a-f]+:[ ]40 ea 56 34[           ]+jp\.sis pe,0x3456
+\s+[0-9a-f]+:[ ]40 e2 56 34[           ]+jp\.sis po,0x3456
+\s+[0-9a-f]+:[ ]40 ca 56 34[           ]+jp\.sis z,0x3456
+\s+[0-9a-f]+:[ ]40 32 56 34[           ]+ld\.sis \(0x3456\),a
+\s+[0-9a-f]+:[ ]40 ed 43 56 34[        ]+ld\.sis \(0x3456\),bc
+\s+[0-9a-f]+:[ ]40 ed 53 56 34[        ]+ld\.sis \(0x3456\),de
+\s+[0-9a-f]+:[ ]40 22 56 34[           ]+ld\.sis \(0x3456\),hl
+\s+[0-9a-f]+:[ ]40 dd 22 56 34[        ]+ld\.sis \(0x3456\),ix
+\s+[0-9a-f]+:[ ]40 fd 22 56 34[        ]+ld\.sis \(0x3456\),iy
+\s+[0-9a-f]+:[ ]40 ed 73 56 34[        ]+ld\.sis \(0x3456\),sp
+\s+[0-9a-f]+:[ ]40 3a 56 34[           ]+ld\.sis a,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 ed 4b 56 34[        ]+ld\.sis bc,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 01 56 34[           ]+ld\.sis bc,0x3456
+\s+[0-9a-f]+:[ ]40 ed 5b 56 34[        ]+ld\.sis de,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 11 56 34[           ]+ld\.sis de,0x3456
+\s+[0-9a-f]+:[ ]40 2a 56 34[           ]+ld\.sis hl,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 21 56 34[           ]+ld\.sis hl,0x3456
+\s+[0-9a-f]+:[ ]40 dd 2a 56 34[        ]+ld\.sis ix,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 dd 21 56 34[        ]+ld\.sis ix,0x3456
+\s+[0-9a-f]+:[ ]40 fd 2a 56 34[        ]+ld\.sis iy,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 fd 21 56 34[        ]+ld\.sis iy,0x3456
+\s+[0-9a-f]+:[ ]40 ed 7b 56 34[        ]+ld\.sis sp,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 31 56 34[           ]+ld\.sis sp,0x3456
+\s+[0-9a-f]+:[ ]49 cd 56 34[           ]+call\.lis 0x3456
+\s+[0-9a-f]+:[ ]49 dc 56 34[           ]+call\.lis c,0x3456
+\s+[0-9a-f]+:[ ]49 fc 56 34[           ]+call\.lis m,0x3456
+\s+[0-9a-f]+:[ ]49 d4 56 34[           ]+call\.lis nc,0x3456
+\s+[0-9a-f]+:[ ]49 c4 56 34[           ]+call\.lis nz,0x3456
+\s+[0-9a-f]+:[ ]49 f4 56 34[           ]+call\.lis p,0x3456
+\s+[0-9a-f]+:[ ]49 ec 56 34[           ]+call\.lis pe,0x3456
+\s+[0-9a-f]+:[ ]49 e4 56 34[           ]+call\.lis po,0x3456
+\s+[0-9a-f]+:[ ]49 cc 56 34[           ]+call\.lis z,0x3456
+\s+[0-9a-f]+:[ ]49 c3 56 34[           ]+jp\.lis 0x3456
+\s+[0-9a-f]+:[ ]49 da 56 34[           ]+jp\.lis c,0x3456
+\s+[0-9a-f]+:[ ]49 fa 56 34[           ]+jp\.lis m,0x3456
+\s+[0-9a-f]+:[ ]49 d2 56 34[           ]+jp\.lis nc,0x3456
+\s+[0-9a-f]+:[ ]49 c2 56 34[           ]+jp\.lis nz,0x3456
+\s+[0-9a-f]+:[ ]49 f2 56 34[           ]+jp\.lis p,0x3456
+\s+[0-9a-f]+:[ ]49 ea 56 34[           ]+jp\.lis pe,0x3456
+\s+[0-9a-f]+:[ ]49 e2 56 34[           ]+jp\.lis po,0x3456
+\s+[0-9a-f]+:[ ]49 ca 56 34[           ]+jp\.lis z,0x3456
+\s+[0-9a-f]+:[ ]49 32 56 34[           ]+ld\.lis \(0x3456\),a
+\s+[0-9a-f]+:[ ]49 ed 43 56 34[        ]+ld\.lis \(0x3456\),bc
+\s+[0-9a-f]+:[ ]49 ed 53 56 34[        ]+ld\.lis \(0x3456\),de
+\s+[0-9a-f]+:[ ]49 22 56 34[           ]+ld\.lis \(0x3456\),hl
+\s+[0-9a-f]+:[ ]49 dd 22 56 34[        ]+ld\.lis \(0x3456\),ix
+\s+[0-9a-f]+:[ ]49 fd 22 56 34[        ]+ld\.lis \(0x3456\),iy
+\s+[0-9a-f]+:[ ]49 ed 73 56 34[        ]+ld\.lis \(0x3456\),sp
+\s+[0-9a-f]+:[ ]49 3a 56 34[           ]+ld\.lis a,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 ed 4b 56 34[        ]+ld\.lis bc,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 01 56 34[           ]+ld\.lis bc,0x3456
+\s+[0-9a-f]+:[ ]49 ed 5b 56 34[        ]+ld\.lis de,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 11 56 34[           ]+ld\.lis de,0x3456
+\s+[0-9a-f]+:[ ]49 2a 56 34[           ]+ld\.lis hl,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 21 56 34[           ]+ld\.lis hl,0x3456
+\s+[0-9a-f]+:[ ]49 dd 2a 56 34[        ]+ld\.lis ix,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 dd 21 56 34[        ]+ld\.lis ix,0x3456
+\s+[0-9a-f]+:[ ]49 fd 2a 56 34[        ]+ld\.lis iy,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 fd 21 56 34[        ]+ld\.lis iy,0x3456
+\s+[0-9a-f]+:[ ]49 ed 7b 56 34[        ]+ld\.lis sp,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 31 56 34[           ]+ld\.lis sp,0x3456
+\s+[0-9a-f]+:[ ]52 cd 56 34 12[        ]+call\.sil 0x123456
+\s+[0-9a-f]+:[ ]52 dc 56 34 12[        ]+call\.sil c,0x123456
+\s+[0-9a-f]+:[ ]52 fc 56 34 12[        ]+call\.sil m,0x123456
+\s+[0-9a-f]+:[ ]52 d4 56 34 12[        ]+call\.sil nc,0x123456
+\s+[0-9a-f]+:[ ]52 c4 56 34 12[        ]+call\.sil nz,0x123456
+\s+[0-9a-f]+:[ ]52 f4 56 34 12[        ]+call\.sil p,0x123456
+\s+[0-9a-f]+:[ ]52 ec 56 34 12[        ]+call\.sil pe,0x123456
+\s+[0-9a-f]+:[ ]52 e4 56 34 12[        ]+call\.sil po,0x123456
+\s+[0-9a-f]+:[ ]52 cc 56 34 12[        ]+call\.sil z,0x123456
+\s+[0-9a-f]+:[ ]52 c3 56 34 12[        ]+jp\.sil 0x123456
+\s+[0-9a-f]+:[ ]52 da 56 34 12[        ]+jp\.sil c,0x123456
+\s+[0-9a-f]+:[ ]52 fa 56 34 12[        ]+jp\.sil m,0x123456
+\s+[0-9a-f]+:[ ]52 d2 56 34 12[        ]+jp\.sil nc,0x123456
+\s+[0-9a-f]+:[ ]52 c2 56 34 12[        ]+jp\.sil nz,0x123456
+\s+[0-9a-f]+:[ ]52 f2 56 34 12[        ]+jp\.sil p,0x123456
+\s+[0-9a-f]+:[ ]52 ea 56 34 12[        ]+jp\.sil pe,0x123456
+\s+[0-9a-f]+:[ ]52 e2 56 34 12[        ]+jp\.sil po,0x123456
+\s+[0-9a-f]+:[ ]52 ca 56 34 12[        ]+jp\.sil z,0x123456
+\s+[0-9a-f]+:[ ]52 32 56 34 12[        ]+ld\.sil \(0x123456\),a
+\s+[0-9a-f]+:[ ]52 ed 43 56 34 12[     ]+ld\.sil \(0x123456\),bc
+\s+[0-9a-f]+:[ ]52 ed 53 56 34 12[     ]+ld\.sil \(0x123456\),de
+\s+[0-9a-f]+:[ ]52 22 56 34 12[        ]+ld\.sil \(0x123456\),hl
+\s+[0-9a-f]+:[ ]52 dd 22 56 34 12[     ]+ld\.sil \(0x123456\),ix
+\s+[0-9a-f]+:[ ]52 fd 22 56 34 12[     ]+ld\.sil \(0x123456\),iy
+\s+[0-9a-f]+:[ ]52 ed 73 56 34 12[     ]+ld\.sil \(0x123456\),sp
+\s+[0-9a-f]+:[ ]52 3a 56 34 12[        ]+ld\.sil a,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 ed 4b 56 34 12[     ]+ld\.sil bc,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 01 56 34 12[        ]+ld\.sil bc,0x123456
+\s+[0-9a-f]+:[ ]52 ed 5b 56 34 12[     ]+ld\.sil de,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 11 56 34 12[        ]+ld\.sil de,0x123456
+\s+[0-9a-f]+:[ ]52 2a 56 34 12[        ]+ld\.sil hl,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 21 56 34 12[        ]+ld\.sil hl,0x123456
+\s+[0-9a-f]+:[ ]52 dd 2a 56 34 12[     ]+ld\.sil ix,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 dd 21 56 34 12[     ]+ld\.sil ix,0x123456
+\s+[0-9a-f]+:[ ]52 fd 2a 56 34 12[     ]+ld\.sil iy,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 fd 21 56 34 12[     ]+ld\.sil iy,0x123456
+\s+[0-9a-f]+:[ ]52 ed 7b 56 34 12[     ]+ld\.sil sp,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 31 56 34 12[        ]+ld\.sil sp,0x123456
+\s+[0-9a-f]+:[ ]5b cd 56 34 12[        ]+call\.lil 0x123456
+\s+[0-9a-f]+:[ ]5b dc 56 34 12[        ]+call\.lil c,0x123456
+\s+[0-9a-f]+:[ ]5b fc 56 34 12[        ]+call\.lil m,0x123456
+\s+[0-9a-f]+:[ ]5b d4 56 34 12[        ]+call\.lil nc,0x123456
+\s+[0-9a-f]+:[ ]5b c4 56 34 12[        ]+call\.lil nz,0x123456
+\s+[0-9a-f]+:[ ]5b f4 56 34 12[        ]+call\.lil p,0x123456
+\s+[0-9a-f]+:[ ]5b ec 56 34 12[        ]+call\.lil pe,0x123456
+\s+[0-9a-f]+:[ ]5b e4 56 34 12[        ]+call\.lil po,0x123456
+\s+[0-9a-f]+:[ ]5b cc 56 34 12[        ]+call\.lil z,0x123456
+\s+[0-9a-f]+:[ ]5b c3 56 34 12[        ]+jp\.lil 0x123456
+\s+[0-9a-f]+:[ ]5b da 56 34 12[        ]+jp\.lil c,0x123456
+\s+[0-9a-f]+:[ ]5b fa 56 34 12[        ]+jp\.lil m,0x123456
+\s+[0-9a-f]+:[ ]5b d2 56 34 12[        ]+jp\.lil nc,0x123456
+\s+[0-9a-f]+:[ ]5b c2 56 34 12[        ]+jp\.lil nz,0x123456
+\s+[0-9a-f]+:[ ]5b f2 56 34 12[        ]+jp\.lil p,0x123456
+\s+[0-9a-f]+:[ ]5b ea 56 34 12[        ]+jp\.lil pe,0x123456
+\s+[0-9a-f]+:[ ]5b e2 56 34 12[        ]+jp\.lil po,0x123456
+\s+[0-9a-f]+:[ ]5b ca 56 34 12[        ]+jp\.lil z,0x123456
+\s+[0-9a-f]+:[ ]5b 32 56 34 12[        ]+ld\.lil \(0x123456\),a
+\s+[0-9a-f]+:[ ]5b ed 43 56 34 12[     ]+ld\.lil \(0x123456\),bc
+\s+[0-9a-f]+:[ ]5b ed 53 56 34 12[     ]+ld\.lil \(0x123456\),de
+\s+[0-9a-f]+:[ ]5b 22 56 34 12[        ]+ld\.lil \(0x123456\),hl
+\s+[0-9a-f]+:[ ]5b dd 22 56 34 12[     ]+ld\.lil \(0x123456\),ix
+\s+[0-9a-f]+:[ ]5b fd 22 56 34 12[     ]+ld\.lil \(0x123456\),iy
+\s+[0-9a-f]+:[ ]5b ed 73 56 34 12[     ]+ld\.lil \(0x123456\),sp
+\s+[0-9a-f]+:[ ]5b 3a 56 34 12[        ]+ld\.lil a,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b ed 4b 56 34 12[     ]+ld\.lil bc,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 01 56 34 12[        ]+ld\.lil bc,0x123456
+\s+[0-9a-f]+:[ ]5b ed 5b 56 34 12[     ]+ld\.lil de,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 11 56 34 12[        ]+ld\.lil de,0x123456
+\s+[0-9a-f]+:[ ]5b 2a 56 34 12[        ]+ld\.lil hl,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 21 56 34 12[        ]+ld\.lil hl,0x123456
+\s+[0-9a-f]+:[ ]5b dd 2a 56 34 12[     ]+ld\.lil ix,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b dd 21 56 34 12[     ]+ld\.lil ix,0x123456
+\s+[0-9a-f]+:[ ]5b fd 2a 56 34 12[     ]+ld\.lil iy,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b fd 21 56 34 12[     ]+ld\.lil iy,0x123456
+\s+[0-9a-f]+:[ ]5b ed 7b 56 34 12[     ]+ld\.lil sp,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 31 56 34 12[        ]+ld\.lil sp,0x123456
diff --git a/gas/testsuite/gas/z80/ez80_isuf.s b/gas/testsuite/gas/z80/ez80_isuf.s
new file mode 100644 (file)
index 0000000..8b20852
--- /dev/null
@@ -0,0 +1,318 @@
+       call.s 0x123456
+       call.s c,0x123456
+       call.s m,0x123456
+       call.s nc,0x123456
+       call.s nz,0x123456
+       call.s p,0x123456
+       call.s pe,0x123456
+       call.s po,0x123456
+       call.s z,0x123456
+       jp.s 0x123456
+       jp.s c,0x123456
+       jp.s m,0x123456
+       jp.s nc,0x123456
+       jp.s nz,0x123456
+       jp.s p,0x123456
+       jp.s pe,0x123456
+       jp.s po,0x123456
+       jp.s z,0x123456
+       ld.s (0x123456),a
+       ld.s (0x123456),bc
+       ld.s (0x123456),de
+       ld.s (0x123456),hl
+       ld.s (0x123456),ix
+       ld.s (0x123456),iy
+       ld.s (0x123456),sp
+       ld.s a,(0x123456)
+       ld.s bc,(0x123456)
+       ld.s bc,0x123456
+       ld.s de,(0x123456)
+       ld.s de,0x123456
+       ld.s hl,(0x123456)
+       ld.s hl,0x123456
+       ld.s ix,(0x123456)
+       ld.s ix,0x123456
+       ld.s iy,(0x123456)
+       ld.s iy,0x123456
+       ld.s sp,(0x123456)
+       ld.s sp,0x123456
+
+       .page
+       call.l 0x123456
+       call.l c,0x123456
+       call.l m,0x123456
+       call.l nc,0x123456
+       call.l nz,0x123456
+       call.l p,0x123456
+       call.l pe,0x123456
+       call.l po,0x123456
+       call.l z,0x123456
+       jp.l 0x123456
+       jp.l c,0x123456
+       jp.l m,0x123456
+       jp.l nc,0x123456
+       jp.l nz,0x123456
+       jp.l p,0x123456
+       jp.l pe,0x123456
+       jp.l po,0x123456
+       jp.l z,0x123456
+       ld.l (0x123456),a
+       ld.l (0x123456),bc
+       ld.l (0x123456),de
+       ld.l (0x123456),hl
+       ld.l (0x123456),ix
+       ld.l (0x123456),iy
+       ld.l (0x123456),sp
+       ld.l a,(0x123456)
+       ld.l bc,(0x123456)
+       ld.l bc,0x123456
+       ld.l de,(0x123456)
+       ld.l de,0x123456
+       ld.l hl,(0x123456)
+       ld.l hl,0x123456
+       ld.l ix,(0x123456)
+       ld.l ix,0x123456
+       ld.l iy,(0x123456)
+       ld.l iy,0x123456
+       ld.l sp,(0x123456)
+       ld.l sp,0x123456
+
+       .page
+       call.is 0x123456
+       call.is c,0x123456
+       call.is m,0x123456
+       call.is nc,0x123456
+       call.is nz,0x123456
+       call.is p,0x123456
+       call.is pe,0x123456
+       call.is po,0x123456
+       call.is z,0x123456
+       jp.is 0x123456
+       jp.is c,0x123456
+       jp.is m,0x123456
+       jp.is nc,0x123456
+       jp.is nz,0x123456
+       jp.is p,0x123456
+       jp.is pe,0x123456
+       jp.is po,0x123456
+       jp.is z,0x123456
+       ld.is (0x123456),a
+       ld.is (0x123456),bc
+       ld.is (0x123456),de
+       ld.is (0x123456),hl
+       ld.is (0x123456),ix
+       ld.is (0x123456),iy
+       ld.is (0x123456),sp
+       ld.is a,(0x123456)
+       ld.is bc,(0x123456)
+       ld.is bc,0x123456
+       ld.is de,(0x123456)
+       ld.is de,0x123456
+       ld.is hl,(0x123456)
+       ld.is hl,0x123456
+       ld.is ix,(0x123456)
+       ld.is ix,0x123456
+       ld.is iy,(0x123456)
+       ld.is iy,0x123456
+       ld.is sp,(0x123456)
+       ld.is sp,0x123456
+
+       .page
+       call.il 0x123456
+       call.il c,0x123456
+       call.il m,0x123456
+       call.il nc,0x123456
+       call.il nz,0x123456
+       call.il p,0x123456
+       call.il pe,0x123456
+       call.il po,0x123456
+       call.il z,0x123456
+       jp.il 0x123456
+       jp.il c,0x123456
+       jp.il m,0x123456
+       jp.il nc,0x123456
+       jp.il nz,0x123456
+       jp.il p,0x123456
+       jp.il pe,0x123456
+       jp.il po,0x123456
+       jp.il z,0x123456
+       ld.il (0x123456),a
+       ld.il (0x123456),bc
+       ld.il (0x123456),de
+       ld.il (0x123456),hl
+       ld.il (0x123456),ix
+       ld.il (0x123456),iy
+       ld.il (0x123456),sp
+       ld.il a,(0x123456)
+       ld.il bc,(0x123456)
+       ld.il bc,0x123456
+       ld.il de,(0x123456)
+       ld.il de,0x123456
+       ld.il hl,(0x123456)
+       ld.il hl,0x123456
+       ld.il ix,(0x123456)
+       ld.il ix,0x123456
+       ld.il iy,(0x123456)
+       ld.il iy,0x123456
+       ld.il sp,(0x123456)
+       ld.il sp,0x123456
+
+       .page
+       call.sis 0x123456
+       call.sis c,0x123456
+       call.sis m,0x123456
+       call.sis nc,0x123456
+       call.sis nz,0x123456
+       call.sis p,0x123456
+       call.sis pe,0x123456
+       call.sis po,0x123456
+       call.sis z,0x123456
+       jp.sis 0x123456
+       jp.sis c,0x123456
+       jp.sis m,0x123456
+       jp.sis nc,0x123456
+       jp.sis nz,0x123456
+       jp.sis p,0x123456
+       jp.sis pe,0x123456
+       jp.sis po,0x123456
+       jp.sis z,0x123456
+       ld.sis (0x123456),a
+       ld.sis (0x123456),bc
+       ld.sis (0x123456),de
+       ld.sis (0x123456),hl
+       ld.sis (0x123456),ix
+       ld.sis (0x123456),iy
+       ld.sis (0x123456),sp
+       ld.sis a,(0x123456)
+       ld.sis bc,(0x123456)
+       ld.sis bc,0x123456
+       ld.sis de,(0x123456)
+       ld.sis de,0x123456
+       ld.sis hl,(0x123456)
+       ld.sis hl,0x123456
+       ld.sis ix,(0x123456)
+       ld.sis ix,0x123456
+       ld.sis iy,(0x123456)
+       ld.sis iy,0x123456
+       ld.sis sp,(0x123456)
+       ld.sis sp,0x123456
+
+       .page
+       call.lis 0x123456
+       call.lis c,0x123456
+       call.lis m,0x123456
+       call.lis nc,0x123456
+       call.lis nz,0x123456
+       call.lis p,0x123456
+       call.lis pe,0x123456
+       call.lis po,0x123456
+       call.lis z,0x123456
+       jp.lis 0x123456
+       jp.lis c,0x123456
+       jp.lis m,0x123456
+       jp.lis nc,0x123456
+       jp.lis nz,0x123456
+       jp.lis p,0x123456
+       jp.lis pe,0x123456
+       jp.lis po,0x123456
+       jp.lis z,0x123456
+       ld.lis (0x123456),a
+       ld.lis (0x123456),bc
+       ld.lis (0x123456),de
+       ld.lis (0x123456),hl
+       ld.lis (0x123456),ix
+       ld.lis (0x123456),iy
+       ld.lis (0x123456),sp
+       ld.lis a,(0x123456)
+       ld.lis bc,(0x123456)
+       ld.lis bc,0x123456
+       ld.lis de,(0x123456)
+       ld.lis de,0x123456
+       ld.lis hl,(0x123456)
+       ld.lis hl,0x123456
+       ld.lis ix,(0x123456)
+       ld.lis ix,0x123456
+       ld.lis iy,(0x123456)
+       ld.lis iy,0x123456
+       ld.lis sp,(0x123456)
+       ld.lis sp,0x123456
+
+       .page
+       call.sil 0x123456
+       call.sil c,0x123456
+       call.sil m,0x123456
+       call.sil nc,0x123456
+       call.sil nz,0x123456
+       call.sil p,0x123456
+       call.sil pe,0x123456
+       call.sil po,0x123456
+       call.sil z,0x123456
+       jp.sil 0x123456
+       jp.sil c,0x123456
+       jp.sil m,0x123456
+       jp.sil nc,0x123456
+       jp.sil nz,0x123456
+       jp.sil p,0x123456
+       jp.sil pe,0x123456
+       jp.sil po,0x123456
+       jp.sil z,0x123456
+       ld.sil (0x123456),a
+       ld.sil (0x123456),bc
+       ld.sil (0x123456),de
+       ld.sil (0x123456),hl
+       ld.sil (0x123456),ix
+       ld.sil (0x123456),iy
+       ld.sil (0x123456),sp
+       ld.sil a,(0x123456)
+       ld.sil bc,(0x123456)
+       ld.sil bc,0x123456
+       ld.sil de,(0x123456)
+       ld.sil de,0x123456
+       ld.sil hl,(0x123456)
+       ld.sil hl,0x123456
+       ld.sil ix,(0x123456)
+       ld.sil ix,0x123456
+       ld.sil iy,(0x123456)
+       ld.sil iy,0x123456
+       ld.sil sp,(0x123456)
+       ld.sil sp,0x123456
+
+       .page
+       call.lil 0x123456
+       call.lil c,0x123456
+       call.lil m,0x123456
+       call.lil nc,0x123456
+       call.lil nz,0x123456
+       call.lil p,0x123456
+       call.lil pe,0x123456
+       call.lil po,0x123456
+       call.lil z,0x123456
+       jp.lil 0x123456
+       jp.lil c,0x123456
+       jp.lil m,0x123456
+       jp.lil nc,0x123456
+       jp.lil nz,0x123456
+       jp.lil p,0x123456
+       jp.lil pe,0x123456
+       jp.lil po,0x123456
+       jp.lil z,0x123456
+       ld.lil (0x123456),a
+       ld.lil (0x123456),bc
+       ld.lil (0x123456),de
+       ld.lil (0x123456),hl
+       ld.lil (0x123456),ix
+       ld.lil (0x123456),iy
+       ld.lil (0x123456),sp
+       ld.lil a,(0x123456)
+       ld.lil bc,(0x123456)
+       ld.lil bc,0x123456
+       ld.lil de,(0x123456)
+       ld.lil de,0x123456
+       ld.lil hl,(0x123456)
+       ld.lil hl,0x123456
+       ld.lil ix,(0x123456)
+       ld.lil ix,0x123456
+       ld.lil iy,(0x123456)
+       ld.lil iy,0x123456
+       ld.lil sp,(0x123456)
+       ld.lil sp,0x123456
diff --git a/gas/testsuite/gas/z80/ez80_z80_all.d b/gas/testsuite/gas/z80/ez80_z80_all.d
new file mode 100644 (file)
index 0000000..0cf7f9a
--- /dev/null
@@ -0,0 +1,957 @@
+#as: -ez80
+#objdump: -d
+#name: All eZ80 instructions in Z80 cpu mode
+
+.*:.*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+0:\s+a7\s+and a,a
+\s+1:\s+a0\s+and a,b
+\s+2:\s+a1\s+and a,c
+\s+3:\s+a2\s+and a,d
+\s+4:\s+a3\s+and a,e
+\s+5:\s+a4\s+and a,h
+\s+6:\s+a5\s+and a,l
+\s+7:\s+a6\s+and a,\(hl\)
+\s+8:\s+e6 aa\s+and a,0xaa
+\s+a:\s+dd a6 05\s+and a,\(ix\+5\)
+\s+d:\s+fd a6 fb\s+and a,\(iy-5\)
+\s+10:\s+bf\s+cp a,a
+\s+11:\s+b8\s+cp a,b
+\s+12:\s+b9\s+cp a,c
+\s+13:\s+ba\s+cp a,d
+\s+14:\s+bb\s+cp a,e
+\s+15:\s+bc\s+cp a,h
+\s+16:\s+bd\s+cp a,l
+\s+17:\s+be\s+cp a,\(hl\)
+\s+18:\s+fe aa\s+cp a,0xaa
+\s+1a:\s+dd be 05\s+cp a,\(ix\+5\)
+\s+1d:\s+fd be fb\s+cp a,\(iy-5\)
+\s+20:\s+b7\s+or a,a
+\s+21:\s+b0\s+or a,b
+\s+22:\s+b1\s+or a,c
+\s+23:\s+b2\s+or a,d
+\s+24:\s+b3\s+or a,e
+\s+25:\s+b4\s+or a,h
+\s+26:\s+b5\s+or a,l
+\s+27:\s+b6\s+or a,\(hl\)
+\s+28:\s+f6 aa\s+or a,0xaa
+\s+2a:\s+dd b6 05\s+or a,\(ix\+5\)
+\s+2d:\s+fd b6 fb\s+or a,\(iy-5\)
+\s+30:\s+97\s+sub a,a
+\s+31:\s+90\s+sub a,b
+\s+32:\s+91\s+sub a,c
+\s+33:\s+92\s+sub a,d
+\s+34:\s+93\s+sub a,e
+\s+35:\s+94\s+sub a,h
+\s+36:\s+95\s+sub a,l
+\s+37:\s+96\s+sub a,\(hl\)
+\s+38:\s+d6 aa\s+sub a,0xaa
+\s+3a:\s+dd 96 05\s+sub a,\(ix\+5\)
+\s+3d:\s+fd 96 fb\s+sub a,\(iy-5\)
+\s+40:\s+ed 3c\s+tst a,a
+\s+42:\s+ed 04\s+tst a,b
+\s+44:\s+ed 0c\s+tst a,c
+\s+46:\s+ed 14\s+tst a,d
+\s+48:\s+ed 1c\s+tst a,e
+\s+4a:\s+ed 24\s+tst a,h
+\s+4c:\s+ed 2c\s+tst a,l
+\s+4e:\s+ed 34\s+tst a,\(hl\)
+\s+50:\s+ed 64 0f\s+tst a,0x0f
+\s+53:\s+af\s+xor a,a
+\s+54:\s+a8\s+xor a,b
+\s+55:\s+a9\s+xor a,c
+\s+56:\s+aa\s+xor a,d
+\s+57:\s+ab\s+xor a,e
+\s+58:\s+ac\s+xor a,h
+\s+59:\s+ad\s+xor a,l
+\s+5a:\s+ae\s+xor a,\(hl\)
+\s+5b:\s+ee aa\s+xor a,0xaa
+\s+5d:\s+dd ae 05\s+xor a,\(ix\+5\)
+\s+60:\s+fd ae fb\s+xor a,\(iy-5\)
+\s+63:\s+ed 78\s+in a,\(bc\)
+\s+65:\s+ed 40\s+in b,\(bc\)
+\s+67:\s+ed 48\s+in c,\(bc\)
+\s+69:\s+ed 50\s+in d,\(bc\)
+\s+6b:\s+ed 58\s+in e,\(bc\)
+\s+6d:\s+ed 60\s+in h,\(bc\)
+\s+6f:\s+ed 68\s+in l,\(bc\)
+\s+71:\s+ed 79\s+out \(bc\),a
+\s+73:\s+ed 41\s+out \(bc\),b
+\s+75:\s+ed 49\s+out \(bc\),c
+\s+77:\s+ed 51\s+out \(bc\),d
+\s+79:\s+ed 59\s+out \(bc\),e
+\s+7b:\s+ed 61\s+out \(bc\),h
+\s+7d:\s+ed 69\s+out \(bc\),l
+\s+7f:\s+dd 07 f9\s+ld bc,\(ix-7\)
+\s+82:\s+dd 17 f9\s+ld de,\(ix-7\)
+\s+85:\s+dd 27 f9\s+ld hl,\(ix-7\)
+\s+88:\s+dd 37 f9\s+ld ix,\(ix-7\)
+\s+8b:\s+dd 31 f9\s+ld iy,\(ix-7\)
+\s+8e:\s+fd 07 26\s+ld bc,\(iy\+38\)
+\s+91:\s+fd 17 26\s+ld de,\(iy\+38\)
+\s+94:\s+fd 27 26\s+ld hl,\(iy\+38\)
+\s+97:\s+fd 31 26\s+ld ix,\(iy\+38\)
+\s+9a:\s+fd 37 26\s+ld iy,\(iy\+38\)
+\s+9d:\s+dd 0f 7e\s+ld \(ix\+126\),bc
+\s+a0:\s+dd 1f 7e\s+ld \(ix\+126\),de
+\s+a3:\s+dd 2f 7e\s+ld \(ix\+126\),hl
+\s+a6:\s+dd 3f 7e\s+ld \(ix\+126\),ix
+\s+a9:\s+dd 3e 7e\s+ld \(ix\+126\),iy
+\s+ac:\s+fd 0f 9e\s+ld \(iy-98\),bc
+\s+af:\s+fd 1f 9e\s+ld \(iy-98\),de
+\s+b2:\s+fd 2f 9e\s+ld \(iy-98\),hl
+\s+b5:\s+fd 3e 9e\s+ld \(iy-98\),ix
+\s+b8:\s+fd 3f 9e\s+ld \(iy-98\),iy
+\s+bb:\s+ed 02 e5\s+lea bc,ix-27
+\s+be:\s+ed 12 e5\s+lea de,ix-27
+\s+c1:\s+ed 22 e5\s+lea hl,ix-27
+\s+c4:\s+ed 32 e5\s+lea ix,ix-27
+\s+c7:\s+ed 55 e5\s+lea iy,ix-27
+\s+ca:\s+ed 03 0c\s+lea bc,iy\+12
+\s+cd:\s+ed 13 0c\s+lea de,iy\+12
+\s+d0:\s+ed 23 0c\s+lea hl,iy\+12
+\s+d3:\s+ed 54 0c\s+lea ix,iy\+12
+\s+d6:\s+ed 33 0c\s+lea iy,iy\+12
+\s+d9:\s+ed 65 7f\s+pea ix\+127
+\s+dc:\s+ed 66 80\s+pea iy-128
+\s+df:\s+ed 38 05\s+in0 a,\(0x05\)
+\s+e2:\s+ed 00 05\s+in0 b,\(0x05\)
+\s+e5:\s+ed 08 05\s+in0 c,\(0x05\)
+\s+e8:\s+ed 10 05\s+in0 d,\(0x05\)
+\s+eb:\s+ed 18 05\s+in0 e,\(0x05\)
+\s+ee:\s+ed 20 05\s+in0 h,\(0x05\)
+\s+f1:\s+ed 28 05\s+in0 l,\(0x05\)
+\s+f4:\s+ed 39 05\s+out0 \(0x05\),a
+\s+f7:\s+ed 01 05\s+out0 \(0x05\),b
+\s+fa:\s+ed 09 05\s+out0 \(0x05\),c
+\s+fd:\s+ed 11 05\s+out0 \(0x05\),d
+\s+100:\s+ed 19 05\s+out0 \(0x05\),e
+\s+103:\s+ed 21 05\s+out0 \(0x05\),h
+\s+106:\s+ed 29 05\s+out0 \(0x05\),l
+\s+109:\s+ed 4c\s+mlt bc
+\s+10b:\s+ed 5c\s+mlt de
+\s+10d:\s+ed 6c\s+mlt hl
+\s+10f:\s+ed 7c\s+mlt sp
+\s+111:\s+ed 74 f0\s+tstio 0xf0
+\s+114:\s+ed 76\s+slp
+\s+116:\s+ed 7d\s+stmix
+\s+118:\s+ed 7e\s+rsmix
+\s+11a:\s+ed 82\s+inim
+\s+11c:\s+ed 83\s+otim
+\s+11e:\s+ed 84\s+ini2
+\s+120:\s+ed 8a\s+indm
+\s+122:\s+ed 8b\s+otdm
+\s+124:\s+ed 8c\s+ind2
+\s+126:\s+ed 92\s+inimr
+\s+128:\s+ed 93\s+otimr
+\s+12a:\s+ed 94\s+oti2r
+\s+12c:\s+ed 9a\s+indmr
+\s+12e:\s+ed 9b\s+otdmr
+\s+130:\s+ed 9c\s+otd2r
+\s+132:\s+ed a4\s+ini2
+\s+134:\s+ed ac\s+ind2
+\s+136:\s+ed b4\s+oti2r
+\s+138:\s+ed bc\s+otd2r
+\s+13a:\s+ed c2\s+inirx
+\s+13c:\s+ed c3\s+otirx
+\s+13e:\s+ed ca\s+indrx
+\s+140:\s+ed cb\s+otdrx
+\s+142:\s+dd 7c\s+ld a,ixh
+\s+144:\s+dd 44\s+ld b,ixh
+\s+146:\s+dd 4c\s+ld c,ixh
+\s+148:\s+dd 54\s+ld d,ixh
+\s+14a:\s+dd 5c\s+ld e,ixh
+\s+14c:\s+dd 64\s+ld ixh,ixh
+\s+14e:\s+dd 6c\s+ld ixl,ixh
+\s+150:\s+dd 7d\s+ld a,ixl
+\s+152:\s+dd 45\s+ld b,ixl
+\s+154:\s+dd 4d\s+ld c,ixl
+\s+156:\s+dd 55\s+ld d,ixl
+\s+158:\s+dd 5d\s+ld e,ixl
+\s+15a:\s+dd 65\s+ld ixh,ixl
+\s+15c:\s+dd 6d\s+ld ixl,ixl
+\s+15e:\s+fd 7c\s+ld a,iyh
+\s+160:\s+fd 44\s+ld b,iyh
+\s+162:\s+fd 4c\s+ld c,iyh
+\s+164:\s+fd 54\s+ld d,iyh
+\s+166:\s+fd 5c\s+ld e,iyh
+\s+168:\s+fd 64\s+ld iyh,iyh
+\s+16a:\s+fd 6c\s+ld iyl,iyh
+\s+16c:\s+fd 7d\s+ld a,iyl
+\s+16e:\s+fd 45\s+ld b,iyl
+\s+170:\s+fd 4d\s+ld c,iyl
+\s+172:\s+fd 55\s+ld d,iyl
+\s+174:\s+fd 5d\s+ld e,iyl
+\s+176:\s+fd 65\s+ld iyh,iyl
+\s+178:\s+fd 6d\s+ld iyl,iyl
+\s+17a:\s+dd 67\s+ld ixh,a
+\s+17c:\s+dd 60\s+ld ixh,b
+\s+17e:\s+dd 61\s+ld ixh,c
+\s+180:\s+dd 62\s+ld ixh,d
+\s+182:\s+dd 63\s+ld ixh,e
+\s+184:\s+dd 64\s+ld ixh,ixh
+\s+186:\s+dd 65\s+ld ixh,ixl
+\s+188:\s+dd 26 19\s+ld ixh,0x19
+\s+18b:\s+dd 6f\s+ld ixl,a
+\s+18d:\s+dd 68\s+ld ixl,b
+\s+18f:\s+dd 69\s+ld ixl,c
+\s+191:\s+dd 6a\s+ld ixl,d
+\s+193:\s+dd 6b\s+ld ixl,e
+\s+195:\s+dd 6c\s+ld ixl,ixh
+\s+197:\s+dd 6d\s+ld ixl,ixl
+\s+199:\s+dd 2e 19\s+ld ixl,0x19
+\s+19c:\s+fd 67\s+ld iyh,a
+\s+19e:\s+fd 60\s+ld iyh,b
+\s+1a0:\s+fd 61\s+ld iyh,c
+\s+1a2:\s+fd 62\s+ld iyh,d
+\s+1a4:\s+fd 63\s+ld iyh,e
+\s+1a6:\s+fd 64\s+ld iyh,iyh
+\s+1a8:\s+fd 65\s+ld iyh,iyl
+\s+1aa:\s+fd 26 19\s+ld iyh,0x19
+\s+1ad:\s+fd 6f\s+ld iyl,a
+\s+1af:\s+fd 68\s+ld iyl,b
+\s+1b1:\s+fd 69\s+ld iyl,c
+\s+1b3:\s+fd 6a\s+ld iyl,d
+\s+1b5:\s+fd 6b\s+ld iyl,e
+\s+1b7:\s+fd 6c\s+ld iyl,iyh
+\s+1b9:\s+fd 6d\s+ld iyl,iyl
+\s+1bb:\s+fd 2e 19\s+ld iyl,0x19
+\s+1be:\s+dd 84\s+add a,ixh
+\s+1c0:\s+dd 85\s+add a,ixl
+\s+1c2:\s+fd 84\s+add a,iyh
+\s+1c4:\s+fd 85\s+add a,iyl
+\s+1c6:\s+dd 8c\s+adc a,ixh
+\s+1c8:\s+dd 8d\s+adc a,ixl
+\s+1ca:\s+fd 8c\s+adc a,iyh
+\s+1cc:\s+fd 8d\s+adc a,iyl
+\s+1ce:\s+dd bc\s+cp a,ixh
+\s+1d0:\s+dd bd\s+cp a,ixl
+\s+1d2:\s+fd bc\s+cp a,iyh
+\s+1d4:\s+fd bd\s+cp a,iyl
+\s+1d6:\s+dd 25\s+dec ixh
+\s+1d8:\s+dd 2d\s+dec ixl
+\s+1da:\s+fd 25\s+dec iyh
+\s+1dc:\s+fd 2d\s+dec iyl
+\s+1de:\s+dd 24\s+inc ixh
+\s+1e0:\s+dd 2c\s+inc ixl
+\s+1e2:\s+fd 24\s+inc iyh
+\s+1e4:\s+fd 2c\s+inc iyl
+\s+1e6:\s+dd 9c\s+sbc a,ixh
+\s+1e8:\s+dd 9d\s+sbc a,ixl
+\s+1ea:\s+fd 9c\s+sbc a,iyh
+\s+1ec:\s+fd 9d\s+sbc a,iyl
+\s+1ee:\s+dd 94\s+sub a,ixh
+\s+1f0:\s+dd 95\s+sub a,ixl
+\s+1f2:\s+fd 94\s+sub a,iyh
+\s+1f4:\s+fd 95\s+sub a,iyl
+\s+1f6:\s+dd a4\s+and a,ixh
+\s+1f8:\s+dd a5\s+and a,ixl
+\s+1fa:\s+fd a4\s+and a,iyh
+\s+1fc:\s+fd a5\s+and a,iyl
+\s+1fe:\s+dd b4\s+or a,ixh
+\s+200:\s+dd b5\s+or a,ixl
+\s+202:\s+fd b4\s+or a,iyh
+\s+204:\s+fd b5\s+or a,iyl
+\s+206:\s+dd ac\s+xor a,ixh
+\s+208:\s+dd ad\s+xor a,ixl
+\s+20a:\s+fd ac\s+xor a,iyh
+\s+20c:\s+fd ad\s+xor a,iyl
+\s+20e:\s+8e\s+adc a,\(hl\)
+\s+20f:\s+dd 8e 09\s+adc a,\(ix\+9\)
+\s+212:\s+fd 8e 09\s+adc a,\(iy\+9\)
+\s+215:\s+ce 03\s+adc a,0x03
+\s+217:\s+8f\s+adc a,a
+\s+218:\s+88\s+adc a,b
+\s+219:\s+89\s+adc a,c
+\s+21a:\s+8a\s+adc a,d
+\s+21b:\s+8b\s+adc a,e
+\s+21c:\s+8c\s+adc a,h
+\s+21d:\s+8d\s+adc a,l
+\s+21e:\s+ed 4a\s+adc hl,bc
+\s+220:\s+ed 5a\s+adc hl,de
+\s+222:\s+ed 6a\s+adc hl,hl
+\s+224:\s+ed 7a\s+adc hl,sp
+\s+226:\s+86\s+add a,\(hl\)
+\s+227:\s+dd 86 09\s+add a,\(ix\+9\)
+\s+22a:\s+fd 86 09\s+add a,\(iy\+9\)
+\s+22d:\s+c6 03\s+add a,0x03
+\s+22f:\s+87\s+add a,a
+\s+230:\s+80\s+add a,b
+\s+231:\s+81\s+add a,c
+\s+232:\s+82\s+add a,d
+\s+233:\s+83\s+add a,e
+\s+234:\s+84\s+add a,h
+\s+235:\s+85\s+add a,l
+\s+236:\s+09\s+add hl,bc
+\s+237:\s+19\s+add hl,de
+\s+238:\s+29\s+add hl,hl
+\s+239:\s+39\s+add hl,sp
+\s+23a:\s+dd 09\s+add ix,bc
+\s+23c:\s+dd 19\s+add ix,de
+\s+23e:\s+dd 29\s+add ix,ix
+\s+240:\s+dd 39\s+add ix,sp
+\s+242:\s+fd 09\s+add iy,bc
+\s+244:\s+fd 19\s+add iy,de
+\s+246:\s+fd 29\s+add iy,iy
+\s+248:\s+fd 39\s+add iy,sp
+\s+24a:\s+a6\s+and a,\(hl\)
+\s+24b:\s+dd a6 09\s+and a,\(ix\+9\)
+\s+24e:\s+fd a6 09\s+and a,\(iy\+9\)
+\s+251:\s+e6 03\s+and a,0x03
+\s+253:\s+a7\s+and a,a
+\s+254:\s+a0\s+and a,b
+\s+255:\s+a1\s+and a,c
+\s+256:\s+a2\s+and a,d
+\s+257:\s+a3\s+and a,e
+\s+258:\s+a4\s+and a,h
+\s+259:\s+a5\s+and a,l
+\s+25a:\s+cb 46\s+bit 0,\(hl\)
+\s+25c:\s+dd cb 09 46\s+bit 0,\(ix\+9\)
+\s+260:\s+fd cb 09 46\s+bit 0,\(iy\+9\)
+\s+264:\s+cb 47\s+bit 0,a
+\s+266:\s+cb 40\s+bit 0,b
+\s+268:\s+cb 41\s+bit 0,c
+\s+26a:\s+cb 42\s+bit 0,d
+\s+26c:\s+cb 43\s+bit 0,e
+\s+26e:\s+cb 44\s+bit 0,h
+\s+270:\s+cb 45\s+bit 0,l
+\s+272:\s+cb 4e\s+bit 1,\(hl\)
+\s+274:\s+dd cb 09 4e\s+bit 1,\(ix\+9\)
+\s+278:\s+fd cb 09 4e\s+bit 1,\(iy\+9\)
+\s+27c:\s+cb 4f\s+bit 1,a
+\s+27e:\s+cb 48\s+bit 1,b
+\s+280:\s+cb 49\s+bit 1,c
+\s+282:\s+cb 4a\s+bit 1,d
+\s+284:\s+cb 4b\s+bit 1,e
+\s+286:\s+cb 4c\s+bit 1,h
+\s+288:\s+cb 4d\s+bit 1,l
+\s+28a:\s+cb 56\s+bit 2,\(hl\)
+\s+28c:\s+dd cb 09 56\s+bit 2,\(ix\+9\)
+\s+290:\s+fd cb 09 56\s+bit 2,\(iy\+9\)
+\s+294:\s+cb 57\s+bit 2,a
+\s+296:\s+cb 50\s+bit 2,b
+\s+298:\s+cb 51\s+bit 2,c
+\s+29a:\s+cb 52\s+bit 2,d
+\s+29c:\s+cb 53\s+bit 2,e
+\s+29e:\s+cb 54\s+bit 2,h
+\s+2a0:\s+cb 55\s+bit 2,l
+\s+2a2:\s+cb 5e\s+bit 3,\(hl\)
+\s+2a4:\s+dd cb 09 5e\s+bit 3,\(ix\+9\)
+\s+2a8:\s+fd cb 09 5e\s+bit 3,\(iy\+9\)
+\s+2ac:\s+cb 5f\s+bit 3,a
+\s+2ae:\s+cb 58\s+bit 3,b
+\s+2b0:\s+cb 59\s+bit 3,c
+\s+2b2:\s+cb 5a\s+bit 3,d
+\s+2b4:\s+cb 5b\s+bit 3,e
+\s+2b6:\s+cb 5c\s+bit 3,h
+\s+2b8:\s+cb 5d\s+bit 3,l
+\s+2ba:\s+cb 66\s+bit 4,\(hl\)
+\s+2bc:\s+dd cb 09 66\s+bit 4,\(ix\+9\)
+\s+2c0:\s+fd cb 09 66\s+bit 4,\(iy\+9\)
+\s+2c4:\s+cb 67\s+bit 4,a
+\s+2c6:\s+cb 60\s+bit 4,b
+\s+2c8:\s+cb 61\s+bit 4,c
+\s+2ca:\s+cb 62\s+bit 4,d
+\s+2cc:\s+cb 63\s+bit 4,e
+\s+2ce:\s+cb 64\s+bit 4,h
+\s+2d0:\s+cb 65\s+bit 4,l
+\s+2d2:\s+cb 6e\s+bit 5,\(hl\)
+\s+2d4:\s+dd cb 09 6e\s+bit 5,\(ix\+9\)
+\s+2d8:\s+fd cb 09 6e\s+bit 5,\(iy\+9\)
+\s+2dc:\s+cb 6f\s+bit 5,a
+\s+2de:\s+cb 68\s+bit 5,b
+\s+2e0:\s+cb 69\s+bit 5,c
+\s+2e2:\s+cb 6a\s+bit 5,d
+\s+2e4:\s+cb 6b\s+bit 5,e
+\s+2e6:\s+cb 6c\s+bit 5,h
+\s+2e8:\s+cb 6d\s+bit 5,l
+\s+2ea:\s+cb 76\s+bit 6,\(hl\)
+\s+2ec:\s+dd cb 09 76\s+bit 6,\(ix\+9\)
+\s+2f0:\s+fd cb 09 76\s+bit 6,\(iy\+9\)
+\s+2f4:\s+cb 77\s+bit 6,a
+\s+2f6:\s+cb 70\s+bit 6,b
+\s+2f8:\s+cb 71\s+bit 6,c
+\s+2fa:\s+cb 72\s+bit 6,d
+\s+2fc:\s+cb 73\s+bit 6,e
+\s+2fe:\s+cb 74\s+bit 6,h
+\s+300:\s+cb 75\s+bit 6,l
+\s+302:\s+cb 7e\s+bit 7,\(hl\)
+\s+304:\s+dd cb 09 7e\s+bit 7,\(ix\+9\)
+\s+308:\s+fd cb 09 7e\s+bit 7,\(iy\+9\)
+\s+30c:\s+cb 7f\s+bit 7,a
+\s+30e:\s+cb 78\s+bit 7,b
+\s+310:\s+cb 79\s+bit 7,c
+\s+312:\s+cb 7a\s+bit 7,d
+\s+314:\s+cb 7b\s+bit 7,e
+\s+316:\s+cb 7c\s+bit 7,h
+\s+318:\s+cb 7d\s+bit 7,l
+\s+31a:\s+cd 34 12\s+call 0x1234
+\s+31d:\s+dc 34 12\s+call c,0x1234
+\s+320:\s+fc 34 12\s+call m,0x1234
+\s+323:\s+d4 34 12\s+call nc,0x1234
+\s+326:\s+c4 34 12\s+call nz,0x1234
+\s+329:\s+f4 34 12\s+call p,0x1234
+\s+32c:\s+ec 34 12\s+call pe,0x1234
+\s+32f:\s+e4 34 12\s+call po,0x1234
+\s+332:\s+cc 34 12\s+call z,0x1234
+\s+335:\s+3f\s+ccf
+\s+336:\s+be\s+cp a,\(hl\)
+\s+337:\s+dd be 09\s+cp a,\(ix\+9\)
+\s+33a:\s+fd be 09\s+cp a,\(iy\+9\)
+\s+33d:\s+fe 03\s+cp a,0x03
+\s+33f:\s+bf\s+cp a,a
+\s+340:\s+b8\s+cp a,b
+\s+341:\s+b9\s+cp a,c
+\s+342:\s+ba\s+cp a,d
+\s+343:\s+bb\s+cp a,e
+\s+344:\s+bc\s+cp a,h
+\s+345:\s+bd\s+cp a,l
+\s+346:\s+ed a9\s+cpd
+\s+348:\s+ed b9\s+cpdr
+\s+34a:\s+ed a1\s+cpi
+\s+34c:\s+ed b1\s+cpir
+\s+34e:\s+2f\s+cpl
+\s+34f:\s+27\s+daa
+\s+350:\s+35\s+dec \(hl\)
+\s+351:\s+dd 35 09\s+dec \(ix\+9\)
+\s+354:\s+fd 35 09\s+dec \(iy\+9\)
+\s+357:\s+3d\s+dec a
+\s+358:\s+05\s+dec b
+\s+359:\s+0b\s+dec bc
+\s+35a:\s+0d\s+dec c
+\s+35b:\s+15\s+dec d
+\s+35c:\s+1b\s+dec de
+\s+35d:\s+1d\s+dec e
+\s+35e:\s+25\s+dec h
+\s+35f:\s+2b\s+dec hl
+\s+360:\s+dd 2b\s+dec ix
+\s+362:\s+fd 2b\s+dec iy
+\s+364:\s+2d\s+dec l
+\s+365:\s+3b\s+dec sp
+\s+366:\s+f3\s+di
+\s+367:\s+10 05\s+djnz 0x036e
+\s+369:\s+fb\s+ei
+\s+36a:\s+e3\s+ex \(sp\),hl
+\s+36b:\s+dd e3\s+ex \(sp\),ix
+\s+36d:\s+fd e3\s+ex \(sp\),iy
+\s+36f:\s+08\s+ex af,af'
+\s+370:\s+eb\s+ex de,hl
+\s+371:\s+d9\s+exx
+\s+372:\s+76\s+halt
+\s+373:\s+ed 46\s+im 0
+\s+375:\s+ed 56\s+im 1
+\s+377:\s+ed 5e\s+im 2
+\s+379:\s+ed 78\s+in a,\(bc\)
+\s+37b:\s+db 03\s+in a,\(0x03\)
+\s+37d:\s+ed 40\s+in b,\(bc\)
+\s+37f:\s+ed 48\s+in c,\(bc\)
+\s+381:\s+ed 50\s+in d,\(bc\)
+\s+383:\s+ed 58\s+in e,\(bc\)
+\s+385:\s+ed 60\s+in h,\(bc\)
+\s+387:\s+ed 68\s+in l,\(bc\)
+\s+389:\s+34\s+inc \(hl\)
+\s+38a:\s+dd 34 09\s+inc \(ix\+9\)
+\s+38d:\s+fd 34 09\s+inc \(iy\+9\)
+\s+390:\s+3c\s+inc a
+\s+391:\s+04\s+inc b
+\s+392:\s+03\s+inc bc
+\s+393:\s+0c\s+inc c
+\s+394:\s+14\s+inc d
+\s+395:\s+13\s+inc de
+\s+396:\s+1c\s+inc e
+\s+397:\s+24\s+inc h
+\s+398:\s+23\s+inc hl
+\s+399:\s+dd 23\s+inc ix
+\s+39b:\s+fd 23\s+inc iy
+\s+39d:\s+2c\s+inc l
+\s+39e:\s+33\s+inc sp
+\s+39f:\s+ed aa\s+ind
+\s+3a1:\s+ed ba\s+indr
+\s+3a3:\s+ed a2\s+ini
+\s+3a5:\s+ed b2\s+inir
+\s+3a7:\s+e9\s+jp \(hl\)
+\s+3a8:\s+dd e9\s+jp \(ix\)
+\s+3aa:\s+fd e9\s+jp \(iy\)
+\s+3ac:\s+c3 34 12\s+jp 0x1234
+\s+3af:\s+da 34 12\s+jp c,0x1234
+\s+3b2:\s+fa 34 12\s+jp m,0x1234
+\s+3b5:\s+d2 34 12\s+jp nc,0x1234
+\s+3b8:\s+c2 34 12\s+jp nz,0x1234
+\s+3bb:\s+f2 34 12\s+jp p,0x1234
+\s+3be:\s+ea 34 12\s+jp pe,0x1234
+\s+3c1:\s+e2 34 12\s+jp po,0x1234
+\s+3c4:\s+ca 34 12\s+jp z,0x1234
+\s+3c7:\s+18 05\s+jr 0x03ce
+\s+3c9:\s+38 05\s+jr c,0x03d0
+\s+3cb:\s+30 05\s+jr nc,0x03d2
+\s+3cd:\s+20 05\s+jr nz,0x03d4
+\s+3cf:\s+28 05\s+jr z,0x03d6
+\s+3d1:\s+32 34 12\s+ld \(0x1234\),a
+\s+3d4:\s+ed 43 34 12\s+ld \(0x1234\),bc
+\s+3d8:\s+ed 53 34 12\s+ld \(0x1234\),de
+\s+3dc:\s+22 34 12\s+ld \(0x1234\),hl
+\s+3df:\s+dd 22 34 12\s+ld \(0x1234\),ix
+\s+3e3:\s+fd 22 34 12\s+ld \(0x1234\),iy
+\s+3e7:\s+ed 73 34 12\s+ld \(0x1234\),sp
+\s+3eb:\s+02\s+ld \(bc\),a
+\s+3ec:\s+12\s+ld \(de\),a
+\s+3ed:\s+36 03\s+ld \(hl\),0x03
+\s+3ef:\s+77\s+ld \(hl\),a
+\s+3f0:\s+70\s+ld \(hl\),b
+\s+3f1:\s+71\s+ld \(hl\),c
+\s+3f2:\s+72\s+ld \(hl\),d
+\s+3f3:\s+73\s+ld \(hl\),e
+\s+3f4:\s+74\s+ld \(hl\),h
+\s+3f5:\s+75\s+ld \(hl\),l
+\s+3f6:\s+dd 36 09 03\s+ld \(ix\+9\),0x03
+\s+3fa:\s+dd 77 09\s+ld \(ix\+9\),a
+\s+3fd:\s+dd 70 09\s+ld \(ix\+9\),b
+\s+400:\s+dd 71 09\s+ld \(ix\+9\),c
+\s+403:\s+dd 72 09\s+ld \(ix\+9\),d
+\s+406:\s+dd 73 09\s+ld \(ix\+9\),e
+\s+409:\s+dd 74 09\s+ld \(ix\+9\),h
+\s+40c:\s+dd 75 09\s+ld \(ix\+9\),l
+\s+40f:\s+fd 36 09 03\s+ld \(iy\+9\),0x03
+\s+413:\s+fd 77 09\s+ld \(iy\+9\),a
+\s+416:\s+fd 70 09\s+ld \(iy\+9\),b
+\s+419:\s+fd 71 09\s+ld \(iy\+9\),c
+\s+41c:\s+fd 72 09\s+ld \(iy\+9\),d
+\s+41f:\s+fd 73 09\s+ld \(iy\+9\),e
+\s+422:\s+fd 74 09\s+ld \(iy\+9\),h
+\s+425:\s+fd 75 09\s+ld \(iy\+9\),l
+\s+428:\s+3a 34 12\s+ld a,\(0x1234\)
+\s+42b:\s+0a\s+ld a,\(bc\)
+\s+42c:\s+1a\s+ld a,\(de\)
+\s+42d:\s+7e\s+ld a,\(hl\)
+\s+42e:\s+dd 7e 09\s+ld a,\(ix\+9\)
+\s+431:\s+fd 7e 09\s+ld a,\(iy\+9\)
+\s+434:\s+3e 03\s+ld a,0x03
+\s+436:\s+7f\s+ld a,a
+\s+437:\s+78\s+ld a,b
+\s+438:\s+79\s+ld a,c
+\s+439:\s+7a\s+ld a,d
+\s+43a:\s+7b\s+ld a,e
+\s+43b:\s+7c\s+ld a,h
+\s+43c:\s+ed 57\s+ld a,i
+\s+43e:\s+7d\s+ld a,l
+\s+43f:\s+ed 5f\s+ld a,r
+\s+441:\s+46\s+ld b,\(hl\)
+\s+442:\s+dd 46 09\s+ld b,\(ix\+9\)
+\s+445:\s+fd 46 09\s+ld b,\(iy\+9\)
+\s+448:\s+06 03\s+ld b,0x03
+\s+44a:\s+47\s+ld b,a
+\s+44b:\s+00\s+nop
+\s+44c:\s+41\s+ld b,c
+\s+44d:\s+42\s+ld b,d
+\s+44e:\s+43\s+ld b,e
+\s+44f:\s+44\s+ld b,h
+\s+450:\s+45\s+ld b,l
+\s+451:\s+ed 4b 34 12\s+ld bc,\(0x1234\)
+\s+455:\s+01 34 12\s+ld bc,0x1234
+\s+458:\s+4e\s+ld c,\(hl\)
+\s+459:\s+dd 4e 09\s+ld c,\(ix\+9\)
+\s+45c:\s+fd 4e 09\s+ld c,\(iy\+9\)
+\s+45f:\s+0e 03\s+ld c,0x03
+\s+461:\s+4f\s+ld c,a
+\s+462:\s+48\s+ld c,b
+\s+463:\s+00\s+nop
+\s+464:\s+4a\s+ld c,d
+\s+465:\s+4b\s+ld c,e
+\s+466:\s+4c\s+ld c,h
+\s+467:\s+4d\s+ld c,l
+\s+468:\s+56\s+ld d,\(hl\)
+\s+469:\s+dd 56 09\s+ld d,\(ix\+9\)
+\s+46c:\s+fd 56 09\s+ld d,\(iy\+9\)
+\s+46f:\s+16 03\s+ld d,0x03
+\s+471:\s+57\s+ld d,a
+\s+472:\s+50\s+ld d,b
+\s+473:\s+51\s+ld d,c
+\s+474:\s+00\s+nop
+\s+475:\s+53\s+ld d,e
+\s+476:\s+54\s+ld d,h
+\s+477:\s+55\s+ld d,l
+\s+478:\s+ed 5b 34 12\s+ld de,\(0x1234\)
+\s+47c:\s+11 34 12\s+ld de,0x1234
+\s+47f:\s+5e\s+ld e,\(hl\)
+\s+480:\s+dd 5e 09\s+ld e,\(ix\+9\)
+\s+483:\s+fd 5e 09\s+ld e,\(iy\+9\)
+\s+486:\s+1e 03\s+ld e,0x03
+\s+488:\s+5f\s+ld e,a
+\s+489:\s+58\s+ld e,b
+\s+48a:\s+59\s+ld e,c
+\s+48b:\s+5a\s+ld e,d
+\s+48c:\s+00\s+nop
+\s+48d:\s+5c\s+ld e,h
+\s+48e:\s+5d\s+ld e,l
+\s+48f:\s+66\s+ld h,\(hl\)
+\s+490:\s+dd 66 09\s+ld h,\(ix\+9\)
+\s+493:\s+fd 66 09\s+ld h,\(iy\+9\)
+\s+496:\s+26 03\s+ld h,0x03
+\s+498:\s+67\s+ld h,a
+\s+499:\s+60\s+ld h,b
+\s+49a:\s+61\s+ld h,c
+\s+49b:\s+62\s+ld h,d
+\s+49c:\s+63\s+ld h,e
+\s+49d:\s+64\s+ld h,h
+\s+49e:\s+65\s+ld h,l
+\s+49f:\s+2a 34 12\s+ld hl,\(0x1234\)
+\s+4a2:\s+21 34 12\s+ld hl,0x1234
+\s+4a5:\s+ed 47\s+ld i,a
+\s+4a7:\s+dd 2a 34 12\s+ld ix,\(0x1234\)
+\s+4ab:\s+dd 21 34 12\s+ld ix,0x1234
+\s+4af:\s+fd 2a 34 12\s+ld iy,\(0x1234\)
+\s+4b3:\s+fd 21 34 12\s+ld iy,0x1234
+\s+4b7:\s+6e\s+ld l,\(hl\)
+\s+4b8:\s+dd 6e 09\s+ld l,\(ix\+9\)
+\s+4bb:\s+fd 6e 09\s+ld l,\(iy\+9\)
+\s+4be:\s+2e 03\s+ld l,0x03
+\s+4c0:\s+6f\s+ld l,a
+\s+4c1:\s+68\s+ld l,b
+\s+4c2:\s+69\s+ld l,c
+\s+4c3:\s+6a\s+ld l,d
+\s+4c4:\s+6b\s+ld l,e
+\s+4c5:\s+6c\s+ld l,h
+\s+4c6:\s+6d\s+ld l,l
+\s+4c7:\s+ed 4f\s+ld r,a
+\s+4c9:\s+ed 7b 34 12\s+ld sp,\(0x1234\)
+\s+4cd:\s+31 34 12\s+ld sp,0x1234
+\s+4d0:\s+f9\s+ld sp,hl
+\s+4d1:\s+dd f9\s+ld sp,ix
+\s+4d3:\s+fd f9\s+ld sp,iy
+\s+4d5:\s+ed a8\s+ldd
+\s+4d7:\s+ed b8\s+lddr
+\s+4d9:\s+ed a0\s+ldi
+\s+4db:\s+ed b0\s+ldir
+\s+4dd:\s+ed 44\s+neg
+\s+4df:\s+00\s+nop
+\s+4e0:\s+b6\s+or a,\(hl\)
+\s+4e1:\s+dd b6 09\s+or a,\(ix\+9\)
+\s+4e4:\s+fd b6 09\s+or a,\(iy\+9\)
+\s+4e7:\s+f6 03\s+or a,0x03
+\s+4e9:\s+b7\s+or a,a
+\s+4ea:\s+b0\s+or a,b
+\s+4eb:\s+b1\s+or a,c
+\s+4ec:\s+b2\s+or a,d
+\s+4ed:\s+b3\s+or a,e
+\s+4ee:\s+b4\s+or a,h
+\s+4ef:\s+b5\s+or a,l
+\s+4f0:\s+ed bb\s+otdr
+\s+4f2:\s+ed b3\s+otir
+\s+4f4:\s+ed 79\s+out \(bc\),a
+\s+4f6:\s+ed 41\s+out \(bc\),b
+\s+4f8:\s+ed 49\s+out \(bc\),c
+\s+4fa:\s+ed 51\s+out \(bc\),d
+\s+4fc:\s+ed 59\s+out \(bc\),e
+\s+4fe:\s+ed 61\s+out \(bc\),h
+\s+500:\s+ed 69\s+out \(bc\),l
+\s+502:\s+d3 03\s+out \(0x03\),a
+\s+504:\s+ed ab\s+outd
+\s+506:\s+ed a3\s+outi
+\s+508:\s+f1\s+pop af
+\s+509:\s+c1\s+pop bc
+\s+50a:\s+d1\s+pop de
+\s+50b:\s+e1\s+pop hl
+\s+50c:\s+dd e1\s+pop ix
+\s+50e:\s+fd e1\s+pop iy
+\s+510:\s+f5\s+push af
+\s+511:\s+c5\s+push bc
+\s+512:\s+d5\s+push de
+\s+513:\s+e5\s+push hl
+\s+514:\s+dd e5\s+push ix
+\s+516:\s+fd e5\s+push iy
+\s+518:\s+cb 86\s+res 0,\(hl\)
+\s+51a:\s+dd cb 09 86\s+res 0,\(ix\+9\)
+\s+51e:\s+fd cb 09 86\s+res 0,\(iy\+9\)
+\s+522:\s+cb 87\s+res 0,a
+\s+524:\s+cb 80\s+res 0,b
+\s+526:\s+cb 81\s+res 0,c
+\s+528:\s+cb 82\s+res 0,d
+\s+52a:\s+cb 83\s+res 0,e
+\s+52c:\s+cb 84\s+res 0,h
+\s+52e:\s+cb 85\s+res 0,l
+\s+530:\s+cb 8e\s+res 1,\(hl\)
+\s+532:\s+dd cb 09 8e\s+res 1,\(ix\+9\)
+\s+536:\s+fd cb 09 8e\s+res 1,\(iy\+9\)
+\s+53a:\s+cb 8f\s+res 1,a
+\s+53c:\s+cb 88\s+res 1,b
+\s+53e:\s+cb 89\s+res 1,c
+\s+540:\s+cb 8a\s+res 1,d
+\s+542:\s+cb 8b\s+res 1,e
+\s+544:\s+cb 8c\s+res 1,h
+\s+546:\s+cb 8d\s+res 1,l
+\s+548:\s+cb 96\s+res 2,\(hl\)
+\s+54a:\s+dd cb 09 96\s+res 2,\(ix\+9\)
+\s+54e:\s+fd cb 09 96\s+res 2,\(iy\+9\)
+\s+552:\s+cb 97\s+res 2,a
+\s+554:\s+cb 90\s+res 2,b
+\s+556:\s+cb 91\s+res 2,c
+\s+558:\s+cb 92\s+res 2,d
+\s+55a:\s+cb 93\s+res 2,e
+\s+55c:\s+cb 94\s+res 2,h
+\s+55e:\s+cb 95\s+res 2,l
+\s+560:\s+cb 9e\s+res 3,\(hl\)
+\s+562:\s+dd cb 09 9e\s+res 3,\(ix\+9\)
+\s+566:\s+fd cb 09 9e\s+res 3,\(iy\+9\)
+\s+56a:\s+cb 9f\s+res 3,a
+\s+56c:\s+cb 98\s+res 3,b
+\s+56e:\s+cb 99\s+res 3,c
+\s+570:\s+cb 9a\s+res 3,d
+\s+572:\s+cb 9b\s+res 3,e
+\s+574:\s+cb 9c\s+res 3,h
+\s+576:\s+cb 9d\s+res 3,l
+\s+578:\s+cb a6\s+res 4,\(hl\)
+\s+57a:\s+dd cb 09 a6\s+res 4,\(ix\+9\)
+\s+57e:\s+fd cb 09 a6\s+res 4,\(iy\+9\)
+\s+582:\s+cb a7\s+res 4,a
+\s+584:\s+cb a0\s+res 4,b
+\s+586:\s+cb a1\s+res 4,c
+\s+588:\s+cb a2\s+res 4,d
+\s+58a:\s+cb a3\s+res 4,e
+\s+58c:\s+cb a4\s+res 4,h
+\s+58e:\s+cb a5\s+res 4,l
+\s+590:\s+cb ae\s+res 5,\(hl\)
+\s+592:\s+dd cb 09 ae\s+res 5,\(ix\+9\)
+\s+596:\s+fd cb 09 ae\s+res 5,\(iy\+9\)
+\s+59a:\s+cb af\s+res 5,a
+\s+59c:\s+cb a8\s+res 5,b
+\s+59e:\s+cb a9\s+res 5,c
+\s+5a0:\s+cb aa\s+res 5,d
+\s+5a2:\s+cb ab\s+res 5,e
+\s+5a4:\s+cb ac\s+res 5,h
+\s+5a6:\s+cb ad\s+res 5,l
+\s+5a8:\s+cb b6\s+res 6,\(hl\)
+\s+5aa:\s+dd cb 09 b6\s+res 6,\(ix\+9\)
+\s+5ae:\s+fd cb 09 b6\s+res 6,\(iy\+9\)
+\s+5b2:\s+cb b7\s+res 6,a
+\s+5b4:\s+cb b0\s+res 6,b
+\s+5b6:\s+cb b1\s+res 6,c
+\s+5b8:\s+cb b2\s+res 6,d
+\s+5ba:\s+cb b3\s+res 6,e
+\s+5bc:\s+cb b4\s+res 6,h
+\s+5be:\s+cb b5\s+res 6,l
+\s+5c0:\s+cb be\s+res 7,\(hl\)
+\s+5c2:\s+dd cb 09 be\s+res 7,\(ix\+9\)
+\s+5c6:\s+fd cb 09 be\s+res 7,\(iy\+9\)
+\s+5ca:\s+cb bf\s+res 7,a
+\s+5cc:\s+cb b8\s+res 7,b
+\s+5ce:\s+cb b9\s+res 7,c
+\s+5d0:\s+cb ba\s+res 7,d
+\s+5d2:\s+cb bb\s+res 7,e
+\s+5d4:\s+cb bc\s+res 7,h
+\s+5d6:\s+cb bd\s+res 7,l
+\s+5d8:\s+c9\s+ret
+\s+5d9:\s+d8\s+ret c
+\s+5da:\s+f8\s+ret m
+\s+5db:\s+d0\s+ret nc
+\s+5dc:\s+c0\s+ret nz
+\s+5dd:\s+f0\s+ret p
+\s+5de:\s+e8\s+ret pe
+\s+5df:\s+e0\s+ret po
+\s+5e0:\s+c8\s+ret z
+\s+5e1:\s+ed 4d\s+reti
+\s+5e3:\s+ed 45\s+retn
+\s+5e5:\s+cb 16\s+rl \(hl\)
+\s+5e7:\s+dd cb 09 16\s+rl \(ix\+9\)
+\s+5eb:\s+fd cb 09 16\s+rl \(iy\+9\)
+\s+5ef:\s+cb 17\s+rl a
+\s+5f1:\s+cb 10\s+rl b
+\s+5f3:\s+cb 11\s+rl c
+\s+5f5:\s+cb 12\s+rl d
+\s+5f7:\s+cb 13\s+rl e
+\s+5f9:\s+cb 14\s+rl h
+\s+5fb:\s+cb 15\s+rl l
+\s+5fd:\s+17\s+rla
+\s+5fe:\s+cb 06\s+rlc \(hl\)
+\s+600:\s+dd cb 09 06\s+rlc \(ix\+9\)
+\s+604:\s+fd cb 09 06\s+rlc \(iy\+9\)
+\s+608:\s+cb 07\s+rlc a
+\s+60a:\s+cb 00\s+rlc b
+\s+60c:\s+cb 01\s+rlc c
+\s+60e:\s+cb 02\s+rlc d
+\s+610:\s+cb 03\s+rlc e
+\s+612:\s+cb 04\s+rlc h
+\s+614:\s+cb 05\s+rlc l
+\s+616:\s+07\s+rlca
+\s+617:\s+ed 6f\s+rld
+\s+619:\s+cb 1e\s+rr \(hl\)
+\s+61b:\s+dd cb 09 1e\s+rr \(ix\+9\)
+\s+61f:\s+fd cb 09 1e\s+rr \(iy\+9\)
+\s+623:\s+cb 1f\s+rr a
+\s+625:\s+cb 18\s+rr b
+\s+627:\s+cb 19\s+rr c
+\s+629:\s+cb 1a\s+rr d
+\s+62b:\s+cb 1b\s+rr e
+\s+62d:\s+cb 1c\s+rr h
+\s+62f:\s+cb 1d\s+rr l
+\s+631:\s+1f\s+rra
+\s+632:\s+cb 0e\s+rrc \(hl\)
+\s+634:\s+dd cb 09 0e\s+rrc \(ix\+9\)
+\s+638:\s+fd cb 09 0e\s+rrc \(iy\+9\)
+\s+63c:\s+cb 0f\s+rrc a
+\s+63e:\s+cb 08\s+rrc b
+\s+640:\s+cb 09\s+rrc c
+\s+642:\s+cb 0a\s+rrc d
+\s+644:\s+cb 0b\s+rrc e
+\s+646:\s+cb 0c\s+rrc h
+\s+648:\s+cb 0d\s+rrc l
+\s+64a:\s+0f\s+rrca
+\s+64b:\s+ed 67\s+rrd
+\s+64d:\s+c7\s+rst 0x00
+\s+64e:\s+cf\s+rst 0x08
+\s+64f:\s+d7\s+rst 0x10
+\s+650:\s+df\s+rst 0x18
+\s+651:\s+e7\s+rst 0x20
+\s+652:\s+ef\s+rst 0x28
+\s+653:\s+f7\s+rst 0x30
+\s+654:\s+ff\s+rst 0x38
+\s+655:\s+9e\s+sbc a,\(hl\)
+\s+656:\s+dd 9e 09\s+sbc a,\(ix\+9\)
+\s+659:\s+fd 9e 09\s+sbc a,\(iy\+9\)
+\s+65c:\s+de 03\s+sbc a,0x03
+\s+65e:\s+9f\s+sbc a,a
+\s+65f:\s+98\s+sbc a,b
+\s+660:\s+99\s+sbc a,c
+\s+661:\s+9a\s+sbc a,d
+\s+662:\s+9b\s+sbc a,e
+\s+663:\s+9c\s+sbc a,h
+\s+664:\s+9d\s+sbc a,l
+\s+665:\s+ed 42\s+sbc hl,bc
+\s+667:\s+ed 52\s+sbc hl,de
+\s+669:\s+ed 62\s+sbc hl,hl
+\s+66b:\s+ed 72\s+sbc hl,sp
+\s+66d:\s+37\s+scf
+\s+66e:\s+cb c6\s+set 0,\(hl\)
+\s+670:\s+dd cb 09 c6\s+set 0,\(ix\+9\)
+\s+674:\s+fd cb 09 c6\s+set 0,\(iy\+9\)
+\s+678:\s+cb c7\s+set 0,a
+\s+67a:\s+cb c0\s+set 0,b
+\s+67c:\s+cb c1\s+set 0,c
+\s+67e:\s+cb c2\s+set 0,d
+\s+680:\s+cb c3\s+set 0,e
+\s+682:\s+cb c4\s+set 0,h
+\s+684:\s+cb c5\s+set 0,l
+\s+686:\s+cb ce\s+set 1,\(hl\)
+\s+688:\s+dd cb 09 ce\s+set 1,\(ix\+9\)
+\s+68c:\s+fd cb 09 ce\s+set 1,\(iy\+9\)
+\s+690:\s+cb cf\s+set 1,a
+\s+692:\s+cb c8\s+set 1,b
+\s+694:\s+cb c9\s+set 1,c
+\s+696:\s+cb ca\s+set 1,d
+\s+698:\s+cb cb\s+set 1,e
+\s+69a:\s+cb cc\s+set 1,h
+\s+69c:\s+cb cd\s+set 1,l
+\s+69e:\s+cb d6\s+set 2,\(hl\)
+\s+6a0:\s+dd cb 09 d6\s+set 2,\(ix\+9\)
+\s+6a4:\s+fd cb 09 d6\s+set 2,\(iy\+9\)
+\s+6a8:\s+cb d7\s+set 2,a
+\s+6aa:\s+cb d0\s+set 2,b
+\s+6ac:\s+cb d1\s+set 2,c
+\s+6ae:\s+cb d2\s+set 2,d
+\s+6b0:\s+cb d3\s+set 2,e
+\s+6b2:\s+cb d4\s+set 2,h
+\s+6b4:\s+cb d5\s+set 2,l
+\s+6b6:\s+cb de\s+set 3,\(hl\)
+\s+6b8:\s+dd cb 09 de\s+set 3,\(ix\+9\)
+\s+6bc:\s+fd cb 09 de\s+set 3,\(iy\+9\)
+\s+6c0:\s+cb df\s+set 3,a
+\s+6c2:\s+cb d8\s+set 3,b
+\s+6c4:\s+cb d9\s+set 3,c
+\s+6c6:\s+cb da\s+set 3,d
+\s+6c8:\s+cb db\s+set 3,e
+\s+6ca:\s+cb dc\s+set 3,h
+\s+6cc:\s+cb dd\s+set 3,l
+\s+6ce:\s+cb e6\s+set 4,\(hl\)
+\s+6d0:\s+dd cb 09 e6\s+set 4,\(ix\+9\)
+\s+6d4:\s+fd cb 09 e6\s+set 4,\(iy\+9\)
+\s+6d8:\s+cb e7\s+set 4,a
+\s+6da:\s+cb e0\s+set 4,b
+\s+6dc:\s+cb e1\s+set 4,c
+\s+6de:\s+cb e2\s+set 4,d
+\s+6e0:\s+cb e3\s+set 4,e
+\s+6e2:\s+cb e4\s+set 4,h
+\s+6e4:\s+cb e5\s+set 4,l
+\s+6e6:\s+cb ee\s+set 5,\(hl\)
+\s+6e8:\s+dd cb 09 ee\s+set 5,\(ix\+9\)
+\s+6ec:\s+fd cb 09 ee\s+set 5,\(iy\+9\)
+\s+6f0:\s+cb ef\s+set 5,a
+\s+6f2:\s+cb e8\s+set 5,b
+\s+6f4:\s+cb e9\s+set 5,c
+\s+6f6:\s+cb ea\s+set 5,d
+\s+6f8:\s+cb eb\s+set 5,e
+\s+6fa:\s+cb ec\s+set 5,h
+\s+6fc:\s+cb ed\s+set 5,l
+\s+6fe:\s+cb f6\s+set 6,\(hl\)
+\s+700:\s+dd cb 09 f6\s+set 6,\(ix\+9\)
+\s+704:\s+fd cb 09 f6\s+set 6,\(iy\+9\)
+\s+708:\s+cb f7\s+set 6,a
+\s+70a:\s+cb f0\s+set 6,b
+\s+70c:\s+cb f1\s+set 6,c
+\s+70e:\s+cb f2\s+set 6,d
+\s+710:\s+cb f3\s+set 6,e
+\s+712:\s+cb f4\s+set 6,h
+\s+714:\s+cb f5\s+set 6,l
+\s+716:\s+cb fe\s+set 7,\(hl\)
+\s+718:\s+dd cb 09 fe\s+set 7,\(ix\+9\)
+\s+71c:\s+fd cb 09 fe\s+set 7,\(iy\+9\)
+\s+720:\s+cb ff\s+set 7,a
+\s+722:\s+cb f8\s+set 7,b
+\s+724:\s+cb f9\s+set 7,c
+\s+726:\s+cb fa\s+set 7,d
+\s+728:\s+cb fb\s+set 7,e
+\s+72a:\s+cb fc\s+set 7,h
+\s+72c:\s+cb fd\s+set 7,l
+\s+72e:\s+cb 26\s+sla \(hl\)
+\s+730:\s+dd cb 09 26\s+sla \(ix\+9\)
+\s+734:\s+fd cb 09 26\s+sla \(iy\+9\)
+\s+738:\s+cb 27\s+sla a
+\s+73a:\s+cb 20\s+sla b
+\s+73c:\s+cb 21\s+sla c
+\s+73e:\s+cb 22\s+sla d
+\s+740:\s+cb 23\s+sla e
+\s+742:\s+cb 24\s+sla h
+\s+744:\s+cb 25\s+sla l
+\s+746:\s+cb 2e\s+sra \(hl\)
+\s+748:\s+dd cb 09 2e\s+sra \(ix\+9\)
+\s+74c:\s+fd cb 09 2e\s+sra \(iy\+9\)
+\s+750:\s+cb 2f\s+sra a
+\s+752:\s+cb 28\s+sra b
+\s+754:\s+cb 29\s+sra c
+\s+756:\s+cb 2a\s+sra d
+\s+758:\s+cb 2b\s+sra e
+\s+75a:\s+cb 2c\s+sra h
+\s+75c:\s+cb 2d\s+sra l
+\s+75e:\s+cb 3e\s+srl \(hl\)
+\s+760:\s+dd cb 09 3e\s+srl \(ix\+9\)
+\s+764:\s+fd cb 09 3e\s+srl \(iy\+9\)
+\s+768:\s+cb 3f\s+srl a
+\s+76a:\s+cb 38\s+srl b
+\s+76c:\s+cb 39\s+srl c
+\s+76e:\s+cb 3a\s+srl d
+\s+770:\s+cb 3b\s+srl e
+\s+772:\s+cb 3c\s+srl h
+\s+774:\s+cb 3d\s+srl l
+\s+776:\s+96\s+sub a,\(hl\)
+\s+777:\s+dd 96 09\s+sub a,\(ix\+9\)
+\s+77a:\s+fd 96 09\s+sub a,\(iy\+9\)
+\s+77d:\s+d6 03\s+sub a,0x03
+\s+77f:\s+97\s+sub a,a
+\s+780:\s+90\s+sub a,b
+\s+781:\s+91\s+sub a,c
+\s+782:\s+92\s+sub a,d
+\s+783:\s+93\s+sub a,e
+\s+784:\s+94\s+sub a,h
+\s+785:\s+95\s+sub a,l
+\s+786:\s+ae\s+xor a,\(hl\)
+\s+787:\s+dd ae 09\s+xor a,\(ix\+9\)
+\s+78a:\s+fd ae 09\s+xor a,\(iy\+9\)
+\s+78d:\s+ee 03\s+xor a,0x03
+\s+78f:\s+af\s+xor a,a
+\s+790:\s+a8\s+xor a,b
+\s+791:\s+a9\s+xor a,c
+\s+792:\s+aa\s+xor a,d
+\s+793:\s+ab\s+xor a,e
+\s+794:\s+ac\s+xor a,h
+\s+795:\s+ad\s+xor a,l
diff --git a/gas/testsuite/gas/z80/ez80_z80_all.s b/gas/testsuite/gas/z80/ez80_z80_all.s
new file mode 100644 (file)
index 0000000..76992c7
--- /dev/null
@@ -0,0 +1,994 @@
+       .text
+       .org 0
+       ;; eZ80 instructions
+
+; AND A,x group
+       and     a,a
+       and     a,b
+       and     a,c
+       and     a,d
+       and     a,e
+       and     a,h
+       and     a,l
+       and     a,(hl)
+       and     a,0xaa
+       and     a,(ix+5)
+       and     a,(iy-5)
+; CP A,x group
+       cp      a,a
+       cp      a,b
+       cp      a,c
+       cp      a,d
+       cp      a,e
+       cp      a,h
+       cp      a,l
+       cp      a,(hl)
+       cp      a,0xaa
+       cp      a,(ix+5)
+       cp      a,(iy-5)
+
+; OR A,x group
+       or      a,a
+       or      a,b
+       or      a,c
+       or      a,d
+       or      a,e
+       or      a,h
+       or      a,l
+       or      a,(hl)
+       or      a,0xaa
+       or      a,(ix+5)
+       or      a,(iy-5)
+
+; SUB A,x group
+       sub     a,a
+       sub     a,b
+       sub     a,c
+       sub     a,d
+       sub     a,e
+       sub     a,h
+       sub     a,l
+       sub     a,(hl)
+       sub     a,0xaa
+       sub     a,(ix+5)
+       sub     a,(iy-5)
+
+; TST A,x group
+       tst     a,a
+       tst     a,b
+       tst     a,c
+       tst     a,d
+       tst     a,e
+       tst     a,h
+       tst     a,l
+       tst     a,(hl)
+       tst     a,0x0f
+
+; XOR A,x group
+       xor     a,a
+       xor     a,b
+       xor     a,c
+       xor     a,d
+       xor     a,e
+       xor     a,h
+       xor     a,l
+       xor     a,(hl)
+       xor     a,0xaa
+       xor     a,(ix+5)
+       xor     a,(iy-5)
+
+; IN r,(BC) group (new naming)
+       in a,(bc)
+       in b,(bc)
+       in c,(bc)
+       in d,(bc)
+       in e,(bc)
+       in h,(bc)
+       in l,(bc)
+
+; OUT (BC),r group (new naming)
+       out (bc),a
+       out (bc),b
+       out (bc),c
+       out (bc),d
+       out (bc),e
+       out (bc),h
+       out (bc),l
+
+; LD rr,(ii+d) group
+       ld      bc,(ix-7)
+       ld      de,(ix-7)
+       ld      hl,(ix-7)
+       ld      ix,(ix-7)
+       ld      iy,(ix-7)
+
+       ld      bc,(iy+38)
+       ld      de,(iy+38)
+       ld      hl,(iy+38)
+       ld      ix,(iy+38)
+       ld      iy,(iy+38)
+
+; LD (ii+d),rr group
+       ld      (ix+126),bc
+       ld      (ix+126),de
+       ld      (ix+126),hl
+       ld      (ix+126),ix
+       ld      (ix+126),iy
+       ld      (iy-98),bc
+       ld      (iy-98),de
+       ld      (iy-98),hl
+       ld      (iy-98),ix
+       ld      (iy-98),iy
+
+; LEA rr,ii+d group
+       lea     bc,ix-27
+       lea     de,ix-27
+       lea     hl,ix-27
+       lea     ix,ix-27
+       lea     iy,ix-27
+       lea     bc,iy+12
+       lea     de,iy+12
+       lea     hl,iy+12
+       lea     ix,iy+12
+       lea     iy,iy+12
+
+; PEA ii+d group
+       pea     ix+127
+       pea     iy-128
+
+; IN0 group
+       in0 a,(0x5)
+       in0 b,(0x5)
+       in0 c,(0x5)
+       in0 d,(0x5)
+       in0 e,(0x5)
+       in0 h,(0x5)
+       in0 l,(0x5)
+
+; OUT0 group
+       out0 (0x5),a
+       out0 (0x5),b
+       out0 (0x5),c
+       out0 (0x5),d
+       out0 (0x5),e
+       out0 (0x5),h
+       out0 (0x5),l
+
+; MLT group
+       mlt bc
+       mlt de
+       mlt hl
+       mlt sp
+
+; TSTIO instruction
+       tstio 0f0h
+
+; SLP instruction
+       slp
+
+; ADLMIX flag manipulation instructions
+       stmix
+       rsmix
+
+; Additional block I/O instructions
+       inim
+       otim
+       ini2
+       indm
+       otdm
+       ind2
+       inimr
+       otimr
+       ini2r
+       indmr
+       otdmr
+       ind2r
+       outi2
+       outd2
+       oti2r
+       otd2r
+       inirx
+       otirx
+       indrx
+       otdrx
+
+; Index registers halves
+       ld a,ixh
+       ld b,ixh
+       ld c,ixh
+       ld d,ixh
+       ld e,ixh
+       ld ixh,ixh
+       ld ixl,ixh
+       ld a,ixl
+       ld b,ixl
+       ld c,ixl
+       ld d,ixl
+       ld e,ixl
+       ld ixh,ixl
+       ld ixl,ixl
+       ld a,iyh
+       ld b,iyh
+       ld c,iyh
+       ld d,iyh
+       ld e,iyh
+       ld iyh,iyh
+       ld iyl,iyh
+       ld a,iyl
+       ld b,iyl
+       ld c,iyl
+       ld d,iyl
+       ld e,iyl
+       ld iyh,iyl
+       ld iyl,iyl
+       ld ixh,a
+       ld ixh,b
+       ld ixh,c
+       ld ixh,d
+       ld ixh,e
+       ld ixh,ixh
+       ld ixh,ixl
+       ld ixh,25
+       ld ixl,a
+       ld ixl,b
+       ld ixl,c
+       ld ixl,d
+       ld ixl,e
+       ld ixl,ixh
+       ld ixl,ixl
+       ld ixl,25
+       ld iyh,a
+       ld iyh,b
+       ld iyh,c
+       ld iyh,d
+       ld iyh,e
+       ld iyh,iyh
+       ld iyh,iyl
+       ld iyh,25
+       ld iyl,a
+       ld iyl,b
+       ld iyl,c
+       ld iyl,d
+       ld iyl,e
+       ld iyl,iyh
+       ld iyl,iyl
+       ld iyl,25
+       add a,ixh
+       add a,ixl
+       add a,iyh
+       add a,iyl
+       adc a,ixh
+       adc a,ixl
+       adc a,iyh
+       adc a,iyl
+       cp a,ixh
+       cp a,ixl
+       cp a,iyh
+       cp a,iyl
+       dec ixh
+       dec ixl
+       dec iyh
+       dec iyl
+       inc ixh
+       inc ixl
+       inc iyh
+       inc iyl
+       sbc a,ixh
+       sbc a,ixl
+       sbc a,iyh
+       sbc a,iyl
+       sub a,ixh
+       sub a,ixl
+       sub a,iyh
+       sub a,iyl
+       and a,ixh
+       and a,ixl
+       and a,iyh
+       and a,iyl
+       or a,ixh
+       or a,ixl
+       or a,iyh
+       or a,iyl
+       xor a,ixh
+       xor a,ixl
+       xor a,iyh
+       xor a,iyl
+
+; Standard Z80 instructions
+
+       adc a,(hl)
+       adc a,(ix+9)
+       adc a,(iy+9)
+       adc a,3
+       adc a,a
+       adc a,b
+       adc a,c
+       adc a,d
+       adc a,e
+       adc a,h
+       adc a,l
+       adc hl,bc
+       adc hl,de
+       adc hl,hl
+       adc hl,sp
+       add a,(hl)
+       add a,(ix+9)
+       add a,(iy+9)
+       add a,3
+       add a,a
+       add a,b
+       add a,c
+       add a,d
+       add a,e
+       add a,h
+       add a,l
+       add hl,bc
+       add hl,de
+       add hl,hl
+       add hl,sp
+       add ix,bc
+       add ix,de
+       add ix,ix
+       add ix,sp
+       add iy,bc
+       add iy,de
+       add iy,iy
+       add iy,sp
+       and (hl)
+       and (ix+9)
+       and (iy+9)
+       and 3
+       and a
+       and b
+       and c
+       and d
+       and e
+       and h
+       and l
+       bit 0,(hl)
+       bit 0,(ix+9)
+       bit 0,(iy+9)
+       bit 0,a
+       bit 0,b
+       bit 0,c
+       bit 0,d
+       bit 0,e
+       bit 0,h
+       bit 0,l
+       bit 1,(hl)
+       bit 1,(ix+9)
+       bit 1,(iy+9)
+       bit 1,a
+       bit 1,b
+       bit 1,c
+       bit 1,d
+       bit 1,e
+       bit 1,h
+       bit 1,l
+       bit 2,(hl)
+       bit 2,(ix+9)
+       bit 2,(iy+9)
+       bit 2,a
+       bit 2,b
+       bit 2,c
+       bit 2,d
+       bit 2,e
+       bit 2,h
+       bit 2,l
+       bit 3,(hl)
+       bit 3,(ix+9)
+       bit 3,(iy+9)
+       bit 3,a
+       bit 3,b
+       bit 3,c
+       bit 3,d
+       bit 3,e
+       bit 3,h
+       bit 3,l
+       bit 4,(hl)
+       bit 4,(ix+9)
+       bit 4,(iy+9)
+       bit 4,a
+       bit 4,b
+       bit 4,c
+       bit 4,d
+       bit 4,e
+       bit 4,h
+       bit 4,l
+       bit 5,(hl)
+       bit 5,(ix+9)
+       bit 5,(iy+9)
+       bit 5,a
+       bit 5,b
+       bit 5,c
+       bit 5,d
+       bit 5,e
+       bit 5,h
+       bit 5,l
+       bit 6,(hl)
+       bit 6,(ix+9)
+       bit 6,(iy+9)
+       bit 6,a
+       bit 6,b
+       bit 6,c
+       bit 6,d
+       bit 6,e
+       bit 6,h
+       bit 6,l
+       bit 7,(hl)
+       bit 7,(ix+9)
+       bit 7,(iy+9)
+       bit 7,a
+       bit 7,b
+       bit 7,c
+       bit 7,d
+       bit 7,e
+       bit 7,h
+       bit 7,l
+       call 0x1234
+       call c,0x1234
+       call m,0x1234
+       call nc,0x1234
+       call nz,0x1234
+       call p,0x1234
+       call pe,0x1234
+       call po,0x1234
+       call z,0x1234
+       ccf
+       cp (hl)
+       cp (ix+9)
+       cp (iy+9)
+       cp 03
+       cp a
+       cp b
+       cp c
+       cp d
+       cp e
+       cp h
+       cp l
+       cpd
+       cpdr
+       cpi
+       cpir
+       cpl
+       daa
+       dec (hl)
+       dec (ix+9)
+       dec (iy+9)
+       dec a
+       dec b
+       dec bc
+       dec c
+       dec d
+       dec de
+       dec e
+       dec h
+       dec hl
+       dec ix
+       dec iy
+       dec l
+       dec sp
+       di
+       djnz .+7
+       ei
+       ex (sp),hl
+       ex (sp),ix
+       ex (sp),iy
+       ex af,af'
+       ex de,hl
+       exx
+       halt
+       im 0
+       im 1
+       im 2
+       in a,(c)
+       in a,(3)
+       in b,(c)
+       in c,(c)
+       in d,(c)
+       in e,(c)
+       in h,(c)
+       in l,(c)
+       inc (hl)
+       inc (ix+9)
+       inc (iy+9)
+       inc a
+       inc b
+       inc bc
+       inc c
+       inc d
+       inc de
+       inc e
+       inc h
+       inc hl
+       inc ix
+       inc iy
+       inc l
+       inc sp
+       ind
+       indr
+       ini
+       inir
+       jp (hl)
+       jp (ix)
+       jp (iy)
+       jp 0x1234
+       jp c,0x1234
+       jp m,0x1234
+       jp nc,0x1234
+       jp nz,0x1234
+       jp p,0x1234
+       jp pe,0x1234
+       jp po,0x1234
+       jp z,0x1234
+       jr .+7
+       jr c,.+7
+       jr nc,.+7
+       jr nz,.+7
+       jr z,.+7
+       ld (0x1234),a
+       ld (0x1234),bc
+       ld (0x1234),de
+       ld (0x1234),hl
+       ld (0x1234),ix
+       ld (0x1234),iy
+       ld (0x1234),sp
+       ld (bc),a
+       ld (de),a
+       ld (hl),3
+       ld (hl),a
+       ld (hl),b
+       ld (hl),c
+       ld (hl),d
+       ld (hl),e
+       ld (hl),h
+       ld (hl),l
+       ld (ix+9),3
+       ld (ix+9),a
+       ld (ix+9),b
+       ld (ix+9),c
+       ld (ix+9),d
+       ld (ix+9),e
+       ld (ix+9),h
+       ld (ix+9),l
+       ld (iy+9),3
+       ld (iy+9),a
+       ld (iy+9),b
+       ld (iy+9),c
+       ld (iy+9),d
+       ld (iy+9),e
+       ld (iy+9),h
+       ld (iy+9),l
+       ld a,(0x1234)
+       ld a,(bc)
+       ld a,(de)
+       ld a,(hl)
+       ld a,(ix+9)
+       ld a,(iy+9)
+       ld a,3
+       ld a,a
+       ld a,b
+       ld a,c
+       ld a,d
+       ld a,e
+       ld a,h
+       ld a,i
+       ld a,l
+       ld a,r
+       ld b,(hl)
+       ld b,(ix+9)
+       ld b,(iy+9)
+       ld b,3
+       ld b,a
+       nop     ;ld b,b
+       ld b,c
+       ld b,d
+       ld b,e
+       ld b,h
+       ld b,l
+       ld bc,(0x1234)
+       ld bc,0x1234
+       ld c,(hl)
+       ld c,(ix+9)
+       ld c,(iy+9)
+       ld c,3
+       ld c,a
+       ld c,b
+       nop     ;ld c,c
+       ld c,d
+       ld c,e
+       ld c,h
+       ld c,l
+       ld d,(hl)
+       ld d,(ix+9)
+       ld d,(iy+9)
+       ld d,3
+       ld d,a
+       ld d,b
+       ld d,c
+       nop ;ld d,d
+       ld d,e
+       ld d,h
+       ld d,l
+       ld de,(0x1234)
+       ld de,0x1234
+       ld e,(hl)
+       ld e,(ix+9)
+       ld e,(iy+9)
+       ld e,3
+       ld e,a
+       ld e,b
+       ld e,c
+       ld e,d
+       nop ;ld e,e
+       ld e,h
+       ld e,l
+       ld h,(hl)
+       ld h,(ix+9)
+       ld h,(iy+9)
+       ld h,3
+       ld h,a
+       ld h,b
+       ld h,c
+       ld h,d
+       ld h,e
+       ld h,h
+       ld h,l
+       ld hl,(0x1234)
+       ld hl,0x1234
+       ld i,a
+       ld ix,(0x1234)
+       ld ix,0x1234
+       ld iy,(0x1234)
+       ld iy,0x1234
+       ld l,(hl)
+       ld l,(ix+9)
+       ld l,(iy+9)
+       ld l,3
+       ld l,a
+       ld l,b
+       ld l,c
+       ld l,d
+       ld l,e
+       ld l,h
+       ld l,l
+       ld r,a
+       ld sp,(0x1234)
+       ld sp,0x1234
+       ld sp,hl
+       ld sp,ix
+       ld sp,iy
+       ldd
+       lddr
+       ldi
+       ldir
+       neg
+       nop
+       or (hl)
+       or (ix+9)
+       or (iy+9)
+       or 3
+       or a
+       or b
+       or c
+       or d
+       or e
+       or h
+       or l
+       otdr
+       otir
+       out (c),a
+       out (c),b
+       out (c),c
+       out (c),d
+       out (c),e
+       out (c),h
+       out (c),l
+       out (3),a
+       outd
+       outi
+       pop af
+       pop bc
+       pop de
+       pop hl
+       pop ix
+       pop iy
+       push af
+       push bc
+       push de
+       push hl
+       push ix
+       push iy
+       res 0,(hl)
+       res 0,(ix+9)
+       res 0,(iy+9)
+       res 0,a
+       res 0,b
+       res 0,c
+       res 0,d
+       res 0,e
+       res 0,h
+       res 0,l
+       res 1,(hl)
+       res 1,(ix+9)
+       res 1,(iy+9)
+       res 1,a
+       res 1,b
+       res 1,c
+       res 1,d
+       res 1,e
+       res 1,h
+       res 1,l
+       res 2,(hl)
+       res 2,(ix+9)
+       res 2,(iy+9)
+       res 2,a
+       res 2,b
+       res 2,c
+       res 2,d
+       res 2,e
+       res 2,h
+       res 2,l
+       res 3,(hl)
+       res 3,(ix+9)
+       res 3,(iy+9)
+       res 3,a
+       res 3,b
+       res 3,c
+       res 3,d
+       res 3,e
+       res 3,h
+       res 3,l
+       res 4,(hl)
+       res 4,(ix+9)
+       res 4,(iy+9)
+       res 4,a
+       res 4,b
+       res 4,c
+       res 4,d
+       res 4,e
+       res 4,h
+       res 4,l
+       res 5,(hl)
+       res 5,(ix+9)
+       res 5,(iy+9)
+       res 5,a
+       res 5,b
+       res 5,c
+       res 5,d
+       res 5,e
+       res 5,h
+       res 5,l
+       res 6,(hl)
+       res 6,(ix+9)
+       res 6,(iy+9)
+       res 6,a
+       res 6,b
+       res 6,c
+       res 6,d
+       res 6,e
+       res 6,h
+       res 6,l
+       res 7,(hl)
+       res 7,(ix+9)
+       res 7,(iy+9)
+       res 7,a
+       res 7,b
+       res 7,c
+       res 7,d
+       res 7,e
+       res 7,h
+       res 7,l
+       ret
+       ret c
+       ret m
+       ret nc
+       ret nz
+       ret p
+       ret pe
+       ret po
+       ret z
+       reti
+       retn
+       rl (hl)
+       rl (ix+9)
+       rl (iy+9)
+       rl a
+       rl b
+       rl c
+       rl d
+       rl e
+       rl h
+       rl l
+       rla
+       rlc (hl)
+       rlc (ix+9)
+       rlc (iy+9)
+       rlc a
+       rlc b
+       rlc c
+       rlc d
+       rlc e
+       rlc h
+       rlc l
+       rlca
+       rld
+       rr (hl)
+       rr (ix+9)
+       rr (iy+9)
+       rr a
+       rr b
+       rr c
+       rr d
+       rr e
+       rr h
+       rr l
+       rra
+       rrc (hl)
+       rrc (ix+9)
+       rrc (iy+9)
+       rrc a
+       rrc b
+       rrc c
+       rrc d
+       rrc e
+       rrc h
+       rrc l
+       rrca
+       rrd
+       rst 0x00
+       rst 0x08
+       rst 0x10
+       rst 0x18
+       rst 0x20
+       rst 0x28
+       rst 0x30
+       rst 0x38
+       sbc a,(hl)
+       sbc a,(ix+9)
+       sbc a,(iy+9)
+       sbc a,3
+       sbc a,a
+       sbc a,b
+       sbc a,c
+       sbc a,d
+       sbc a,e
+       sbc a,h
+       sbc a,l
+       sbc hl,bc
+       sbc hl,de
+       sbc hl,hl
+       sbc hl,sp
+       scf
+       set 0,(hl)
+       set 0,(ix+9)
+       set 0,(iy+9)
+       set 0,a
+       set 0,b
+       set 0,c
+       set 0,d
+       set 0,e
+       set 0,h
+       set 0,l
+       set 1,(hl)
+       set 1,(ix+9)
+       set 1,(iy+9)
+       set 1,a
+       set 1,b
+       set 1,c
+       set 1,d
+       set 1,e
+       set 1,h
+       set 1,l
+       set 2,(hl)
+       set 2,(ix+9)
+       set 2,(iy+9)
+       set 2,a
+       set 2,b
+       set 2,c
+       set 2,d
+       set 2,e
+       set 2,h
+       set 2,l
+       set 3,(hl)
+       set 3,(ix+9)
+       set 3,(iy+9)
+       set 3,a
+       set 3,b
+       set 3,c
+       set 3,d
+       set 3,e
+       set 3,h
+       set 3,l
+       set 4,(hl)
+       set 4,(ix+9)
+       set 4,(iy+9)
+       set 4,a
+       set 4,b
+       set 4,c
+       set 4,d
+       set 4,e
+       set 4,h
+       set 4,l
+       set 5,(hl)
+       set 5,(ix+9)
+       set 5,(iy+9)
+       set 5,a
+       set 5,b
+       set 5,c
+       set 5,d
+       set 5,e
+       set 5,h
+       set 5,l
+       set 6,(hl)
+       set 6,(ix+9)
+       set 6,(iy+9)
+       set 6,a
+       set 6,b
+       set 6,c
+       set 6,d
+       set 6,e
+       set 6,h
+       set 6,l
+       set 7,(hl)
+       set 7,(ix+9)
+       set 7,(iy+9)
+       set 7,a
+       set 7,b
+       set 7,c
+       set 7,d
+       set 7,e
+       set 7,h
+       set 7,l
+       sla (hl)
+       sla (ix+9)
+       sla (iy+9)
+       sla a
+       sla b
+       sla c
+       sla d
+       sla e
+       sla h
+       sla l
+       sra (hl)
+       sra (ix+9)
+       sra (iy+9)
+       sra a
+       sra b
+       sra c
+       sra d
+       sra e
+       sra h
+       sra l
+       srl (hl)
+       srl (ix+9)
+       srl (iy+9)
+       srl a
+       srl b
+       srl c
+       srl d
+       srl e
+       srl h
+       srl l
+       sub (hl)
+       sub (ix+9)
+       sub (iy+9)
+       sub 3
+       sub a
+       sub b
+       sub c
+       sub d
+       sub e
+       sub h
+       sub l
+       xor (hl)
+       xor (ix+9)
+       xor (iy+9)
+       xor 3
+       xor a
+       xor b
+       xor c
+       xor d
+       xor e
+       xor h
+       xor l
diff --git a/gas/testsuite/gas/z80/ez80_z80_suf.d b/gas/testsuite/gas/z80/ez80_z80_suf.d
new file mode 100644 (file)
index 0000000..af35f0b
--- /dev/null
@@ -0,0 +1,314 @@
+#as: -ez80
+#objdump: -d
+#name: eZ80 instructions with sufficies in Z80 cpu mode
+#source: ez80_isuf.s
+
+.*:.*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+[0-9a-f]+:[ ]40 cd 56 34[           ]+call\.sis 0x3456
+\s+[0-9a-f]+:[ ]40 dc 56 34[           ]+call\.sis c,0x3456
+\s+[0-9a-f]+:[ ]40 fc 56 34[           ]+call\.sis m,0x3456
+\s+[0-9a-f]+:[ ]40 d4 56 34[           ]+call\.sis nc,0x3456
+\s+[0-9a-f]+:[ ]40 c4 56 34[           ]+call\.sis nz,0x3456
+\s+[0-9a-f]+:[ ]40 f4 56 34[           ]+call\.sis p,0x3456
+\s+[0-9a-f]+:[ ]40 ec 56 34[           ]+call\.sis pe,0x3456
+\s+[0-9a-f]+:[ ]40 e4 56 34[           ]+call\.sis po,0x3456
+\s+[0-9a-f]+:[ ]40 cc 56 34[           ]+call\.sis z,0x3456
+\s+[0-9a-f]+:[ ]40 c3 56 34[           ]+jp\.sis 0x3456
+\s+[0-9a-f]+:[ ]40 da 56 34[           ]+jp\.sis c,0x3456
+\s+[0-9a-f]+:[ ]40 fa 56 34[           ]+jp\.sis m,0x3456
+\s+[0-9a-f]+:[ ]40 d2 56 34[           ]+jp\.sis nc,0x3456
+\s+[0-9a-f]+:[ ]40 c2 56 34[           ]+jp\.sis nz,0x3456
+\s+[0-9a-f]+:[ ]40 f2 56 34[           ]+jp\.sis p,0x3456
+\s+[0-9a-f]+:[ ]40 ea 56 34[           ]+jp\.sis pe,0x3456
+\s+[0-9a-f]+:[ ]40 e2 56 34[           ]+jp\.sis po,0x3456
+\s+[0-9a-f]+:[ ]40 ca 56 34[           ]+jp\.sis z,0x3456
+\s+[0-9a-f]+:[ ]40 32 56 34[           ]+ld\.sis \(0x3456\),a
+\s+[0-9a-f]+:[ ]40 ed 43 56 34[        ]+ld\.sis \(0x3456\),bc
+\s+[0-9a-f]+:[ ]40 ed 53 56 34[        ]+ld\.sis \(0x3456\),de
+\s+[0-9a-f]+:[ ]40 22 56 34[           ]+ld\.sis \(0x3456\),hl
+\s+[0-9a-f]+:[ ]40 dd 22 56 34[        ]+ld\.sis \(0x3456\),ix
+\s+[0-9a-f]+:[ ]40 fd 22 56 34[        ]+ld\.sis \(0x3456\),iy
+\s+[0-9a-f]+:[ ]40 ed 73 56 34[        ]+ld\.sis \(0x3456\),sp
+\s+[0-9a-f]+:[ ]40 3a 56 34[           ]+ld\.sis a,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 ed 4b 56 34[        ]+ld\.sis bc,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 01 56 34[           ]+ld\.sis bc,0x3456
+\s+[0-9a-f]+:[ ]40 ed 5b 56 34[        ]+ld\.sis de,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 11 56 34[           ]+ld\.sis de,0x3456
+\s+[0-9a-f]+:[ ]40 2a 56 34[           ]+ld\.sis hl,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 21 56 34[           ]+ld\.sis hl,0x3456
+\s+[0-9a-f]+:[ ]40 dd 2a 56 34[        ]+ld\.sis ix,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 dd 21 56 34[        ]+ld\.sis ix,0x3456
+\s+[0-9a-f]+:[ ]40 fd 2a 56 34[        ]+ld\.sis iy,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 fd 21 56 34[        ]+ld\.sis iy,0x3456
+\s+[0-9a-f]+:[ ]40 ed 7b 56 34[        ]+ld\.sis sp,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 31 56 34[           ]+ld\.sis sp,0x3456
+\s+[0-9a-f]+:[ ]49 cd 56 34[           ]+call\.lis 0x3456
+\s+[0-9a-f]+:[ ]49 dc 56 34[           ]+call\.lis c,0x3456
+\s+[0-9a-f]+:[ ]49 fc 56 34[           ]+call\.lis m,0x3456
+\s+[0-9a-f]+:[ ]49 d4 56 34[           ]+call\.lis nc,0x3456
+\s+[0-9a-f]+:[ ]49 c4 56 34[           ]+call\.lis nz,0x3456
+\s+[0-9a-f]+:[ ]49 f4 56 34[           ]+call\.lis p,0x3456
+\s+[0-9a-f]+:[ ]49 ec 56 34[           ]+call\.lis pe,0x3456
+\s+[0-9a-f]+:[ ]49 e4 56 34[           ]+call\.lis po,0x3456
+\s+[0-9a-f]+:[ ]49 cc 56 34[           ]+call\.lis z,0x3456
+\s+[0-9a-f]+:[ ]49 c3 56 34[           ]+jp\.lis 0x3456
+\s+[0-9a-f]+:[ ]49 da 56 34[           ]+jp\.lis c,0x3456
+\s+[0-9a-f]+:[ ]49 fa 56 34[           ]+jp\.lis m,0x3456
+\s+[0-9a-f]+:[ ]49 d2 56 34[           ]+jp\.lis nc,0x3456
+\s+[0-9a-f]+:[ ]49 c2 56 34[           ]+jp\.lis nz,0x3456
+\s+[0-9a-f]+:[ ]49 f2 56 34[           ]+jp\.lis p,0x3456
+\s+[0-9a-f]+:[ ]49 ea 56 34[           ]+jp\.lis pe,0x3456
+\s+[0-9a-f]+:[ ]49 e2 56 34[           ]+jp\.lis po,0x3456
+\s+[0-9a-f]+:[ ]49 ca 56 34[           ]+jp\.lis z,0x3456
+\s+[0-9a-f]+:[ ]49 32 56 34[           ]+ld\.lis \(0x3456\),a
+\s+[0-9a-f]+:[ ]49 ed 43 56 34[        ]+ld\.lis \(0x3456\),bc
+\s+[0-9a-f]+:[ ]49 ed 53 56 34[        ]+ld\.lis \(0x3456\),de
+\s+[0-9a-f]+:[ ]49 22 56 34[           ]+ld\.lis \(0x3456\),hl
+\s+[0-9a-f]+:[ ]49 dd 22 56 34[        ]+ld\.lis \(0x3456\),ix
+\s+[0-9a-f]+:[ ]49 fd 22 56 34[        ]+ld\.lis \(0x3456\),iy
+\s+[0-9a-f]+:[ ]49 ed 73 56 34[        ]+ld\.lis \(0x3456\),sp
+\s+[0-9a-f]+:[ ]49 3a 56 34[           ]+ld\.lis a,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 ed 4b 56 34[        ]+ld\.lis bc,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 01 56 34[           ]+ld\.lis bc,0x3456
+\s+[0-9a-f]+:[ ]49 ed 5b 56 34[        ]+ld\.lis de,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 11 56 34[           ]+ld\.lis de,0x3456
+\s+[0-9a-f]+:[ ]49 2a 56 34[           ]+ld\.lis hl,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 21 56 34[           ]+ld\.lis hl,0x3456
+\s+[0-9a-f]+:[ ]49 dd 2a 56 34[        ]+ld\.lis ix,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 dd 21 56 34[        ]+ld\.lis ix,0x3456
+\s+[0-9a-f]+:[ ]49 fd 2a 56 34[        ]+ld\.lis iy,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 fd 21 56 34[        ]+ld\.lis iy,0x3456
+\s+[0-9a-f]+:[ ]49 ed 7b 56 34[        ]+ld\.lis sp,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 31 56 34[           ]+ld\.lis sp,0x3456
+\s+[0-9a-f]+:[ ]40 cd 56 34[           ]+call\.sis 0x3456
+\s+[0-9a-f]+:[ ]40 dc 56 34[           ]+call\.sis c,0x3456
+\s+[0-9a-f]+:[ ]40 fc 56 34[           ]+call\.sis m,0x3456
+\s+[0-9a-f]+:[ ]40 d4 56 34[           ]+call\.sis nc,0x3456
+\s+[0-9a-f]+:[ ]40 c4 56 34[           ]+call\.sis nz,0x3456
+\s+[0-9a-f]+:[ ]40 f4 56 34[           ]+call\.sis p,0x3456
+\s+[0-9a-f]+:[ ]40 ec 56 34[           ]+call\.sis pe,0x3456
+\s+[0-9a-f]+:[ ]40 e4 56 34[           ]+call\.sis po,0x3456
+\s+[0-9a-f]+:[ ]40 cc 56 34[           ]+call\.sis z,0x3456
+\s+[0-9a-f]+:[ ]40 c3 56 34[           ]+jp\.sis 0x3456
+\s+[0-9a-f]+:[ ]40 da 56 34[           ]+jp\.sis c,0x3456
+\s+[0-9a-f]+:[ ]40 fa 56 34[           ]+jp\.sis m,0x3456
+\s+[0-9a-f]+:[ ]40 d2 56 34[           ]+jp\.sis nc,0x3456
+\s+[0-9a-f]+:[ ]40 c2 56 34[           ]+jp\.sis nz,0x3456
+\s+[0-9a-f]+:[ ]40 f2 56 34[           ]+jp\.sis p,0x3456
+\s+[0-9a-f]+:[ ]40 ea 56 34[           ]+jp\.sis pe,0x3456
+\s+[0-9a-f]+:[ ]40 e2 56 34[           ]+jp\.sis po,0x3456
+\s+[0-9a-f]+:[ ]40 ca 56 34[           ]+jp\.sis z,0x3456
+\s+[0-9a-f]+:[ ]40 32 56 34[           ]+ld\.sis \(0x3456\),a
+\s+[0-9a-f]+:[ ]40 ed 43 56 34[        ]+ld\.sis \(0x3456\),bc
+\s+[0-9a-f]+:[ ]40 ed 53 56 34[        ]+ld\.sis \(0x3456\),de
+\s+[0-9a-f]+:[ ]40 22 56 34[           ]+ld\.sis \(0x3456\),hl
+\s+[0-9a-f]+:[ ]40 dd 22 56 34[        ]+ld\.sis \(0x3456\),ix
+\s+[0-9a-f]+:[ ]40 fd 22 56 34[        ]+ld\.sis \(0x3456\),iy
+\s+[0-9a-f]+:[ ]40 ed 73 56 34[        ]+ld\.sis \(0x3456\),sp
+\s+[0-9a-f]+:[ ]40 3a 56 34[           ]+ld\.sis a,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 ed 4b 56 34[        ]+ld\.sis bc,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 01 56 34[           ]+ld\.sis bc,0x3456
+\s+[0-9a-f]+:[ ]40 ed 5b 56 34[        ]+ld\.sis de,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 11 56 34[           ]+ld\.sis de,0x3456
+\s+[0-9a-f]+:[ ]40 2a 56 34[           ]+ld\.sis hl,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 21 56 34[           ]+ld\.sis hl,0x3456
+\s+[0-9a-f]+:[ ]40 dd 2a 56 34[        ]+ld\.sis ix,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 dd 21 56 34[        ]+ld\.sis ix,0x3456
+\s+[0-9a-f]+:[ ]40 fd 2a 56 34[        ]+ld\.sis iy,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 fd 21 56 34[        ]+ld\.sis iy,0x3456
+\s+[0-9a-f]+:[ ]40 ed 7b 56 34[        ]+ld\.sis sp,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 31 56 34[           ]+ld\.sis sp,0x3456
+\s+[0-9a-f]+:[ ]52 cd 56 34 12[        ]+call\.sil 0x123456
+\s+[0-9a-f]+:[ ]52 dc 56 34 12[        ]+call\.sil c,0x123456
+\s+[0-9a-f]+:[ ]52 fc 56 34 12[        ]+call\.sil m,0x123456
+\s+[0-9a-f]+:[ ]52 d4 56 34 12[        ]+call\.sil nc,0x123456
+\s+[0-9a-f]+:[ ]52 c4 56 34 12[        ]+call\.sil nz,0x123456
+\s+[0-9a-f]+:[ ]52 f4 56 34 12[        ]+call\.sil p,0x123456
+\s+[0-9a-f]+:[ ]52 ec 56 34 12[        ]+call\.sil pe,0x123456
+\s+[0-9a-f]+:[ ]52 e4 56 34 12[        ]+call\.sil po,0x123456
+\s+[0-9a-f]+:[ ]52 cc 56 34 12[        ]+call\.sil z,0x123456
+\s+[0-9a-f]+:[ ]52 c3 56 34 12[        ]+jp\.sil 0x123456
+\s+[0-9a-f]+:[ ]52 da 56 34 12[        ]+jp\.sil c,0x123456
+\s+[0-9a-f]+:[ ]52 fa 56 34 12[        ]+jp\.sil m,0x123456
+\s+[0-9a-f]+:[ ]52 d2 56 34 12[        ]+jp\.sil nc,0x123456
+\s+[0-9a-f]+:[ ]52 c2 56 34 12[        ]+jp\.sil nz,0x123456
+\s+[0-9a-f]+:[ ]52 f2 56 34 12[        ]+jp\.sil p,0x123456
+\s+[0-9a-f]+:[ ]52 ea 56 34 12[        ]+jp\.sil pe,0x123456
+\s+[0-9a-f]+:[ ]52 e2 56 34 12[        ]+jp\.sil po,0x123456
+\s+[0-9a-f]+:[ ]52 ca 56 34 12[        ]+jp\.sil z,0x123456
+\s+[0-9a-f]+:[ ]52 32 56 34 12[        ]+ld\.sil \(0x123456\),a
+\s+[0-9a-f]+:[ ]52 ed 43 56 34 12[     ]+ld\.sil \(0x123456\),bc
+\s+[0-9a-f]+:[ ]52 ed 53 56 34 12[     ]+ld\.sil \(0x123456\),de
+\s+[0-9a-f]+:[ ]52 22 56 34 12[        ]+ld\.sil \(0x123456\),hl
+\s+[0-9a-f]+:[ ]52 dd 22 56 34 12[     ]+ld\.sil \(0x123456\),ix
+\s+[0-9a-f]+:[ ]52 fd 22 56 34 12[     ]+ld\.sil \(0x123456\),iy
+\s+[0-9a-f]+:[ ]52 ed 73 56 34 12[     ]+ld\.sil \(0x123456\),sp
+\s+[0-9a-f]+:[ ]52 3a 56 34 12[        ]+ld\.sil a,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 ed 4b 56 34 12[     ]+ld\.sil bc,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 01 56 34 12[        ]+ld\.sil bc,0x123456
+\s+[0-9a-f]+:[ ]52 ed 5b 56 34 12[     ]+ld\.sil de,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 11 56 34 12[        ]+ld\.sil de,0x123456
+\s+[0-9a-f]+:[ ]52 2a 56 34 12[        ]+ld\.sil hl,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 21 56 34 12[        ]+ld\.sil hl,0x123456
+\s+[0-9a-f]+:[ ]52 dd 2a 56 34 12[     ]+ld\.sil ix,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 dd 21 56 34 12[     ]+ld\.sil ix,0x123456
+\s+[0-9a-f]+:[ ]52 fd 2a 56 34 12[     ]+ld\.sil iy,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 fd 21 56 34 12[     ]+ld\.sil iy,0x123456
+\s+[0-9a-f]+:[ ]52 ed 7b 56 34 12[     ]+ld\.sil sp,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 31 56 34 12[        ]+ld\.sil sp,0x123456
+\s+[0-9a-f]+:[ ]40 cd 56 34[           ]+call\.sis 0x3456
+\s+[0-9a-f]+:[ ]40 dc 56 34[           ]+call\.sis c,0x3456
+\s+[0-9a-f]+:[ ]40 fc 56 34[           ]+call\.sis m,0x3456
+\s+[0-9a-f]+:[ ]40 d4 56 34[           ]+call\.sis nc,0x3456
+\s+[0-9a-f]+:[ ]40 c4 56 34[           ]+call\.sis nz,0x3456
+\s+[0-9a-f]+:[ ]40 f4 56 34[           ]+call\.sis p,0x3456
+\s+[0-9a-f]+:[ ]40 ec 56 34[           ]+call\.sis pe,0x3456
+\s+[0-9a-f]+:[ ]40 e4 56 34[           ]+call\.sis po,0x3456
+\s+[0-9a-f]+:[ ]40 cc 56 34[           ]+call\.sis z,0x3456
+\s+[0-9a-f]+:[ ]40 c3 56 34[           ]+jp\.sis 0x3456
+\s+[0-9a-f]+:[ ]40 da 56 34[           ]+jp\.sis c,0x3456
+\s+[0-9a-f]+:[ ]40 fa 56 34[           ]+jp\.sis m,0x3456
+\s+[0-9a-f]+:[ ]40 d2 56 34[           ]+jp\.sis nc,0x3456
+\s+[0-9a-f]+:[ ]40 c2 56 34[           ]+jp\.sis nz,0x3456
+\s+[0-9a-f]+:[ ]40 f2 56 34[           ]+jp\.sis p,0x3456
+\s+[0-9a-f]+:[ ]40 ea 56 34[           ]+jp\.sis pe,0x3456
+\s+[0-9a-f]+:[ ]40 e2 56 34[           ]+jp\.sis po,0x3456
+\s+[0-9a-f]+:[ ]40 ca 56 34[           ]+jp\.sis z,0x3456
+\s+[0-9a-f]+:[ ]40 32 56 34[           ]+ld\.sis \(0x3456\),a
+\s+[0-9a-f]+:[ ]40 ed 43 56 34[        ]+ld\.sis \(0x3456\),bc
+\s+[0-9a-f]+:[ ]40 ed 53 56 34[        ]+ld\.sis \(0x3456\),de
+\s+[0-9a-f]+:[ ]40 22 56 34[           ]+ld\.sis \(0x3456\),hl
+\s+[0-9a-f]+:[ ]40 dd 22 56 34[        ]+ld\.sis \(0x3456\),ix
+\s+[0-9a-f]+:[ ]40 fd 22 56 34[        ]+ld\.sis \(0x3456\),iy
+\s+[0-9a-f]+:[ ]40 ed 73 56 34[        ]+ld\.sis \(0x3456\),sp
+\s+[0-9a-f]+:[ ]40 3a 56 34[           ]+ld\.sis a,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 ed 4b 56 34[        ]+ld\.sis bc,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 01 56 34[           ]+ld\.sis bc,0x3456
+\s+[0-9a-f]+:[ ]40 ed 5b 56 34[        ]+ld\.sis de,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 11 56 34[           ]+ld\.sis de,0x3456
+\s+[0-9a-f]+:[ ]40 2a 56 34[           ]+ld\.sis hl,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 21 56 34[           ]+ld\.sis hl,0x3456
+\s+[0-9a-f]+:[ ]40 dd 2a 56 34[        ]+ld\.sis ix,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 dd 21 56 34[        ]+ld\.sis ix,0x3456
+\s+[0-9a-f]+:[ ]40 fd 2a 56 34[        ]+ld\.sis iy,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 fd 21 56 34[        ]+ld\.sis iy,0x3456
+\s+[0-9a-f]+:[ ]40 ed 7b 56 34[        ]+ld\.sis sp,\(0x3456\)
+\s+[0-9a-f]+:[ ]40 31 56 34[           ]+ld\.sis sp,0x3456
+\s+[0-9a-f]+:[ ]49 cd 56 34[           ]+call\.lis 0x3456
+\s+[0-9a-f]+:[ ]49 dc 56 34[           ]+call\.lis c,0x3456
+\s+[0-9a-f]+:[ ]49 fc 56 34[           ]+call\.lis m,0x3456
+\s+[0-9a-f]+:[ ]49 d4 56 34[           ]+call\.lis nc,0x3456
+\s+[0-9a-f]+:[ ]49 c4 56 34[           ]+call\.lis nz,0x3456
+\s+[0-9a-f]+:[ ]49 f4 56 34[           ]+call\.lis p,0x3456
+\s+[0-9a-f]+:[ ]49 ec 56 34[           ]+call\.lis pe,0x3456
+\s+[0-9a-f]+:[ ]49 e4 56 34[           ]+call\.lis po,0x3456
+\s+[0-9a-f]+:[ ]49 cc 56 34[           ]+call\.lis z,0x3456
+\s+[0-9a-f]+:[ ]49 c3 56 34[           ]+jp\.lis 0x3456
+\s+[0-9a-f]+:[ ]49 da 56 34[           ]+jp\.lis c,0x3456
+\s+[0-9a-f]+:[ ]49 fa 56 34[           ]+jp\.lis m,0x3456
+\s+[0-9a-f]+:[ ]49 d2 56 34[           ]+jp\.lis nc,0x3456
+\s+[0-9a-f]+:[ ]49 c2 56 34[           ]+jp\.lis nz,0x3456
+\s+[0-9a-f]+:[ ]49 f2 56 34[           ]+jp\.lis p,0x3456
+\s+[0-9a-f]+:[ ]49 ea 56 34[           ]+jp\.lis pe,0x3456
+\s+[0-9a-f]+:[ ]49 e2 56 34[           ]+jp\.lis po,0x3456
+\s+[0-9a-f]+:[ ]49 ca 56 34[           ]+jp\.lis z,0x3456
+\s+[0-9a-f]+:[ ]49 32 56 34[           ]+ld\.lis \(0x3456\),a
+\s+[0-9a-f]+:[ ]49 ed 43 56 34[        ]+ld\.lis \(0x3456\),bc
+\s+[0-9a-f]+:[ ]49 ed 53 56 34[        ]+ld\.lis \(0x3456\),de
+\s+[0-9a-f]+:[ ]49 22 56 34[           ]+ld\.lis \(0x3456\),hl
+\s+[0-9a-f]+:[ ]49 dd 22 56 34[        ]+ld\.lis \(0x3456\),ix
+\s+[0-9a-f]+:[ ]49 fd 22 56 34[        ]+ld\.lis \(0x3456\),iy
+\s+[0-9a-f]+:[ ]49 ed 73 56 34[        ]+ld\.lis \(0x3456\),sp
+\s+[0-9a-f]+:[ ]49 3a 56 34[           ]+ld\.lis a,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 ed 4b 56 34[        ]+ld\.lis bc,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 01 56 34[           ]+ld\.lis bc,0x3456
+\s+[0-9a-f]+:[ ]49 ed 5b 56 34[        ]+ld\.lis de,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 11 56 34[           ]+ld\.lis de,0x3456
+\s+[0-9a-f]+:[ ]49 2a 56 34[           ]+ld\.lis hl,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 21 56 34[           ]+ld\.lis hl,0x3456
+\s+[0-9a-f]+:[ ]49 dd 2a 56 34[        ]+ld\.lis ix,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 dd 21 56 34[        ]+ld\.lis ix,0x3456
+\s+[0-9a-f]+:[ ]49 fd 2a 56 34[        ]+ld\.lis iy,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 fd 21 56 34[        ]+ld\.lis iy,0x3456
+\s+[0-9a-f]+:[ ]49 ed 7b 56 34[        ]+ld\.lis sp,\(0x3456\)
+\s+[0-9a-f]+:[ ]49 31 56 34[           ]+ld\.lis sp,0x3456
+\s+[0-9a-f]+:[ ]52 cd 56 34 12[        ]+call\.sil 0x123456
+\s+[0-9a-f]+:[ ]52 dc 56 34 12[        ]+call\.sil c,0x123456
+\s+[0-9a-f]+:[ ]52 fc 56 34 12[        ]+call\.sil m,0x123456
+\s+[0-9a-f]+:[ ]52 d4 56 34 12[        ]+call\.sil nc,0x123456
+\s+[0-9a-f]+:[ ]52 c4 56 34 12[        ]+call\.sil nz,0x123456
+\s+[0-9a-f]+:[ ]52 f4 56 34 12[        ]+call\.sil p,0x123456
+\s+[0-9a-f]+:[ ]52 ec 56 34 12[        ]+call\.sil pe,0x123456
+\s+[0-9a-f]+:[ ]52 e4 56 34 12[        ]+call\.sil po,0x123456
+\s+[0-9a-f]+:[ ]52 cc 56 34 12[        ]+call\.sil z,0x123456
+\s+[0-9a-f]+:[ ]52 c3 56 34 12[        ]+jp\.sil 0x123456
+\s+[0-9a-f]+:[ ]52 da 56 34 12[        ]+jp\.sil c,0x123456
+\s+[0-9a-f]+:[ ]52 fa 56 34 12[        ]+jp\.sil m,0x123456
+\s+[0-9a-f]+:[ ]52 d2 56 34 12[        ]+jp\.sil nc,0x123456
+\s+[0-9a-f]+:[ ]52 c2 56 34 12[        ]+jp\.sil nz,0x123456
+\s+[0-9a-f]+:[ ]52 f2 56 34 12[        ]+jp\.sil p,0x123456
+\s+[0-9a-f]+:[ ]52 ea 56 34 12[        ]+jp\.sil pe,0x123456
+\s+[0-9a-f]+:[ ]52 e2 56 34 12[        ]+jp\.sil po,0x123456
+\s+[0-9a-f]+:[ ]52 ca 56 34 12[        ]+jp\.sil z,0x123456
+\s+[0-9a-f]+:[ ]52 32 56 34 12[        ]+ld\.sil \(0x123456\),a
+\s+[0-9a-f]+:[ ]52 ed 43 56 34 12[     ]+ld\.sil \(0x123456\),bc
+\s+[0-9a-f]+:[ ]52 ed 53 56 34 12[     ]+ld\.sil \(0x123456\),de
+\s+[0-9a-f]+:[ ]52 22 56 34 12[        ]+ld\.sil \(0x123456\),hl
+\s+[0-9a-f]+:[ ]52 dd 22 56 34 12[     ]+ld\.sil \(0x123456\),ix
+\s+[0-9a-f]+:[ ]52 fd 22 56 34 12[     ]+ld\.sil \(0x123456\),iy
+\s+[0-9a-f]+:[ ]52 ed 73 56 34 12[     ]+ld\.sil \(0x123456\),sp
+\s+[0-9a-f]+:[ ]52 3a 56 34 12[        ]+ld\.sil a,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 ed 4b 56 34 12[     ]+ld\.sil bc,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 01 56 34 12[        ]+ld\.sil bc,0x123456
+\s+[0-9a-f]+:[ ]52 ed 5b 56 34 12[     ]+ld\.sil de,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 11 56 34 12[        ]+ld\.sil de,0x123456
+\s+[0-9a-f]+:[ ]52 2a 56 34 12[        ]+ld\.sil hl,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 21 56 34 12[        ]+ld\.sil hl,0x123456
+\s+[0-9a-f]+:[ ]52 dd 2a 56 34 12[     ]+ld\.sil ix,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 dd 21 56 34 12[     ]+ld\.sil ix,0x123456
+\s+[0-9a-f]+:[ ]52 fd 2a 56 34 12[     ]+ld\.sil iy,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 fd 21 56 34 12[     ]+ld\.sil iy,0x123456
+\s+[0-9a-f]+:[ ]52 ed 7b 56 34 12[     ]+ld\.sil sp,\(0x123456\)
+\s+[0-9a-f]+:[ ]52 31 56 34 12[        ]+ld\.sil sp,0x123456
+\s+[0-9a-f]+:[ ]5b cd 56 34 12[        ]+call\.lil 0x123456
+\s+[0-9a-f]+:[ ]5b dc 56 34 12[        ]+call\.lil c,0x123456
+\s+[0-9a-f]+:[ ]5b fc 56 34 12[        ]+call\.lil m,0x123456
+\s+[0-9a-f]+:[ ]5b d4 56 34 12[        ]+call\.lil nc,0x123456
+\s+[0-9a-f]+:[ ]5b c4 56 34 12[        ]+call\.lil nz,0x123456
+\s+[0-9a-f]+:[ ]5b f4 56 34 12[        ]+call\.lil p,0x123456
+\s+[0-9a-f]+:[ ]5b ec 56 34 12[        ]+call\.lil pe,0x123456
+\s+[0-9a-f]+:[ ]5b e4 56 34 12[        ]+call\.lil po,0x123456
+\s+[0-9a-f]+:[ ]5b cc 56 34 12[        ]+call\.lil z,0x123456
+\s+[0-9a-f]+:[ ]5b c3 56 34 12[        ]+jp\.lil 0x123456
+\s+[0-9a-f]+:[ ]5b da 56 34 12[        ]+jp\.lil c,0x123456
+\s+[0-9a-f]+:[ ]5b fa 56 34 12[        ]+jp\.lil m,0x123456
+\s+[0-9a-f]+:[ ]5b d2 56 34 12[        ]+jp\.lil nc,0x123456
+\s+[0-9a-f]+:[ ]5b c2 56 34 12[        ]+jp\.lil nz,0x123456
+\s+[0-9a-f]+:[ ]5b f2 56 34 12[        ]+jp\.lil p,0x123456
+\s+[0-9a-f]+:[ ]5b ea 56 34 12[        ]+jp\.lil pe,0x123456
+\s+[0-9a-f]+:[ ]5b e2 56 34 12[        ]+jp\.lil po,0x123456
+\s+[0-9a-f]+:[ ]5b ca 56 34 12[        ]+jp\.lil z,0x123456
+\s+[0-9a-f]+:[ ]5b 32 56 34 12[        ]+ld\.lil \(0x123456\),a
+\s+[0-9a-f]+:[ ]5b ed 43 56 34 12[     ]+ld\.lil \(0x123456\),bc
+\s+[0-9a-f]+:[ ]5b ed 53 56 34 12[     ]+ld\.lil \(0x123456\),de
+\s+[0-9a-f]+:[ ]5b 22 56 34 12[        ]+ld\.lil \(0x123456\),hl
+\s+[0-9a-f]+:[ ]5b dd 22 56 34 12[     ]+ld\.lil \(0x123456\),ix
+\s+[0-9a-f]+:[ ]5b fd 22 56 34 12[     ]+ld\.lil \(0x123456\),iy
+\s+[0-9a-f]+:[ ]5b ed 73 56 34 12[     ]+ld\.lil \(0x123456\),sp
+\s+[0-9a-f]+:[ ]5b 3a 56 34 12[        ]+ld\.lil a,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b ed 4b 56 34 12[     ]+ld\.lil bc,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 01 56 34 12[        ]+ld\.lil bc,0x123456
+\s+[0-9a-f]+:[ ]5b ed 5b 56 34 12[     ]+ld\.lil de,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 11 56 34 12[        ]+ld\.lil de,0x123456
+\s+[0-9a-f]+:[ ]5b 2a 56 34 12[        ]+ld\.lil hl,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 21 56 34 12[        ]+ld\.lil hl,0x123456
+\s+[0-9a-f]+:[ ]5b dd 2a 56 34 12[     ]+ld\.lil ix,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b dd 21 56 34 12[     ]+ld\.lil ix,0x123456
+\s+[0-9a-f]+:[ ]5b fd 2a 56 34 12[     ]+ld\.lil iy,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b fd 21 56 34 12[     ]+ld\.lil iy,0x123456
+\s+[0-9a-f]+:[ ]5b ed 7b 56 34 12[     ]+ld\.lil sp,\(0x123456\)
+\s+[0-9a-f]+:[ ]5b 31 56 34 12[        ]+ld\.lil sp,0x123456
diff --git a/gas/testsuite/gas/z80/fp_math48.d b/gas/testsuite/gas/z80/fp_math48.d
new file mode 100644 (file)
index 0000000..afd8927
--- /dev/null
@@ -0,0 +1,23 @@
+#name: Math48 floating point numbers
+#objdump: -s -j .data
+#as: -float=math48
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+Contents of section \.data:
+ 0000 00000000 00000000 00000000 81000000[ ]+.*
+ 0010 00008100 00000080 82000000 00008200[ ]+.*
+ 0020 00000080 84000000 00708400 000000f0[ ]+.*
+ 0030 87000000 00488700 000000c8 7dcdcccc[ ]+.*
+ 0040 cc4c7dcd cccccccc 01000000 0000ffff[ ]+.*
+ 0050 ffffff7f 01000000 0080ffff ffffffff[ ]+.*
+ 0060 7b951235 fa0e8400 00000020 89000000[ ]+.*
+ 0070 00347faa aaaaaa2a 87000000 00dc8d00[ ]+.*
+ 0080 00008077 93000000 6ca29700 0000074b[ ]+.*
+ 0090 9a000040 45987f37 a9d85b5e 80fa33f3[ ]+.*
+ 00a0 04357e4c 8ee9cf06 8321a2da 0f4980d2[ ]+.*
+ 00b0 f7177231 81000000 00008e00 0000401c[ ]+.*
+ 00c0 9b000020 bc3ea800 10a5d468 b604bfc9[ ]+.*
+ 00d0 1b0ec3ac c5eb782d d0cdce1b c253def9[ ]+.*
+ 00e0 78393f01 eb2ba8ad c51df8c9 7bce9740[ ]+.*
+#pass
diff --git a/gas/testsuite/gas/z80/fp_math48.s b/gas/testsuite/gas/z80/fp_math48.s
new file mode 100644 (file)
index 0000000..d415697
--- /dev/null
@@ -0,0 +1,39 @@
+       .data
+       .float  0, -0
+       .float  1, -1
+       .float  2, -2
+       .float  15, -15
+       .float  100, -100
+       .float  0.1, -0.1
+       .float  2.938735877056E-39      ;smallest positive number
+       .float  1.701411834603E+38      ;largest positive number
+       .float  -2.938735877056E-39     ;largest negative number
+       .float  -1.701411834603E+38     ;smallest negative number
+; constants present as binaries in Math48 library
+       .float  0.0174532925199433      ;7b 95 12 35 fa 0e - PI/180
+       .float  10      ;84 00 00 00 00 20
+       .float  360     ;89 00 00 00 00 34
+       .float  0.333333333333  ;7f aa aa aa aa 2a
+       .float  -110            ;87 00 00 00 00 dc
+       .float  7920            ;8d 00 00 00 80 77
+       .float  -332640         ;93 00 00 00 6c a2
+       .float  6652800         ;97 00 00 00 07 4b
+       .float  -39916800       ;9a 00 00 40 45 98
+       .float  0.4342944819033 ;7f 36 a9 d8 5b 5e - 1/ln(10)
+       .float  0.7071067811865 ;80 fb 33 f3 04 35 - sqrt(2)/2
+       .float  0.1316524975874 ;7e 4a 8e e9 cf 06 - TAN(PI/24)
+       .float  6.2831853071796 ;82 21 a2 da 0f 49 - 2*PI
+       .float  0.69314718056   ;80 d2 f7 17 72 31 - ln(2)
+       .float  1e+0    ;81 00 00 00 00 00
+       .float  1e+4    ;8e 00 00 00 40 1c
+       .float  1e+8    ;9b 00 00 20 bc 3e
+       .float  1e+12   ;a8 00 10 a5 4d 68
+       .float  1e+16   ;b6 04 bf c9 1b 0e
+       .float  1e+20   ;c3 ac c5 eb 78 2d
+       .float  1e+24   ;d0 cd ce 1b c2 53
+       .float  1e+28   ;de f9 78 39 3f 01
+       .float  1e+32   ;eb 2b a8 ad c5 1d
+       .float  1e+36   ;f8 c9 7b ce 97 40
+       .float  1.2
+       .float  1337
+       .end
diff --git a/gas/testsuite/gas/z80/fp_zeda32.d b/gas/testsuite/gas/z80/fp_zeda32.d
new file mode 100644 (file)
index 0000000..38f568c
--- /dev/null
@@ -0,0 +1,13 @@
+#name: Zeda32 floating point numbers
+#as: -float=zeda32
+#objdump: -s -j .data
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+Contents of section \.data:
+ 0000 db0f4981 54f82d81 3baa3880 1872317f[  ]+.*
+ 0010 9b201a7e 789a5481 00000000 00000080[  ]+.*
+ 0020 00004000 0000c000 00002000 d95b5e7e[  ]+.*
+ 0030 db0f4982 83f9227d 0000007e 0000007f[  ]+.*
+ 0040 00000001 00008001 ffff7fff ffffffff[  ]+.*
+#pass
diff --git a/gas/testsuite/gas/z80/fp_zeda32.s b/gas/testsuite/gas/z80/fp_zeda32.s
new file mode 100644 (file)
index 0000000..d1c1ba6
--- /dev/null
@@ -0,0 +1,26 @@
+       .data
+       .float  3.14159265358979        ;PI
+       .float  2.71828182845904        ;e
+       .float  1.44269504088896        ;log2(e)
+       .float  0.693147180559945       ;ln(2)
+       .float  0.301029995663981       ;log10(2)
+       .float  3.32192809488736        ;log2(10)
+       .float  0
+       .float  1
+       .float  +inf
+       .float  -inf
+       .float  NaN
+       .float  0.434294481903252       ;1/ln(10) = log10(e)
+       .float  6.28318530717958        ;2*PI
+       .float  0.159154943091896       ;1/(2*PI)
+       .float  0.25
+       .float  0.5
+       .float  5.87747175411144E-39    ;min positive number
+       .float  -5.87747175411144E-39   ;max negative number
+       .float  3.4028235e+38   ;max positive number
+       .float  -3.4028235e+38  ;min negative number
+       .end
+
+
+
+
diff --git a/gas/testsuite/gas/z80/r800_extra.d b/gas/testsuite/gas/z80/r800_extra.d
new file mode 100644 (file)
index 0000000..c700c1f
--- /dev/null
@@ -0,0 +1,16 @@
+#as: -r800
+#objdump: -d
+#name: R800 specific instructions
+
+.*:.*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+[0-9a-f]+:[ ]ed 70[         ]+in f,\(c\)
+\s+[0-9a-f]+:[ ]ed c5[         ]+mulub a,b
+\s+[0-9a-f]+:[ ]ed cd[         ]+mulub a,c
+\s+[0-9a-f]+:[ ]ed d5[         ]+mulub a,d
+\s+[0-9a-f]+:[ ]ed dd[         ]+mulub a,e
+\s+[0-9a-f]+:[ ]ed c3[         ]+muluw hl,bc
+\s+[0-9a-f]+:[ ]ed f3[         ]+muluw hl,sp
diff --git a/gas/testsuite/gas/z80/r800_extra.s b/gas/testsuite/gas/z80/r800_extra.s
new file mode 100644 (file)
index 0000000..e280523
--- /dev/null
@@ -0,0 +1,13 @@
+       .text
+       .org    0
+       ;; R800 extra instructions
+
+       in f,(c)
+
+       mulub a,b
+       mulub a,c
+       mulub a,d
+       mulub a,e
+
+       muluw hl,bc
+       muluw hl,sp
diff --git a/gas/testsuite/gas/z80/r800_ii8.d b/gas/testsuite/gas/z80/r800_ii8.d
new file mode 100644 (file)
index 0000000..c4b6ca2
--- /dev/null
@@ -0,0 +1,110 @@
+#as: -r800
+#objdump: -d
+#name: halves of index register for R800
+#source: z80_ii8.s
+
+.*:.*
+
+Disassembly of section .text:
+
+0+ <.text>:
+[  ]+0:[       ]+dd 7c[        ]+ld a,ixh
+[  ]+2:[       ]+dd 44[        ]+ld b,ixh
+[  ]+4:[       ]+dd 4c[        ]+ld c,ixh
+[  ]+6:[       ]+dd 54[        ]+ld d,ixh
+[  ]+8:[       ]+dd 5c[        ]+ld e,ixh
+[  ]+a:[       ]+dd 64[        ]+ld ixh,ixh
+[  ]+c:[       ]+dd 6c[        ]+ld ixl,ixh
+[  ]+e:[       ]+dd 7d[        ]+ld a,ixl
+[ ]+10:[       ]+dd 45[        ]+ld b,ixl
+[ ]+12:[       ]+dd 4d[        ]+ld c,ixl
+[ ]+14:[       ]+dd 55[        ]+ld d,ixl
+[ ]+16:[       ]+dd 5d[        ]+ld e,ixl
+[ ]+18:[       ]+dd 65[        ]+ld ixh,ixl
+[ ]+1a:[       ]+dd 6d[        ]+ld ixl,ixl
+[ ]+1c:[       ]+fd 7c[        ]+ld a,iyh
+[ ]+1e:[       ]+fd 44[        ]+ld b,iyh
+[ ]+20:[       ]+fd 4c[        ]+ld c,iyh
+[ ]+22:[       ]+fd 54[        ]+ld d,iyh
+[ ]+24:[       ]+fd 5c[        ]+ld e,iyh
+[ ]+26:[       ]+fd 64[        ]+ld iyh,iyh
+[ ]+28:[       ]+fd 6c[        ]+ld iyl,iyh
+[ ]+2a:[       ]+fd 7d[        ]+ld a,iyl
+[ ]+2c:[       ]+fd 45[        ]+ld b,iyl
+[ ]+2e:[       ]+fd 4d[        ]+ld c,iyl
+[ ]+30:[       ]+fd 55[        ]+ld d,iyl
+[ ]+32:[       ]+fd 5d[        ]+ld e,iyl
+[ ]+34:[       ]+fd 65[        ]+ld iyh,iyl
+[ ]+36:[       ]+fd 6d[        ]+ld iyl,iyl
+[ ]+38:[       ]+dd 67[        ]+ld ixh,a
+[ ]+3a:[       ]+dd 60[        ]+ld ixh,b
+[ ]+3c:[       ]+dd 61[        ]+ld ixh,c
+[ ]+3e:[       ]+dd 62[        ]+ld ixh,d
+[ ]+40:[       ]+dd 63[        ]+ld ixh,e
+[ ]+42:[       ]+dd 64[        ]+ld ixh,ixh
+[ ]+44:[       ]+dd 65[        ]+ld ixh,ixl
+[ ]+46:[       ]+dd 26 19[     ]+ld ixh,0x19
+[ ]+49:[       ]+dd 6f[        ]+ld ixl,a
+[ ]+4b:[       ]+dd 68[        ]+ld ixl,b
+[ ]+4d:[       ]+dd 69[        ]+ld ixl,c
+[ ]+4f:[       ]+dd 6a[        ]+ld ixl,d
+[ ]+51:[       ]+dd 6b[        ]+ld ixl,e
+[ ]+53:[       ]+dd 6c[        ]+ld ixl,ixh
+[ ]+55:[       ]+dd 6d[        ]+ld ixl,ixl
+[ ]+57:[       ]+dd 2e 19[     ]+ld ixl,0x19
+[ ]+5a:[       ]+fd 67[        ]+ld iyh,a
+[ ]+5c:[       ]+fd 60[        ]+ld iyh,b
+[ ]+5e:[       ]+fd 61[        ]+ld iyh,c
+[ ]+60:[       ]+fd 62[        ]+ld iyh,d
+[ ]+62:[       ]+fd 63[        ]+ld iyh,e
+[ ]+64:[       ]+fd 64[        ]+ld iyh,iyh
+[ ]+66:[       ]+fd 65[        ]+ld iyh,iyl
+[ ]+68:[       ]+fd 26 19[     ]+ld iyh,0x19
+[ ]+6b:[       ]+fd 6f[        ]+ld iyl,a
+[ ]+6d:[       ]+fd 68[        ]+ld iyl,b
+[ ]+6f:[       ]+fd 69[        ]+ld iyl,c
+[ ]+71:[       ]+fd 6a[        ]+ld iyl,d
+[ ]+73:[       ]+fd 6b[        ]+ld iyl,e
+[ ]+75:[       ]+fd 6c[        ]+ld iyl,iyh
+[ ]+77:[       ]+fd 6d[        ]+ld iyl,iyl
+[ ]+79:[       ]+fd 2e 19[     ]+ld iyl,0x19
+[ ]+7c:[       ]+dd 84[        ]+add a,ixh
+[ ]+7e:[       ]+dd 85[        ]+add a,ixl
+[ ]+80:[       ]+fd 84[        ]+add a,iyh
+[ ]+82:[       ]+fd 85[        ]+add a,iyl
+[ ]+84:[       ]+dd 8c[        ]+adc a,ixh
+[ ]+86:[       ]+dd 8d[        ]+adc a,ixl
+[ ]+88:[       ]+fd 8c[        ]+adc a,iyh
+[ ]+8a:[       ]+fd 8d[        ]+adc a,iyl
+[ ]+8c:[       ]+dd bc[        ]+cp ixh
+[ ]+8e:[       ]+dd bd[        ]+cp ixl
+[ ]+90:[       ]+fd bc[        ]+cp iyh
+[ ]+92:[       ]+fd bd[        ]+cp iyl
+[ ]+94:[       ]+dd 25[        ]+dec ixh
+[ ]+96:[       ]+dd 2d[        ]+dec ixl
+[ ]+98:[       ]+fd 25[        ]+dec iyh
+[ ]+9a:[       ]+fd 2d[        ]+dec iyl
+[ ]+9c:[       ]+dd 24[        ]+inc ixh
+[ ]+9e:[       ]+dd 2c[        ]+inc ixl
+[ ]+a0:[       ]+fd 24[        ]+inc iyh
+[ ]+a2:[       ]+fd 2c[        ]+inc iyl
+[ ]+a4:[       ]+dd 9c[        ]+sbc a,ixh
+[ ]+a6:[       ]+dd 9d[        ]+sbc a,ixl
+[ ]+a8:[       ]+fd 9c[        ]+sbc a,iyh
+[ ]+aa:[       ]+fd 9d[        ]+sbc a,iyl
+[ ]+ac:[       ]+dd 94[        ]+sub ixh
+[ ]+ae:[       ]+dd 95[        ]+sub ixl
+[ ]+b0:[       ]+fd 94[        ]+sub iyh
+[ ]+b2:[       ]+fd 95[        ]+sub iyl
+[ ]+b4:[       ]+dd a4[        ]+and ixh
+[ ]+b6:[       ]+dd a5[        ]+and ixl
+[ ]+b8:[       ]+fd a4[        ]+and iyh
+[ ]+ba:[       ]+fd a5[        ]+and iyl
+[ ]+bc:[       ]+dd b4[        ]+or ixh
+[ ]+be:[       ]+dd b5[        ]+or ixl
+[ ]+c0:[       ]+fd b4[        ]+or iyh
+[ ]+c2:[       ]+fd b5[        ]+or iyl
+[ ]+c4:[       ]+dd ac[        ]+xor ixh
+[ ]+c6:[       ]+dd ad[        ]+xor ixl
+[ ]+c8:[       ]+fd ac[        ]+xor iyh
+[ ]+ca:[       ]+fd ad[        ]+xor iyl
diff --git a/gas/testsuite/gas/z80/r800_z80_doc.d b/gas/testsuite/gas/z80/r800_z80_doc.d
new file mode 100644 (file)
index 0000000..3a1d434
--- /dev/null
@@ -0,0 +1,706 @@
+#as: -r800
+#objdump: -d
+#name: All Z80 documented instructions for R800
+#source: z80_doc.s
+
+.*: .*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+0:\s+8e\s+adc a,\(hl\)
+\s+1:\s+dd 8e 09\s+adc a,\(ix\+9\)
+\s+4:\s+fd 8e 09\s+adc a,\(iy\+9\)
+\s+7:\s+ce 03\s+adc a,0x03
+\s+9:\s+8f\s+adc a,a
+\s+a:\s+88\s+adc a,b
+\s+b:\s+89\s+adc a,c
+\s+c:\s+8a\s+adc a,d
+\s+d:\s+8b\s+adc a,e
+\s+e:\s+8c\s+adc a,h
+\s+f:\s+8d\s+adc a,l
+\s+10:\s+ed 4a\s+adc hl,bc
+\s+12:\s+ed 5a\s+adc hl,de
+\s+14:\s+ed 6a\s+adc hl,hl
+\s+16:\s+ed 7a\s+adc hl,sp
+\s+18:\s+86\s+add a,\(hl\)
+\s+19:\s+dd 86 09\s+add a,\(ix\+9\)
+\s+1c:\s+fd 86 09\s+add a,\(iy\+9\)
+\s+1f:\s+c6 03\s+add a,0x03
+\s+21:\s+87\s+add a,a
+\s+22:\s+80\s+add a,b
+\s+23:\s+81\s+add a,c
+\s+24:\s+82\s+add a,d
+\s+25:\s+83\s+add a,e
+\s+26:\s+84\s+add a,h
+\s+27:\s+85\s+add a,l
+\s+28:\s+09\s+add hl,bc
+\s+29:\s+19\s+add hl,de
+\s+2a:\s+29\s+add hl,hl
+\s+2b:\s+39\s+add hl,sp
+\s+2c:\s+dd 09\s+add ix,bc
+\s+2e:\s+dd 19\s+add ix,de
+\s+30:\s+dd 29\s+add ix,ix
+\s+32:\s+dd 39\s+add ix,sp
+\s+34:\s+fd 09\s+add iy,bc
+\s+36:\s+fd 19\s+add iy,de
+\s+38:\s+fd 29\s+add iy,iy
+\s+3a:\s+fd 39\s+add iy,sp
+\s+3c:\s+a6\s+and \(hl\)
+\s+3d:\s+dd a6 09\s+and \(ix\+9\)
+\s+40:\s+fd a6 09\s+and \(iy\+9\)
+\s+43:\s+e6 03\s+and 0x03
+\s+45:\s+a7\s+and a
+\s+46:\s+a0\s+and b
+\s+47:\s+a1\s+and c
+\s+48:\s+a2\s+and d
+\s+49:\s+a3\s+and e
+\s+4a:\s+a4\s+and h
+\s+4b:\s+a5\s+and l
+\s+4c:\s+cb 46\s+bit 0,\(hl\)
+\s+4e:\s+dd cb 09 46\s+bit 0,\(ix\+9\)
+\s+52:\s+fd cb 09 46\s+bit 0,\(iy\+9\)
+\s+56:\s+cb 47\s+bit 0,a
+\s+58:\s+cb 40\s+bit 0,b
+\s+5a:\s+cb 41\s+bit 0,c
+\s+5c:\s+cb 42\s+bit 0,d
+\s+5e:\s+cb 43\s+bit 0,e
+\s+60:\s+cb 44\s+bit 0,h
+\s+62:\s+cb 45\s+bit 0,l
+\s+64:\s+cb 4e\s+bit 1,\(hl\)
+\s+66:\s+dd cb 09 4e\s+bit 1,\(ix\+9\)
+\s+6a:\s+fd cb 09 4e\s+bit 1,\(iy\+9\)
+\s+6e:\s+cb 4f\s+bit 1,a
+\s+70:\s+cb 48\s+bit 1,b
+\s+72:\s+cb 49\s+bit 1,c
+\s+74:\s+cb 4a\s+bit 1,d
+\s+76:\s+cb 4b\s+bit 1,e
+\s+78:\s+cb 4c\s+bit 1,h
+\s+7a:\s+cb 4d\s+bit 1,l
+\s+7c:\s+cb 56\s+bit 2,\(hl\)
+\s+7e:\s+dd cb 09 56\s+bit 2,\(ix\+9\)
+\s+82:\s+fd cb 09 56\s+bit 2,\(iy\+9\)
+\s+86:\s+cb 57\s+bit 2,a
+\s+88:\s+cb 50\s+bit 2,b
+\s+8a:\s+cb 51\s+bit 2,c
+\s+8c:\s+cb 52\s+bit 2,d
+\s+8e:\s+cb 53\s+bit 2,e
+\s+90:\s+cb 54\s+bit 2,h
+\s+92:\s+cb 55\s+bit 2,l
+\s+94:\s+cb 5e\s+bit 3,\(hl\)
+\s+96:\s+dd cb 09 5e\s+bit 3,\(ix\+9\)
+\s+9a:\s+fd cb 09 5e\s+bit 3,\(iy\+9\)
+\s+9e:\s+cb 5f\s+bit 3,a
+\s+a0:\s+cb 58\s+bit 3,b
+\s+a2:\s+cb 59\s+bit 3,c
+\s+a4:\s+cb 5a\s+bit 3,d
+\s+a6:\s+cb 5b\s+bit 3,e
+\s+a8:\s+cb 5c\s+bit 3,h
+\s+aa:\s+cb 5d\s+bit 3,l
+\s+ac:\s+cb 66\s+bit 4,\(hl\)
+\s+ae:\s+dd cb 09 66\s+bit 4,\(ix\+9\)
+\s+b2:\s+fd cb 09 66\s+bit 4,\(iy\+9\)
+\s+b6:\s+cb 67\s+bit 4,a
+\s+b8:\s+cb 60\s+bit 4,b
+\s+ba:\s+cb 61\s+bit 4,c
+\s+bc:\s+cb 62\s+bit 4,d
+\s+be:\s+cb 63\s+bit 4,e
+\s+c0:\s+cb 64\s+bit 4,h
+\s+c2:\s+cb 65\s+bit 4,l
+\s+c4:\s+cb 6e\s+bit 5,\(hl\)
+\s+c6:\s+dd cb 09 6e\s+bit 5,\(ix\+9\)
+\s+ca:\s+fd cb 09 6e\s+bit 5,\(iy\+9\)
+\s+ce:\s+cb 6f\s+bit 5,a
+\s+d0:\s+cb 68\s+bit 5,b
+\s+d2:\s+cb 69\s+bit 5,c
+\s+d4:\s+cb 6a\s+bit 5,d
+\s+d6:\s+cb 6b\s+bit 5,e
+\s+d8:\s+cb 6c\s+bit 5,h
+\s+da:\s+cb 6d\s+bit 5,l
+\s+dc:\s+cb 76\s+bit 6,\(hl\)
+\s+de:\s+dd cb 09 76\s+bit 6,\(ix\+9\)
+\s+e2:\s+fd cb 09 76\s+bit 6,\(iy\+9\)
+\s+e6:\s+cb 77\s+bit 6,a
+\s+e8:\s+cb 70\s+bit 6,b
+\s+ea:\s+cb 71\s+bit 6,c
+\s+ec:\s+cb 72\s+bit 6,d
+\s+ee:\s+cb 73\s+bit 6,e
+\s+f0:\s+cb 74\s+bit 6,h
+\s+f2:\s+cb 75\s+bit 6,l
+\s+f4:\s+cb 7e\s+bit 7,\(hl\)
+\s+f6:\s+dd cb 09 7e\s+bit 7,\(ix\+9\)
+\s+fa:\s+fd cb 09 7e\s+bit 7,\(iy\+9\)
+\s+fe:\s+cb 7f\s+bit 7,a
+\s+100:\s+cb 78\s+bit 7,b
+\s+102:\s+cb 79\s+bit 7,c
+\s+104:\s+cb 7a\s+bit 7,d
+\s+106:\s+cb 7b\s+bit 7,e
+\s+108:\s+cb 7c\s+bit 7,h
+\s+10a:\s+cb 7d\s+bit 7,l
+\s+10c:\s+cd 34 12\s+call 0x1234
+\s+10f:\s+dc 34 12\s+call c,0x1234
+\s+112:\s+fc 34 12\s+call m,0x1234
+\s+115:\s+d4 34 12\s+call nc,0x1234
+\s+118:\s+c4 34 12\s+call nz,0x1234
+\s+11b:\s+f4 34 12\s+call p,0x1234
+\s+11e:\s+ec 34 12\s+call pe,0x1234
+\s+121:\s+e4 34 12\s+call po,0x1234
+\s+124:\s+cc 34 12\s+call z,0x1234
+\s+127:\s+3f\s+ccf
+\s+128:\s+be\s+cp \(hl\)
+\s+129:\s+dd be 09\s+cp \(ix\+9\)
+\s+12c:\s+fd be 09\s+cp \(iy\+9\)
+\s+12f:\s+fe 03\s+cp 0x03
+\s+131:\s+bf\s+cp a
+\s+132:\s+b8\s+cp b
+\s+133:\s+b9\s+cp c
+\s+134:\s+ba\s+cp d
+\s+135:\s+bb\s+cp e
+\s+136:\s+bc\s+cp h
+\s+137:\s+bd\s+cp l
+\s+138:\s+ed a9\s+cpd
+\s+13a:\s+ed b9\s+cpdr
+\s+13c:\s+ed a1\s+cpi
+\s+13e:\s+ed b1\s+cpir
+\s+140:\s+2f\s+cpl
+\s+141:\s+27\s+daa
+\s+142:\s+35\s+dec \(hl\)
+\s+143:\s+dd 35 09\s+dec \(ix\+9\)
+\s+146:\s+fd 35 09\s+dec \(iy\+9\)
+\s+149:\s+3d\s+dec a
+\s+14a:\s+05\s+dec b
+\s+14b:\s+0b\s+dec bc
+\s+14c:\s+0d\s+dec c
+\s+14d:\s+15\s+dec d
+\s+14e:\s+1b\s+dec de
+\s+14f:\s+1d\s+dec e
+\s+150:\s+25\s+dec h
+\s+151:\s+2b\s+dec hl
+\s+152:\s+dd 2b\s+dec ix
+\s+154:\s+fd 2b\s+dec iy
+\s+156:\s+2d\s+dec l
+\s+157:\s+3b\s+dec sp
+\s+158:\s+f3\s+di
+\s+159:\s+10 05\s+djnz 0x0160
+\s+15b:\s+fb\s+ei
+\s+15c:\s+e3\s+ex \(sp\),hl
+\s+15d:\s+dd e3\s+ex \(sp\),ix
+\s+15f:\s+fd e3\s+ex \(sp\),iy
+\s+161:\s+08\s+ex af,af'
+\s+162:\s+eb\s+ex de,hl
+\s+163:\s+d9\s+exx
+\s+164:\s+76\s+halt
+\s+165:\s+ed 46\s+im 0
+\s+167:\s+ed 56\s+im 1
+\s+169:\s+ed 5e\s+im 2
+\s+16b:\s+ed 78\s+in a,\(c\)
+\s+16d:\s+db 03\s+in a,\(0x03\)
+\s+16f:\s+ed 40\s+in b,\(c\)
+\s+171:\s+ed 48\s+in c,\(c\)
+\s+173:\s+ed 50\s+in d,\(c\)
+\s+175:\s+ed 58\s+in e,\(c\)
+\s+177:\s+ed 60\s+in h,\(c\)
+\s+179:\s+ed 68\s+in l,\(c\)
+\s+17b:\s+34\s+inc \(hl\)
+\s+17c:\s+dd 34 09\s+inc \(ix\+9\)
+\s+17f:\s+fd 34 09\s+inc \(iy\+9\)
+\s+182:\s+3c\s+inc a
+\s+183:\s+04\s+inc b
+\s+184:\s+03\s+inc bc
+\s+185:\s+0c\s+inc c
+\s+186:\s+14\s+inc d
+\s+187:\s+13\s+inc de
+\s+188:\s+1c\s+inc e
+\s+189:\s+24\s+inc h
+\s+18a:\s+23\s+inc hl
+\s+18b:\s+dd 23\s+inc ix
+\s+18d:\s+fd 23\s+inc iy
+\s+18f:\s+2c\s+inc l
+\s+190:\s+33\s+inc sp
+\s+191:\s+ed aa\s+ind
+\s+193:\s+ed ba\s+indr
+\s+195:\s+ed a2\s+ini
+\s+197:\s+ed b2\s+inir
+\s+199:\s+e9\s+jp \(hl\)
+\s+19a:\s+dd e9\s+jp \(ix\)
+\s+19c:\s+fd e9\s+jp \(iy\)
+\s+19e:\s+c3 34 12\s+jp 0x1234
+\s+1a1:\s+da 34 12\s+jp c,0x1234
+\s+1a4:\s+fa 34 12\s+jp m,0x1234
+\s+1a7:\s+d2 34 12\s+jp nc,0x1234
+\s+1aa:\s+c2 34 12\s+jp nz,0x1234
+\s+1ad:\s+f2 34 12\s+jp p,0x1234
+\s+1b0:\s+ea 34 12\s+jp pe,0x1234
+\s+1b3:\s+e2 34 12\s+jp po,0x1234
+\s+1b6:\s+ca 34 12\s+jp z,0x1234
+\s+1b9:\s+18 05\s+jr 0x01c0
+\s+1bb:\s+38 05\s+jr c,0x01c2
+\s+1bd:\s+30 05\s+jr nc,0x01c4
+\s+1bf:\s+20 05\s+jr nz,0x01c6
+\s+1c1:\s+28 05\s+jr z,0x01c8
+\s+1c3:\s+32 34 12\s+ld \(0x1234\),a
+\s+1c6:\s+ed 43 34 12\s+ld \(0x1234\),bc
+\s+1ca:\s+ed 53 34 12\s+ld \(0x1234\),de
+\s+1ce:\s+22 34 12\s+ld \(0x1234\),hl
+\s+1d1:\s+dd 22 34 12\s+ld \(0x1234\),ix
+\s+1d5:\s+fd 22 34 12\s+ld \(0x1234\),iy
+\s+1d9:\s+ed 73 34 12\s+ld \(0x1234\),sp
+\s+1dd:\s+02\s+ld \(bc\),a
+\s+1de:\s+12\s+ld \(de\),a
+\s+1df:\s+36 03\s+ld \(hl\),0x03
+\s+1e1:\s+77\s+ld \(hl\),a
+\s+1e2:\s+70\s+ld \(hl\),b
+\s+1e3:\s+71\s+ld \(hl\),c
+\s+1e4:\s+72\s+ld \(hl\),d
+\s+1e5:\s+73\s+ld \(hl\),e
+\s+1e6:\s+74\s+ld \(hl\),h
+\s+1e7:\s+75\s+ld \(hl\),l
+\s+1e8:\s+dd 36 09 03\s+ld \(ix\+9\),0x03
+\s+1ec:\s+dd 77 09\s+ld \(ix\+9\),a
+\s+1ef:\s+dd 70 09\s+ld \(ix\+9\),b
+\s+1f2:\s+dd 71 09\s+ld \(ix\+9\),c
+\s+1f5:\s+dd 72 09\s+ld \(ix\+9\),d
+\s+1f8:\s+dd 73 09\s+ld \(ix\+9\),e
+\s+1fb:\s+dd 74 09\s+ld \(ix\+9\),h
+\s+1fe:\s+dd 75 09\s+ld \(ix\+9\),l
+\s+201:\s+fd 36 09 03\s+ld \(iy\+9\),0x03
+\s+205:\s+fd 77 09\s+ld \(iy\+9\),a
+\s+208:\s+fd 70 09\s+ld \(iy\+9\),b
+\s+20b:\s+fd 71 09\s+ld \(iy\+9\),c
+\s+20e:\s+fd 72 09\s+ld \(iy\+9\),d
+\s+211:\s+fd 73 09\s+ld \(iy\+9\),e
+\s+214:\s+fd 74 09\s+ld \(iy\+9\),h
+\s+217:\s+fd 75 09\s+ld \(iy\+9\),l
+\s+21a:\s+3a 34 12\s+ld a,\(0x1234\)
+\s+21d:\s+0a\s+ld a,\(bc\)
+\s+21e:\s+1a\s+ld a,\(de\)
+\s+21f:\s+7e\s+ld a,\(hl\)
+\s+220:\s+dd 7e 09\s+ld a,\(ix\+9\)
+\s+223:\s+fd 7e 09\s+ld a,\(iy\+9\)
+\s+226:\s+3e 03\s+ld a,0x03
+\s+228:\s+7f\s+ld a,a
+\s+229:\s+78\s+ld a,b
+\s+22a:\s+79\s+ld a,c
+\s+22b:\s+7a\s+ld a,d
+\s+22c:\s+7b\s+ld a,e
+\s+22d:\s+7c\s+ld a,h
+\s+22e:\s+ed 57\s+ld a,i
+\s+230:\s+7d\s+ld a,l
+\s+231:\s+ed 5f\s+ld a,r
+\s+233:\s+46\s+ld b,\(hl\)
+\s+234:\s+dd 46 09\s+ld b,\(ix\+9\)
+\s+237:\s+fd 46 09\s+ld b,\(iy\+9\)
+\s+23a:\s+06 03\s+ld b,0x03
+\s+23c:\s+47\s+ld b,a
+\s+23d:\s+40\s+ld b,b
+\s+23e:\s+41\s+ld b,c
+\s+23f:\s+42\s+ld b,d
+\s+240:\s+43\s+ld b,e
+\s+241:\s+44\s+ld b,h
+\s+242:\s+45\s+ld b,l
+\s+243:\s+ed 4b 34 12\s+ld bc,\(0x1234\)
+\s+247:\s+01 34 12\s+ld bc,0x1234
+\s+24a:\s+4e\s+ld c,\(hl\)
+\s+24b:\s+dd 4e 09\s+ld c,\(ix\+9\)
+\s+24e:\s+fd 4e 09\s+ld c,\(iy\+9\)
+\s+251:\s+0e 03\s+ld c,0x03
+\s+253:\s+4f\s+ld c,a
+\s+254:\s+48\s+ld c,b
+\s+255:\s+49\s+ld c,c
+\s+256:\s+4a\s+ld c,d
+\s+257:\s+4b\s+ld c,e
+\s+258:\s+4c\s+ld c,h
+\s+259:\s+4d\s+ld c,l
+\s+25a:\s+56\s+ld d,\(hl\)
+\s+25b:\s+dd 56 09\s+ld d,\(ix\+9\)
+\s+25e:\s+fd 56 09\s+ld d,\(iy\+9\)
+\s+261:\s+16 03\s+ld d,0x03
+\s+263:\s+57\s+ld d,a
+\s+264:\s+50\s+ld d,b
+\s+265:\s+51\s+ld d,c
+\s+266:\s+52\s+ld d,d
+\s+267:\s+53\s+ld d,e
+\s+268:\s+54\s+ld d,h
+\s+269:\s+55\s+ld d,l
+\s+26a:\s+ed 5b 34 12\s+ld de,\(0x1234\)
+\s+26e:\s+11 34 12\s+ld de,0x1234
+\s+271:\s+5e\s+ld e,\(hl\)
+\s+272:\s+dd 5e 09\s+ld e,\(ix\+9\)
+\s+275:\s+fd 5e 09\s+ld e,\(iy\+9\)
+\s+278:\s+1e 03\s+ld e,0x03
+\s+27a:\s+5f\s+ld e,a
+\s+27b:\s+58\s+ld e,b
+\s+27c:\s+59\s+ld e,c
+\s+27d:\s+5a\s+ld e,d
+\s+27e:\s+5b\s+ld e,e
+\s+27f:\s+5c\s+ld e,h
+\s+280:\s+5d\s+ld e,l
+\s+281:\s+66\s+ld h,\(hl\)
+\s+282:\s+dd 66 09\s+ld h,\(ix\+9\)
+\s+285:\s+fd 66 09\s+ld h,\(iy\+9\)
+\s+288:\s+26 03\s+ld h,0x03
+\s+28a:\s+67\s+ld h,a
+\s+28b:\s+60\s+ld h,b
+\s+28c:\s+61\s+ld h,c
+\s+28d:\s+62\s+ld h,d
+\s+28e:\s+63\s+ld h,e
+\s+28f:\s+64\s+ld h,h
+\s+290:\s+65\s+ld h,l
+\s+291:\s+2a 34 12\s+ld hl,\(0x1234\)
+\s+294:\s+21 34 12\s+ld hl,0x1234
+\s+297:\s+ed 47\s+ld i,a
+\s+299:\s+dd 2a 34 12\s+ld ix,\(0x1234\)
+\s+29d:\s+dd 21 34 12\s+ld ix,0x1234
+\s+2a1:\s+fd 2a 34 12\s+ld iy,\(0x1234\)
+\s+2a5:\s+fd 21 34 12\s+ld iy,0x1234
+\s+2a9:\s+6e\s+ld l,\(hl\)
+\s+2aa:\s+dd 6e 09\s+ld l,\(ix\+9\)
+\s+2ad:\s+fd 6e 09\s+ld l,\(iy\+9\)
+\s+2b0:\s+2e 03\s+ld l,0x03
+\s+2b2:\s+6f\s+ld l,a
+\s+2b3:\s+68\s+ld l,b
+\s+2b4:\s+69\s+ld l,c
+\s+2b5:\s+6a\s+ld l,d
+\s+2b6:\s+6b\s+ld l,e
+\s+2b7:\s+6c\s+ld l,h
+\s+2b8:\s+6d\s+ld l,l
+\s+2b9:\s+ed 4f\s+ld r,a
+\s+2bb:\s+ed 7b 34 12\s+ld sp,\(0x1234\)
+\s+2bf:\s+31 34 12\s+ld sp,0x1234
+\s+2c2:\s+f9\s+ld sp,hl
+\s+2c3:\s+dd f9\s+ld sp,ix
+\s+2c5:\s+fd f9\s+ld sp,iy
+\s+2c7:\s+ed a8\s+ldd
+\s+2c9:\s+ed b8\s+lddr
+\s+2cb:\s+ed a0\s+ldi
+\s+2cd:\s+ed b0\s+ldir
+\s+2cf:\s+ed 44\s+neg
+\s+2d1:\s+00\s+nop
+\s+2d2:\s+b6\s+or \(hl\)
+\s+2d3:\s+dd b6 09\s+or \(ix\+9\)
+\s+2d6:\s+fd b6 09\s+or \(iy\+9\)
+\s+2d9:\s+f6 03\s+or 0x03
+\s+2db:\s+b7\s+or a
+\s+2dc:\s+b0\s+or b
+\s+2dd:\s+b1\s+or c
+\s+2de:\s+b2\s+or d
+\s+2df:\s+b3\s+or e
+\s+2e0:\s+b4\s+or h
+\s+2e1:\s+b5\s+or l
+\s+2e2:\s+ed bb\s+otdr
+\s+2e4:\s+ed b3\s+otir
+\s+2e6:\s+ed 79\s+out \(c\),a
+\s+2e8:\s+ed 41\s+out \(c\),b
+\s+2ea:\s+ed 49\s+out \(c\),c
+\s+2ec:\s+ed 51\s+out \(c\),d
+\s+2ee:\s+ed 59\s+out \(c\),e
+\s+2f0:\s+ed 61\s+out \(c\),h
+\s+2f2:\s+ed 69\s+out \(c\),l
+\s+2f4:\s+d3 03\s+out \(0x03\),a
+\s+2f6:\s+ed ab\s+outd
+\s+2f8:\s+ed a3\s+outi
+\s+2fa:\s+f1\s+pop af
+\s+2fb:\s+c1\s+pop bc
+\s+2fc:\s+d1\s+pop de
+\s+2fd:\s+e1\s+pop hl
+\s+2fe:\s+dd e1\s+pop ix
+\s+300:\s+fd e1\s+pop iy
+\s+302:\s+f5\s+push af
+\s+303:\s+c5\s+push bc
+\s+304:\s+d5\s+push de
+\s+305:\s+e5\s+push hl
+\s+306:\s+dd e5\s+push ix
+\s+308:\s+fd e5\s+push iy
+\s+30a:\s+cb 86\s+res 0,\(hl\)
+\s+30c:\s+dd cb 09 86\s+res 0,\(ix\+9\)
+\s+310:\s+fd cb 09 86\s+res 0,\(iy\+9\)
+\s+314:\s+cb 87\s+res 0,a
+\s+316:\s+cb 80\s+res 0,b
+\s+318:\s+cb 81\s+res 0,c
+\s+31a:\s+cb 82\s+res 0,d
+\s+31c:\s+cb 83\s+res 0,e
+\s+31e:\s+cb 84\s+res 0,h
+\s+320:\s+cb 85\s+res 0,l
+\s+322:\s+cb 8e\s+res 1,\(hl\)
+\s+324:\s+dd cb 09 8e\s+res 1,\(ix\+9\)
+\s+328:\s+fd cb 09 8e\s+res 1,\(iy\+9\)
+\s+32c:\s+cb 8f\s+res 1,a
+\s+32e:\s+cb 88\s+res 1,b
+\s+330:\s+cb 89\s+res 1,c
+\s+332:\s+cb 8a\s+res 1,d
+\s+334:\s+cb 8b\s+res 1,e
+\s+336:\s+cb 8c\s+res 1,h
+\s+338:\s+cb 8d\s+res 1,l
+\s+33a:\s+cb 96\s+res 2,\(hl\)
+\s+33c:\s+dd cb 09 96\s+res 2,\(ix\+9\)
+\s+340:\s+fd cb 09 96\s+res 2,\(iy\+9\)
+\s+344:\s+cb 97\s+res 2,a
+\s+346:\s+cb 90\s+res 2,b
+\s+348:\s+cb 91\s+res 2,c
+\s+34a:\s+cb 92\s+res 2,d
+\s+34c:\s+cb 93\s+res 2,e
+\s+34e:\s+cb 94\s+res 2,h
+\s+350:\s+cb 95\s+res 2,l
+\s+352:\s+cb 9e\s+res 3,\(hl\)
+\s+354:\s+dd cb 09 9e\s+res 3,\(ix\+9\)
+\s+358:\s+fd cb 09 9e\s+res 3,\(iy\+9\)
+\s+35c:\s+cb 9f\s+res 3,a
+\s+35e:\s+cb 98\s+res 3,b
+\s+360:\s+cb 99\s+res 3,c
+\s+362:\s+cb 9a\s+res 3,d
+\s+364:\s+cb 9b\s+res 3,e
+\s+366:\s+cb 9c\s+res 3,h
+\s+368:\s+cb 9d\s+res 3,l
+\s+36a:\s+cb a6\s+res 4,\(hl\)
+\s+36c:\s+dd cb 09 a6\s+res 4,\(ix\+9\)
+\s+370:\s+fd cb 09 a6\s+res 4,\(iy\+9\)
+\s+374:\s+cb a7\s+res 4,a
+\s+376:\s+cb a0\s+res 4,b
+\s+378:\s+cb a1\s+res 4,c
+\s+37a:\s+cb a2\s+res 4,d
+\s+37c:\s+cb a3\s+res 4,e
+\s+37e:\s+cb a4\s+res 4,h
+\s+380:\s+cb a5\s+res 4,l
+\s+382:\s+cb ae\s+res 5,\(hl\)
+\s+384:\s+dd cb 09 ae\s+res 5,\(ix\+9\)
+\s+388:\s+fd cb 09 ae\s+res 5,\(iy\+9\)
+\s+38c:\s+cb af\s+res 5,a
+\s+38e:\s+cb a8\s+res 5,b
+\s+390:\s+cb a9\s+res 5,c
+\s+392:\s+cb aa\s+res 5,d
+\s+394:\s+cb ab\s+res 5,e
+\s+396:\s+cb ac\s+res 5,h
+\s+398:\s+cb ad\s+res 5,l
+\s+39a:\s+cb b6\s+res 6,\(hl\)
+\s+39c:\s+dd cb 09 b6\s+res 6,\(ix\+9\)
+\s+3a0:\s+fd cb 09 b6\s+res 6,\(iy\+9\)
+\s+3a4:\s+cb b7\s+res 6,a
+\s+3a6:\s+cb b0\s+res 6,b
+\s+3a8:\s+cb b1\s+res 6,c
+\s+3aa:\s+cb b2\s+res 6,d
+\s+3ac:\s+cb b3\s+res 6,e
+\s+3ae:\s+cb b4\s+res 6,h
+\s+3b0:\s+cb b5\s+res 6,l
+\s+3b2:\s+cb be\s+res 7,\(hl\)
+\s+3b4:\s+dd cb 09 be\s+res 7,\(ix\+9\)
+\s+3b8:\s+fd cb 09 be\s+res 7,\(iy\+9\)
+\s+3bc:\s+cb bf\s+res 7,a
+\s+3be:\s+cb b8\s+res 7,b
+\s+3c0:\s+cb b9\s+res 7,c
+\s+3c2:\s+cb ba\s+res 7,d
+\s+3c4:\s+cb bb\s+res 7,e
+\s+3c6:\s+cb bc\s+res 7,h
+\s+3c8:\s+cb bd\s+res 7,l
+\s+3ca:\s+c9\s+ret
+\s+3cb:\s+d8\s+ret c
+\s+3cc:\s+f8\s+ret m
+\s+3cd:\s+d0\s+ret nc
+\s+3ce:\s+c0\s+ret nz
+\s+3cf:\s+f0\s+ret p
+\s+3d0:\s+e8\s+ret pe
+\s+3d1:\s+e0\s+ret po
+\s+3d2:\s+c8\s+ret z
+\s+3d3:\s+ed 4d\s+reti
+\s+3d5:\s+ed 45\s+retn
+\s+3d7:\s+cb 16\s+rl \(hl\)
+\s+3d9:\s+dd cb 09 16\s+rl \(ix\+9\)
+\s+3dd:\s+fd cb 09 16\s+rl \(iy\+9\)
+\s+3e1:\s+cb 17\s+rl a
+\s+3e3:\s+cb 10\s+rl b
+\s+3e5:\s+cb 11\s+rl c
+\s+3e7:\s+cb 12\s+rl d
+\s+3e9:\s+cb 13\s+rl e
+\s+3eb:\s+cb 14\s+rl h
+\s+3ed:\s+cb 15\s+rl l
+\s+3ef:\s+17\s+rla
+\s+3f0:\s+cb 06\s+rlc \(hl\)
+\s+3f2:\s+dd cb 09 06\s+rlc \(ix\+9\)
+\s+3f6:\s+fd cb 09 06\s+rlc \(iy\+9\)
+\s+3fa:\s+cb 07\s+rlc a
+\s+3fc:\s+cb 00\s+rlc b
+\s+3fe:\s+cb 01\s+rlc c
+\s+400:\s+cb 02\s+rlc d
+\s+402:\s+cb 03\s+rlc e
+\s+404:\s+cb 04\s+rlc h
+\s+406:\s+cb 05\s+rlc l
+\s+408:\s+07\s+rlca
+\s+409:\s+ed 6f\s+rld
+\s+40b:\s+cb 1e\s+rr \(hl\)
+\s+40d:\s+dd cb 09 1e\s+rr \(ix\+9\)
+\s+411:\s+fd cb 09 1e\s+rr \(iy\+9\)
+\s+415:\s+cb 1f\s+rr a
+\s+417:\s+cb 18\s+rr b
+\s+419:\s+cb 19\s+rr c
+\s+41b:\s+cb 1a\s+rr d
+\s+41d:\s+cb 1b\s+rr e
+\s+41f:\s+cb 1c\s+rr h
+\s+421:\s+cb 1d\s+rr l
+\s+423:\s+1f\s+rra
+\s+424:\s+cb 0e\s+rrc \(hl\)
+\s+426:\s+dd cb 09 0e\s+rrc \(ix\+9\)
+\s+42a:\s+fd cb 09 0e\s+rrc \(iy\+9\)
+\s+42e:\s+cb 0f\s+rrc a
+\s+430:\s+cb 08\s+rrc b
+\s+432:\s+cb 09\s+rrc c
+\s+434:\s+cb 0a\s+rrc d
+\s+436:\s+cb 0b\s+rrc e
+\s+438:\s+cb 0c\s+rrc h
+\s+43a:\s+cb 0d\s+rrc l
+\s+43c:\s+0f\s+rrca
+\s+43d:\s+ed 67\s+rrd
+\s+43f:\s+c7\s+rst 0x00
+\s+440:\s+cf\s+rst 0x08
+\s+441:\s+d7\s+rst 0x10
+\s+442:\s+df\s+rst 0x18
+\s+443:\s+e7\s+rst 0x20
+\s+444:\s+ef\s+rst 0x28
+\s+445:\s+f7\s+rst 0x30
+\s+446:\s+ff\s+rst 0x38
+\s+447:\s+9e\s+sbc a,\(hl\)
+\s+448:\s+dd 9e 09\s+sbc a,\(ix\+9\)
+\s+44b:\s+fd 9e 09\s+sbc a,\(iy\+9\)
+\s+44e:\s+de 03\s+sbc a,0x03
+\s+450:\s+9f\s+sbc a,a
+\s+451:\s+98\s+sbc a,b
+\s+452:\s+99\s+sbc a,c
+\s+453:\s+9a\s+sbc a,d
+\s+454:\s+9b\s+sbc a,e
+\s+455:\s+9c\s+sbc a,h
+\s+456:\s+9d\s+sbc a,l
+\s+457:\s+ed 42\s+sbc hl,bc
+\s+459:\s+ed 52\s+sbc hl,de
+\s+45b:\s+ed 62\s+sbc hl,hl
+\s+45d:\s+ed 72\s+sbc hl,sp
+\s+45f:\s+37\s+scf
+\s+460:\s+cb c6\s+set 0,\(hl\)
+\s+462:\s+dd cb 09 c6\s+set 0,\(ix\+9\)
+\s+466:\s+fd cb 09 c6\s+set 0,\(iy\+9\)
+\s+46a:\s+cb c7\s+set 0,a
+\s+46c:\s+cb c0\s+set 0,b
+\s+46e:\s+cb c1\s+set 0,c
+\s+470:\s+cb c2\s+set 0,d
+\s+472:\s+cb c3\s+set 0,e
+\s+474:\s+cb c4\s+set 0,h
+\s+476:\s+cb c5\s+set 0,l
+\s+478:\s+cb ce\s+set 1,\(hl\)
+\s+47a:\s+dd cb 09 ce\s+set 1,\(ix\+9\)
+\s+47e:\s+fd cb 09 ce\s+set 1,\(iy\+9\)
+\s+482:\s+cb cf\s+set 1,a
+\s+484:\s+cb c8\s+set 1,b
+\s+486:\s+cb c9\s+set 1,c
+\s+488:\s+cb ca\s+set 1,d
+\s+48a:\s+cb cb\s+set 1,e
+\s+48c:\s+cb cc\s+set 1,h
+\s+48e:\s+cb cd\s+set 1,l
+\s+490:\s+cb d6\s+set 2,\(hl\)
+\s+492:\s+dd cb 09 d6\s+set 2,\(ix\+9\)
+\s+496:\s+fd cb 09 d6\s+set 2,\(iy\+9\)
+\s+49a:\s+cb d7\s+set 2,a
+\s+49c:\s+cb d0\s+set 2,b
+\s+49e:\s+cb d1\s+set 2,c
+\s+4a0:\s+cb d2\s+set 2,d
+\s+4a2:\s+cb d3\s+set 2,e
+\s+4a4:\s+cb d4\s+set 2,h
+\s+4a6:\s+cb d5\s+set 2,l
+\s+4a8:\s+cb de\s+set 3,\(hl\)
+\s+4aa:\s+dd cb 09 de\s+set 3,\(ix\+9\)
+\s+4ae:\s+fd cb 09 de\s+set 3,\(iy\+9\)
+\s+4b2:\s+cb df\s+set 3,a
+\s+4b4:\s+cb d8\s+set 3,b
+\s+4b6:\s+cb d9\s+set 3,c
+\s+4b8:\s+cb da\s+set 3,d
+\s+4ba:\s+cb db\s+set 3,e
+\s+4bc:\s+cb dc\s+set 3,h
+\s+4be:\s+cb dd\s+set 3,l
+\s+4c0:\s+cb e6\s+set 4,\(hl\)
+\s+4c2:\s+dd cb 09 e6\s+set 4,\(ix\+9\)
+\s+4c6:\s+fd cb 09 e6\s+set 4,\(iy\+9\)
+\s+4ca:\s+cb e7\s+set 4,a
+\s+4cc:\s+cb e0\s+set 4,b
+\s+4ce:\s+cb e1\s+set 4,c
+\s+4d0:\s+cb e2\s+set 4,d
+\s+4d2:\s+cb e3\s+set 4,e
+\s+4d4:\s+cb e4\s+set 4,h
+\s+4d6:\s+cb e5\s+set 4,l
+\s+4d8:\s+cb ee\s+set 5,\(hl\)
+\s+4da:\s+dd cb 09 ee\s+set 5,\(ix\+9\)
+\s+4de:\s+fd cb 09 ee\s+set 5,\(iy\+9\)
+\s+4e2:\s+cb ef\s+set 5,a
+\s+4e4:\s+cb e8\s+set 5,b
+\s+4e6:\s+cb e9\s+set 5,c
+\s+4e8:\s+cb ea\s+set 5,d
+\s+4ea:\s+cb eb\s+set 5,e
+\s+4ec:\s+cb ec\s+set 5,h
+\s+4ee:\s+cb ed\s+set 5,l
+\s+4f0:\s+cb f6\s+set 6,\(hl\)
+\s+4f2:\s+dd cb 09 f6\s+set 6,\(ix\+9\)
+\s+4f6:\s+fd cb 09 f6\s+set 6,\(iy\+9\)
+\s+4fa:\s+cb f7\s+set 6,a
+\s+4fc:\s+cb f0\s+set 6,b
+\s+4fe:\s+cb f1\s+set 6,c
+\s+500:\s+cb f2\s+set 6,d
+\s+502:\s+cb f3\s+set 6,e
+\s+504:\s+cb f4\s+set 6,h
+\s+506:\s+cb f5\s+set 6,l
+\s+508:\s+cb fe\s+set 7,\(hl\)
+\s+50a:\s+dd cb 09 fe\s+set 7,\(ix\+9\)
+\s+50e:\s+fd cb 09 fe\s+set 7,\(iy\+9\)
+\s+512:\s+cb ff\s+set 7,a
+\s+514:\s+cb f8\s+set 7,b
+\s+516:\s+cb f9\s+set 7,c
+\s+518:\s+cb fa\s+set 7,d
+\s+51a:\s+cb fb\s+set 7,e
+\s+51c:\s+cb fc\s+set 7,h
+\s+51e:\s+cb fd\s+set 7,l
+\s+520:\s+cb 26\s+sla \(hl\)
+\s+522:\s+dd cb 09 26\s+sla \(ix\+9\)
+\s+526:\s+fd cb 09 26\s+sla \(iy\+9\)
+\s+52a:\s+cb 27\s+sla a
+\s+52c:\s+cb 20\s+sla b
+\s+52e:\s+cb 21\s+sla c
+\s+530:\s+cb 22\s+sla d
+\s+532:\s+cb 23\s+sla e
+\s+534:\s+cb 24\s+sla h
+\s+536:\s+cb 25\s+sla l
+\s+538:\s+cb 2e\s+sra \(hl\)
+\s+53a:\s+dd cb 09 2e\s+sra \(ix\+9\)
+\s+53e:\s+fd cb 09 2e\s+sra \(iy\+9\)
+\s+542:\s+cb 2f\s+sra a
+\s+544:\s+cb 28\s+sra b
+\s+546:\s+cb 29\s+sra c
+\s+548:\s+cb 2a\s+sra d
+\s+54a:\s+cb 2b\s+sra e
+\s+54c:\s+cb 2c\s+sra h
+\s+54e:\s+cb 2d\s+sra l
+\s+550:\s+cb 3e\s+srl \(hl\)
+\s+552:\s+dd cb 09 3e\s+srl \(ix\+9\)
+\s+556:\s+fd cb 09 3e\s+srl \(iy\+9\)
+\s+55a:\s+cb 3f\s+srl a
+\s+55c:\s+cb 38\s+srl b
+\s+55e:\s+cb 39\s+srl c
+\s+560:\s+cb 3a\s+srl d
+\s+562:\s+cb 3b\s+srl e
+\s+564:\s+cb 3c\s+srl h
+\s+566:\s+cb 3d\s+srl l
+\s+568:\s+96\s+sub \(hl\)
+\s+569:\s+dd 96 09\s+sub \(ix\+9\)
+\s+56c:\s+fd 96 09\s+sub \(iy\+9\)
+\s+56f:\s+d6 03\s+sub 0x03
+\s+571:\s+97\s+sub a
+\s+572:\s+90\s+sub b
+\s+573:\s+91\s+sub c
+\s+574:\s+92\s+sub d
+\s+575:\s+93\s+sub e
+\s+576:\s+94\s+sub h
+\s+577:\s+95\s+sub l
+\s+578:\s+ae\s+xor \(hl\)
+\s+579:\s+dd ae 09\s+xor \(ix\+9\)
+\s+57c:\s+fd ae 09\s+xor \(iy\+9\)
+\s+57f:\s+ee 03\s+xor 0x03
+\s+581:\s+af\s+xor a
+\s+582:\s+a8\s+xor b
+\s+583:\s+a9\s+xor c
+\s+584:\s+aa\s+xor d
+\s+585:\s+ab\s+xor e
+\s+586:\s+ac\s+xor h
+\s+587:\s+ad\s+xor l
diff --git a/gas/testsuite/gas/z80/sdcc.d b/gas/testsuite/gas/z80/sdcc.d
new file mode 100644 (file)
index 0000000..53c630b
--- /dev/null
@@ -0,0 +1,152 @@
+#name: SDCC compatibility mode
+#source: sdcc.s -z80 -sdcc
+#objdump: -d -j _CODE
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+Disassembly of section _CODE:
+
+00000000 <_start>:
+[   ]+0:[      ]+21 04 00[     ]+ld hl,0x0004
+[   ]+3:[      ]+8f[           ]+adc a,a
+[   ]+4:[      ]+88[           ]+adc a,b
+[   ]+5:[      ]+89[           ]+adc a,c
+[   ]+6:[      ]+8a[           ]+adc a,d
+[   ]+7:[      ]+8b[           ]+adc a,e
+[   ]+8:[      ]+8c[           ]+adc a,h
+[   ]+9:[      ]+8d[           ]+adc a,l
+[   ]+a:[      ]+dd 8c[        ]+adc a,ixh
+[   ]+c:[      ]+dd 8d[        ]+adc a,ixl
+[   ]+e:[      ]+fd 8c[        ]+adc a,iyh
+[  ]+10:[      ]+fd 8d[        ]+adc a,iyl
+[  ]+12:[      ]+ce a5[        ]+adc a,0xa5
+[  ]+14:[      ]+8e[           ]+adc a,\(hl\)
+[  ]+15:[      ]+dd 8e 05[     ]+adc a,\(ix\+5\)
+[  ]+18:[      ]+fd 8e fe[     ]+adc a,\(iy\-2\)
+[  ]+1b:[      ]+87[           ]+add a,a
+[  ]+1c:[      ]+80[           ]+add a,b
+[  ]+1d:[      ]+81[           ]+add a,c
+[  ]+1e:[      ]+82[           ]+add a,d
+[  ]+1f:[      ]+83[           ]+add a,e
+[  ]+20:[      ]+84[           ]+add a,h
+[  ]+21:[      ]+85[           ]+add a,l
+[  ]+22:[      ]+dd 84[        ]+add a,ixh
+[  ]+24:[      ]+dd 85[        ]+add a,ixl
+[  ]+26:[      ]+fd 84[        ]+add a,iyh
+[  ]+28:[      ]+fd 85[        ]+add a,iyl
+[  ]+2a:[      ]+c6 a5[        ]+add a,0xa5
+[  ]+2c:[      ]+86[           ]+add a,\(hl\)
+[  ]+2d:[      ]+dd 86 05[     ]+add a,\(ix\+5\)
+[  ]+30:[      ]+fd 86 fe[     ]+add a,\(iy\-2\)
+[  ]+33:[      ]+a7[           ]+and a
+[  ]+34:[      ]+a0[           ]+and b
+[  ]+35:[      ]+a1[           ]+and c
+[  ]+36:[      ]+a2[           ]+and d
+[  ]+37:[      ]+a3[           ]+and e
+[  ]+38:[      ]+a4[           ]+and h
+[  ]+39:[      ]+a5[           ]+and l
+[  ]+3a:[      ]+dd a4[        ]+and ixh
+[  ]+3c:[      ]+dd a5[        ]+and ixl
+[  ]+3e:[      ]+fd a4[        ]+and iyh
+[  ]+40:[      ]+fd a5[        ]+and iyl
+[  ]+42:[      ]+e6 a5[        ]+and 0xa5
+[  ]+44:[      ]+a6[           ]+and \(hl\)
+[  ]+45:[      ]+dd a6 05[     ]+and \(ix\+5\)
+[  ]+48:[      ]+fd a6 fe[     ]+and \(iy\-2\)
+[  ]+4b:[      ]+bf[           ]+cp a
+[  ]+4c:[      ]+b8[           ]+cp b
+[  ]+4d:[      ]+b9[           ]+cp c
+[  ]+4e:[      ]+ba[           ]+cp d
+[  ]+4f:[      ]+bb[           ]+cp e
+[  ]+50:[      ]+bc[           ]+cp h
+[  ]+51:[      ]+bd[           ]+cp l
+[  ]+52:[      ]+dd bc[        ]+cp ixh
+[  ]+54:[      ]+dd bd[        ]+cp ixl
+[  ]+56:[      ]+fd bc[        ]+cp iyh
+[  ]+58:[      ]+fd bd[        ]+cp iyl
+[  ]+5a:[      ]+fe a5[        ]+cp 0xa5
+[  ]+5c:[      ]+be[           ]+cp \(hl\)
+[  ]+5d:[      ]+dd be 05[     ]+cp \(ix\+5\)
+[  ]+60:[      ]+fd be fe[     ]+cp \(iy\-2\)
+[  ]+63:[      ]+b7[           ]+or a
+[  ]+64:[      ]+b0[           ]+or b
+[  ]+65:[      ]+b1[           ]+or c
+[  ]+66:[      ]+b2[           ]+or d
+[  ]+67:[      ]+b3[           ]+or e
+[  ]+68:[      ]+b4[           ]+or h
+[  ]+69:[      ]+b5[           ]+or l
+[  ]+6a:[      ]+dd b4[        ]+or ixh
+[  ]+6c:[      ]+dd b5[        ]+or ixl
+[  ]+6e:[      ]+fd b4[        ]+or iyh
+[  ]+70:[      ]+fd b5[        ]+or iyl
+[  ]+72:[      ]+f6 a5[        ]+or 0xa5
+[  ]+74:[      ]+b6[           ]+or \(hl\)
+[  ]+75:[      ]+dd b6 05[     ]+or \(ix\+5\)
+[  ]+78:[      ]+fd b6 fe[     ]+or \(iy\-2\)
+[  ]+7b:[      ]+9f[           ]+sbc a,a
+[  ]+7c:[      ]+98[           ]+sbc a,b
+[  ]+7d:[      ]+99[           ]+sbc a,c
+[  ]+7e:[      ]+9a[           ]+sbc a,d
+[  ]+7f:[      ]+9b[           ]+sbc a,e
+[  ]+80:[      ]+9c[           ]+sbc a,h
+[  ]+81:[      ]+9d[           ]+sbc a,l
+[  ]+82:[      ]+dd 9c[        ]+sbc a,ixh
+[  ]+84:[      ]+dd 9d[        ]+sbc a,ixl
+[  ]+86:[      ]+fd 9c[        ]+sbc a,iyh
+[  ]+88:[      ]+fd 9d[        ]+sbc a,iyl
+[  ]+8a:[      ]+de a5[        ]+sbc a,0xa5
+[  ]+8c:[      ]+9e[           ]+sbc a,\(hl\)
+[  ]+8d:[      ]+dd 9e 05[     ]+sbc a,\(ix\+5\)
+[  ]+90:[      ]+fd 9e fe[     ]+sbc a,\(iy\-2\)
+[  ]+93:[      ]+97[           ]+sub a
+[  ]+94:[      ]+90[           ]+sub b
+[  ]+95:[      ]+91[           ]+sub c
+[  ]+96:[      ]+92[           ]+sub d
+[  ]+97:[      ]+93[           ]+sub e
+[  ]+98:[      ]+94[           ]+sub h
+[  ]+99:[      ]+95[           ]+sub l
+[  ]+9a:[      ]+dd 94[        ]+sub ixh
+[  ]+9c:[      ]+dd 95[        ]+sub ixl
+[  ]+9e:[      ]+fd 94[        ]+sub iyh
+[  ]+a0:[      ]+fd 95[        ]+sub iyl
+[  ]+a2:[      ]+d6 a5[        ]+sub 0xa5
+[  ]+a4:[      ]+96[           ]+sub \(hl\)
+[  ]+a5:[      ]+dd 96 05[     ]+sub \(ix\+5\)
+[  ]+a8:[      ]+fd 96 fe[     ]+sub \(iy\-2\)
+[  ]+ab:[      ]+af[           ]+xor a
+[  ]+ac:[      ]+a8[           ]+xor b
+[  ]+ad:[      ]+a9[           ]+xor c
+[  ]+ae:[      ]+aa[           ]+xor d
+[  ]+af:[      ]+ab[           ]+xor e
+[  ]+b0:[      ]+ac[           ]+xor h
+[  ]+b1:[      ]+ad[           ]+xor l
+[  ]+b2:[      ]+dd ac[        ]+xor ixh
+[  ]+b4:[      ]+dd ad[        ]+xor ixl
+[  ]+b6:[      ]+fd ac[        ]+xor iyh
+[  ]+b8:[      ]+fd ad[        ]+xor iyl
+[  ]+ba:[      ]+ee a5[        ]+xor 0xa5
+[  ]+bc:[      ]+ae[           ]+xor \(hl\)
+[  ]+bd:[      ]+dd ae 05[     ]+xor \(ix\+5\)
+[  ]+c0:[      ]+fd ae fe[     ]+xor \(iy\-2\)
+[  ]+c3:[      ]+c3 03 00[     ]+jp 0x0003
+[  ]+c6:[      ]+c3 1b 00[     ]+jp 0x001b
+[  ]+c9:[      ]+c3 33 00[     ]+jp 0x0033
+[  ]+cc:[      ]+c3 4b 00[     ]+jp 0x004b
+[  ]+cf:[      ]+c3 7b 00[     ]+jp 0x007b
+[  ]+d2:[      ]+c3 93 00[     ]+jp 0x0093
+[  ]+d5:[      ]+c3 ab 00[     ]+jp 0x00ab
+[  ]+d8:[      ]+21 00 00[     ]+ld hl,0x0000
+[  ]+db:[      ]+36 00[        ]+ld \(hl\),0x00
+[  ]+dd:[      ]+23[           ]+inc hl
+[  ]+de:[      ]+36 00[        ]+ld \(hl\),0x00
+[  ]+e0:[      ]+18 fb[        ]+jr 0x00dd
+
+000000e2 <_finish>:
+[  ]+e2:[      ]+fd 7e 02[     ]+ld a,\(iy\+2\)
+[  ]+e5:[      ]+dd 77 ff[     ]+ld \(ix\-1\),a
+[  ]+e8:[      ]+3a 34 12[     ]+ld a,\(0x1234\)
+
+[  ]+eb:[      ]+c9[           ]+ret
+[  ]+ec:[      ]+27[           ]+daa
+[  ]+ed:[      ]+1f[           ]+rra
+[  ]+ee:[      ]+2f[           ]+cpl
diff --git a/gas/testsuite/gas/z80/sdcc.s b/gas/testsuite/gas/z80/sdcc.s
new file mode 100644 (file)
index 0000000..dae75c5
--- /dev/null
@@ -0,0 +1,167 @@
+        .module longpolls
+        .optsdcc -mz80
+
+valueadr = 0x1234
+
+       .globl  function
+       .globl  _start
+       .globl  _finish
+
+       .area   _DABS (ABS)
+       .area   _HOME
+       .area   _CODE
+_start::
+;comment
+       ld      hl, #4+0
+00000$:
+       adc     a, a
+       adc     a, b
+       adc     a, c
+       adc     a, d
+       adc     a, e
+       adc     a, h
+       adc     a, l
+       adc     a, ixh
+       adc     a, ixl
+       adc     a, iyh
+       adc     a, iyl
+       adc     a, #0xa5
+       adc     a, (hl)
+       adc     a, 5 (ix)
+       adc     a, -2 (iy)
+00100$:
+       add     a, a
+       add     a, b
+       add     a, c
+       add     a, d
+       add     a, e
+       add     a, h
+       add     a, l
+       add     a, ixh
+       add     a, ixl
+       add     a, iyh
+       add     a, iyl
+       add     a, #0xa5
+       add     a, (hl)
+       add     a, 5 (ix)
+       add     a, -2 (iy)
+00200$:
+       and     a, a
+       and     a, b
+       and     a, c
+       and     a, d
+       and     a, e
+       and     a, h
+       and     a, l
+       and     a, ixh
+       and     a, ixl
+       and     a, iyh
+       and     a, iyl
+       and     a, #0xa5
+       and     a, (hl)
+       and     a, 5 (ix)
+       and     a, -2 (iy)
+00300$:
+       cp      a, a
+       cp      a, b
+       cp      a, c
+       cp      a, d
+       cp      a, e
+       cp      a, h
+       cp      a, l
+       cp      a, ixh
+       cp      a, ixl
+       cp      a, iyh
+       cp      a, iyl
+       cp      a, #0xa5
+       cp      a, (hl)
+       cp      a, 5 (ix)
+       cp      a, -2 (iy)
+00400$:
+       or      a, a
+       or      a, b
+       or      a, c
+       or      a, d
+       or      a, e
+       or      a, h
+       or      a, l
+       or      a, ixh
+       or      a, ixl
+       or      a, iyh
+       or      a, iyl
+       or      a, #0xa5
+       or      a, (hl)
+       or      a, 5 (ix)
+       or      a, -2 (iy)
+00500$:
+       sbc     a, a
+       sbc     a, b
+       sbc     a, c
+       sbc     a, d
+       sbc     a, e
+       sbc     a, h
+       sbc     a, l
+       sbc     a, ixh
+       sbc     a, ixl
+       sbc     a, iyh
+       sbc     a, iyl
+       sbc     a, #0xa5
+       sbc     a, (hl)
+       sbc     a, 5 (ix)
+       sbc     a, -2 (iy)
+00600$:
+       sub     a, a
+       sub     a, b
+       sub     a, c
+       sub     a, d
+       sub     a, e
+       sub     a, h
+       sub     a, l
+       sub     a, ixh
+       sub     a, ixl
+       sub     a, iyh
+       sub     a, iyl
+       sub     a, #0xa5
+       sub     a, (hl)
+       sub     a, 5 (ix)
+       sub     a, -2 (iy)
+00700$:
+       xor     a, a
+       xor     a, b
+       xor     a, c
+       xor     a, d
+       xor     a, e
+       xor     a, h
+       xor     a, l
+       xor     a, ixh
+       xor     a, ixl
+       xor     a, iyh
+       xor     a, iyl
+       xor     a, #0xa5
+       xor     a, (hl)
+       xor     a, 5 (ix)
+       xor     a, -2 (iy)
+
+       jp      0$
+       jp      100$
+       jp      200$
+       jp      300$
+       jp      500$
+       jp      600$
+       jp      700$
+.L_func:
+       ld      hl,0
+       ld      (hl),#<function
+00100$:
+       inc     hl
+       ld      (hl),#>function
+00600$:
+       jr      100$
+_finish::
+       ld      a, 2 (iy)
+       ld      -1 (ix), a
+       ld      a, (#valueadr+#0)
+       ret
+       .dw     #0x1f27
+       .db     #0x2f
+       .end
diff --git a/gas/testsuite/gas/z80/set.d b/gas/testsuite/gas/z80/set.d
new file mode 100644 (file)
index 0000000..c83197c
--- /dev/null
@@ -0,0 +1,8 @@
+#objdump: -s -j .data
+#name: .set redefinitions
+
+.*: .*
+
+Contents of section .data:
+ 0000 00000000 04000000 08000000 0c000000[     ]+................[     ]*
+#pass
diff --git a/gas/testsuite/gas/z80/set.s b/gas/testsuite/gas/z80/set.s
new file mode 100644 (file)
index 0000000..75fddc5
--- /dev/null
@@ -0,0 +1,11 @@
+       .data
+_start:
+.set   x, .-_start
+.long  x
+.balign 4
+       .set    x, .-_start
+       .long   x
+.L_xx: .set    x, .-_start
+       .long   x
+.L_yy:.set     x, .-_start
+       .long   x
diff --git a/gas/testsuite/gas/z80/strings.d b/gas/testsuite/gas/z80/strings.d
new file mode 100644 (file)
index 0000000..cd42230
--- /dev/null
@@ -0,0 +1,14 @@
+#name: strings test
+#objdump: -s -j .data
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+Contents of section \.data:
+ 0000 2e646220 74657874 5c6e3833 37343830.*
+ 0010 44454642 20746578 745c6e64 38373833.*
+ 0020 4445464d 20746578 745c6e33 37383537.*
+ 0030 44422074 6578745c 6e333837 39383337.*
+ 0040 2e617363 69692074 6578743a bf0c0a00.*
+ 0050 2e617363 697a2074 6578740a 39393900.*
+ 0060 2e737472 696e6720 74657874 0a090000.*
+#pass
diff --git a/gas/testsuite/gas/z80/strings.s b/gas/testsuite/gas/z80/strings.s
new file mode 100644 (file)
index 0000000..3859de2
--- /dev/null
@@ -0,0 +1,9 @@
+       .data
+       .db     ".db text\n837480"
+       DEFB    "DEFB text\nd8783"
+       DEFM    "DEFM text\n37857"
+       DB      "DB text\n3879837"
+       .ascii  ".ascii text\72\277\f\n\0"
+       .asciz  ".asciz text\n999"
+       .string ".string text\n\t\0"
+       .end
index c3562758a0bba00008547f23a6420d73fc24a8d6..5c2182a22bc305f7dc83de7d28f5898029853c91 100644 (file)
@@ -6,7 +6,7 @@
 RELOCATION RECORDS FOR \[.data\]:
 OFFSET[        ]+TYPE[         ]+VALUE[        ]*
 00000002[      ]+r_imm16[      ]+.data[        ]*
-00000014[      ]+r_imm16[      ]+.data[        ]*
+00000014[      ]+r_imm16[      ]+.data(\+0x00000016)?[         ]*
 
 
 Contents of section .data:
diff --git a/gas/testsuite/gas/z80/z180.d b/gas/testsuite/gas/z80/z180.d
new file mode 100644 (file)
index 0000000..6f3f8f9
--- /dev/null
@@ -0,0 +1,42 @@
+#as: -z180
+#objdump: -d
+#name: Z180 specific instructions
+
+.*: .*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+0:\s+ed 38 05\s+in0 a,\(0x05\)
+\s+3:\s+ed 00 05\s+in0 b,\(0x05\)
+\s+6:\s+ed 08 05\s+in0 c,\(0x05\)
+\s+9:\s+ed 10 05\s+in0 d,\(0x05\)
+\s+c:\s+ed 18 05\s+in0 e,\(0x05\)
+\s+f:\s+ed 20 05\s+in0 h,\(0x05\)
+\s+12:\s+ed 28 05\s+in0 l,\(0x05\)
+\s+15:\s+ed 39 05\s+out0 \(0x05\),a
+\s+18:\s+ed 01 05\s+out0 \(0x05\),b
+\s+1b:\s+ed 09 05\s+out0 \(0x05\),c
+\s+1e:\s+ed 11 05\s+out0 \(0x05\),d
+\s+21:\s+ed 19 05\s+out0 \(0x05\),e
+\s+24:\s+ed 21 05\s+out0 \(0x05\),h
+\s+27:\s+ed 29 05\s+out0 \(0x05\),l
+\s+2a:\s+ed 4c\s+mlt bc
+\s+2c:\s+ed 5c\s+mlt de
+\s+2e:\s+ed 6c\s+mlt hl
+\s+30:\s+ed 7c\s+mlt sp
+\s+32:\s+ed 3c\s+tst a
+\s+34:\s+ed 04\s+tst b
+\s+36:\s+ed 0c\s+tst c
+\s+38:\s+ed 14\s+tst d
+\s+3a:\s+ed 1c\s+tst e
+\s+3c:\s+ed 24\s+tst h
+\s+3e:\s+ed 2c\s+tst l
+\s+40:\s+ed 34\s+tst \(hl\)
+\s+42:\s+ed 64 0f\s+tst 0x0f
+\s+45:\s+ed 74 f0\s+tstio 0xf0
+\s+48:\s+ed 76\s+slp
+\s+4a:\s+ed 83\s+otim
+\s+4c:\s+ed 8b\s+otdm
+\s+4e:\s+ed 93\s+otimr
+\s+50:\s+ed 9b\s+otdmr
diff --git a/gas/testsuite/gas/z80/z180.s b/gas/testsuite/gas/z80/z180.s
new file mode 100644 (file)
index 0000000..e4ef13a
--- /dev/null
@@ -0,0 +1,50 @@
+       .text
+       .org    0
+       ;; Zylog Z180 instructions
+
+; IN0 group
+       in0 a,(0x5)
+       in0 b,(0x5)
+       in0 c,(0x5)
+       in0 d,(0x5)
+       in0 e,(0x5)
+       in0 h,(0x5)
+       in0 l,(0x5)
+
+; OUT0 group
+       out0 (0x5),a
+       out0 (0x5),b
+       out0 (0x5),c
+       out0 (0x5),d
+       out0 (0x5),e
+       out0 (0x5),h
+       out0 (0x5),l
+
+; MLT group
+       mlt bc
+       mlt de
+       mlt hl
+       mlt sp
+
+; TST group
+       tst a
+       tst b
+       tst c
+       tst d
+       tst e
+       tst h
+       tst l
+       tst (hl)
+       tst 0fh
+
+; TSTIO instruction
+       tstio   0f0h
+
+; SLP instruction
+       slp
+
+; Additional block I/O instructions
+       OTIM
+       OTDM
+       OTIMR
+       OTDMR
diff --git a/gas/testsuite/gas/z80/z180_z80_doc.d b/gas/testsuite/gas/z80/z180_z80_doc.d
new file mode 100644 (file)
index 0000000..e6211b6
--- /dev/null
@@ -0,0 +1,707 @@
+#as: -z180
+#objdump: -d
+#name: All Z80 documented instructions for Z180
+#source: z80_doc.s
+#source: z180.s
+
+.*: .*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+0:\s+8e\s+adc a,\(hl\)
+\s+1:\s+dd 8e 09\s+adc a,\(ix\+9\)
+\s+4:\s+fd 8e 09\s+adc a,\(iy\+9\)
+\s+7:\s+ce 03\s+adc a,0x03
+\s+9:\s+8f\s+adc a,a
+\s+a:\s+88\s+adc a,b
+\s+b:\s+89\s+adc a,c
+\s+c:\s+8a\s+adc a,d
+\s+d:\s+8b\s+adc a,e
+\s+e:\s+8c\s+adc a,h
+\s+f:\s+8d\s+adc a,l
+\s+10:\s+ed 4a\s+adc hl,bc
+\s+12:\s+ed 5a\s+adc hl,de
+\s+14:\s+ed 6a\s+adc hl,hl
+\s+16:\s+ed 7a\s+adc hl,sp
+\s+18:\s+86\s+add a,\(hl\)
+\s+19:\s+dd 86 09\s+add a,\(ix\+9\)
+\s+1c:\s+fd 86 09\s+add a,\(iy\+9\)
+\s+1f:\s+c6 03\s+add a,0x03
+\s+21:\s+87\s+add a,a
+\s+22:\s+80\s+add a,b
+\s+23:\s+81\s+add a,c
+\s+24:\s+82\s+add a,d
+\s+25:\s+83\s+add a,e
+\s+26:\s+84\s+add a,h
+\s+27:\s+85\s+add a,l
+\s+28:\s+09\s+add hl,bc
+\s+29:\s+19\s+add hl,de
+\s+2a:\s+29\s+add hl,hl
+\s+2b:\s+39\s+add hl,sp
+\s+2c:\s+dd 09\s+add ix,bc
+\s+2e:\s+dd 19\s+add ix,de
+\s+30:\s+dd 29\s+add ix,ix
+\s+32:\s+dd 39\s+add ix,sp
+\s+34:\s+fd 09\s+add iy,bc
+\s+36:\s+fd 19\s+add iy,de
+\s+38:\s+fd 29\s+add iy,iy
+\s+3a:\s+fd 39\s+add iy,sp
+\s+3c:\s+a6\s+and \(hl\)
+\s+3d:\s+dd a6 09\s+and \(ix\+9\)
+\s+40:\s+fd a6 09\s+and \(iy\+9\)
+\s+43:\s+e6 03\s+and 0x03
+\s+45:\s+a7\s+and a
+\s+46:\s+a0\s+and b
+\s+47:\s+a1\s+and c
+\s+48:\s+a2\s+and d
+\s+49:\s+a3\s+and e
+\s+4a:\s+a4\s+and h
+\s+4b:\s+a5\s+and l
+\s+4c:\s+cb 46\s+bit 0,\(hl\)
+\s+4e:\s+dd cb 09 46\s+bit 0,\(ix\+9\)
+\s+52:\s+fd cb 09 46\s+bit 0,\(iy\+9\)
+\s+56:\s+cb 47\s+bit 0,a
+\s+58:\s+cb 40\s+bit 0,b
+\s+5a:\s+cb 41\s+bit 0,c
+\s+5c:\s+cb 42\s+bit 0,d
+\s+5e:\s+cb 43\s+bit 0,e
+\s+60:\s+cb 44\s+bit 0,h
+\s+62:\s+cb 45\s+bit 0,l
+\s+64:\s+cb 4e\s+bit 1,\(hl\)
+\s+66:\s+dd cb 09 4e\s+bit 1,\(ix\+9\)
+\s+6a:\s+fd cb 09 4e\s+bit 1,\(iy\+9\)
+\s+6e:\s+cb 4f\s+bit 1,a
+\s+70:\s+cb 48\s+bit 1,b
+\s+72:\s+cb 49\s+bit 1,c
+\s+74:\s+cb 4a\s+bit 1,d
+\s+76:\s+cb 4b\s+bit 1,e
+\s+78:\s+cb 4c\s+bit 1,h
+\s+7a:\s+cb 4d\s+bit 1,l
+\s+7c:\s+cb 56\s+bit 2,\(hl\)
+\s+7e:\s+dd cb 09 56\s+bit 2,\(ix\+9\)
+\s+82:\s+fd cb 09 56\s+bit 2,\(iy\+9\)
+\s+86:\s+cb 57\s+bit 2,a
+\s+88:\s+cb 50\s+bit 2,b
+\s+8a:\s+cb 51\s+bit 2,c
+\s+8c:\s+cb 52\s+bit 2,d
+\s+8e:\s+cb 53\s+bit 2,e
+\s+90:\s+cb 54\s+bit 2,h
+\s+92:\s+cb 55\s+bit 2,l
+\s+94:\s+cb 5e\s+bit 3,\(hl\)
+\s+96:\s+dd cb 09 5e\s+bit 3,\(ix\+9\)
+\s+9a:\s+fd cb 09 5e\s+bit 3,\(iy\+9\)
+\s+9e:\s+cb 5f\s+bit 3,a
+\s+a0:\s+cb 58\s+bit 3,b
+\s+a2:\s+cb 59\s+bit 3,c
+\s+a4:\s+cb 5a\s+bit 3,d
+\s+a6:\s+cb 5b\s+bit 3,e
+\s+a8:\s+cb 5c\s+bit 3,h
+\s+aa:\s+cb 5d\s+bit 3,l
+\s+ac:\s+cb 66\s+bit 4,\(hl\)
+\s+ae:\s+dd cb 09 66\s+bit 4,\(ix\+9\)
+\s+b2:\s+fd cb 09 66\s+bit 4,\(iy\+9\)
+\s+b6:\s+cb 67\s+bit 4,a
+\s+b8:\s+cb 60\s+bit 4,b
+\s+ba:\s+cb 61\s+bit 4,c
+\s+bc:\s+cb 62\s+bit 4,d
+\s+be:\s+cb 63\s+bit 4,e
+\s+c0:\s+cb 64\s+bit 4,h
+\s+c2:\s+cb 65\s+bit 4,l
+\s+c4:\s+cb 6e\s+bit 5,\(hl\)
+\s+c6:\s+dd cb 09 6e\s+bit 5,\(ix\+9\)
+\s+ca:\s+fd cb 09 6e\s+bit 5,\(iy\+9\)
+\s+ce:\s+cb 6f\s+bit 5,a
+\s+d0:\s+cb 68\s+bit 5,b
+\s+d2:\s+cb 69\s+bit 5,c
+\s+d4:\s+cb 6a\s+bit 5,d
+\s+d6:\s+cb 6b\s+bit 5,e
+\s+d8:\s+cb 6c\s+bit 5,h
+\s+da:\s+cb 6d\s+bit 5,l
+\s+dc:\s+cb 76\s+bit 6,\(hl\)
+\s+de:\s+dd cb 09 76\s+bit 6,\(ix\+9\)
+\s+e2:\s+fd cb 09 76\s+bit 6,\(iy\+9\)
+\s+e6:\s+cb 77\s+bit 6,a
+\s+e8:\s+cb 70\s+bit 6,b
+\s+ea:\s+cb 71\s+bit 6,c
+\s+ec:\s+cb 72\s+bit 6,d
+\s+ee:\s+cb 73\s+bit 6,e
+\s+f0:\s+cb 74\s+bit 6,h
+\s+f2:\s+cb 75\s+bit 6,l
+\s+f4:\s+cb 7e\s+bit 7,\(hl\)
+\s+f6:\s+dd cb 09 7e\s+bit 7,\(ix\+9\)
+\s+fa:\s+fd cb 09 7e\s+bit 7,\(iy\+9\)
+\s+fe:\s+cb 7f\s+bit 7,a
+\s+100:\s+cb 78\s+bit 7,b
+\s+102:\s+cb 79\s+bit 7,c
+\s+104:\s+cb 7a\s+bit 7,d
+\s+106:\s+cb 7b\s+bit 7,e
+\s+108:\s+cb 7c\s+bit 7,h
+\s+10a:\s+cb 7d\s+bit 7,l
+\s+10c:\s+cd 34 12\s+call 0x1234
+\s+10f:\s+dc 34 12\s+call c,0x1234
+\s+112:\s+fc 34 12\s+call m,0x1234
+\s+115:\s+d4 34 12\s+call nc,0x1234
+\s+118:\s+c4 34 12\s+call nz,0x1234
+\s+11b:\s+f4 34 12\s+call p,0x1234
+\s+11e:\s+ec 34 12\s+call pe,0x1234
+\s+121:\s+e4 34 12\s+call po,0x1234
+\s+124:\s+cc 34 12\s+call z,0x1234
+\s+127:\s+3f\s+ccf
+\s+128:\s+be\s+cp \(hl\)
+\s+129:\s+dd be 09\s+cp \(ix\+9\)
+\s+12c:\s+fd be 09\s+cp \(iy\+9\)
+\s+12f:\s+fe 03\s+cp 0x03
+\s+131:\s+bf\s+cp a
+\s+132:\s+b8\s+cp b
+\s+133:\s+b9\s+cp c
+\s+134:\s+ba\s+cp d
+\s+135:\s+bb\s+cp e
+\s+136:\s+bc\s+cp h
+\s+137:\s+bd\s+cp l
+\s+138:\s+ed a9\s+cpd
+\s+13a:\s+ed b9\s+cpdr
+\s+13c:\s+ed a1\s+cpi
+\s+13e:\s+ed b1\s+cpir
+\s+140:\s+2f\s+cpl
+\s+141:\s+27\s+daa
+\s+142:\s+35\s+dec \(hl\)
+\s+143:\s+dd 35 09\s+dec \(ix\+9\)
+\s+146:\s+fd 35 09\s+dec \(iy\+9\)
+\s+149:\s+3d\s+dec a
+\s+14a:\s+05\s+dec b
+\s+14b:\s+0b\s+dec bc
+\s+14c:\s+0d\s+dec c
+\s+14d:\s+15\s+dec d
+\s+14e:\s+1b\s+dec de
+\s+14f:\s+1d\s+dec e
+\s+150:\s+25\s+dec h
+\s+151:\s+2b\s+dec hl
+\s+152:\s+dd 2b\s+dec ix
+\s+154:\s+fd 2b\s+dec iy
+\s+156:\s+2d\s+dec l
+\s+157:\s+3b\s+dec sp
+\s+158:\s+f3\s+di
+\s+159:\s+10 05\s+djnz 0x0160
+\s+15b:\s+fb\s+ei
+\s+15c:\s+e3\s+ex \(sp\),hl
+\s+15d:\s+dd e3\s+ex \(sp\),ix
+\s+15f:\s+fd e3\s+ex \(sp\),iy
+\s+161:\s+08\s+ex af,af'
+\s+162:\s+eb\s+ex de,hl
+\s+163:\s+d9\s+exx
+\s+164:\s+76\s+halt
+\s+165:\s+ed 46\s+im 0
+\s+167:\s+ed 56\s+im 1
+\s+169:\s+ed 5e\s+im 2
+\s+16b:\s+ed 78\s+in a,\(c\)
+\s+16d:\s+db 03\s+in a,\(0x03\)
+\s+16f:\s+ed 40\s+in b,\(c\)
+\s+171:\s+ed 48\s+in c,\(c\)
+\s+173:\s+ed 50\s+in d,\(c\)
+\s+175:\s+ed 58\s+in e,\(c\)
+\s+177:\s+ed 60\s+in h,\(c\)
+\s+179:\s+ed 68\s+in l,\(c\)
+\s+17b:\s+34\s+inc \(hl\)
+\s+17c:\s+dd 34 09\s+inc \(ix\+9\)
+\s+17f:\s+fd 34 09\s+inc \(iy\+9\)
+\s+182:\s+3c\s+inc a
+\s+183:\s+04\s+inc b
+\s+184:\s+03\s+inc bc
+\s+185:\s+0c\s+inc c
+\s+186:\s+14\s+inc d
+\s+187:\s+13\s+inc de
+\s+188:\s+1c\s+inc e
+\s+189:\s+24\s+inc h
+\s+18a:\s+23\s+inc hl
+\s+18b:\s+dd 23\s+inc ix
+\s+18d:\s+fd 23\s+inc iy
+\s+18f:\s+2c\s+inc l
+\s+190:\s+33\s+inc sp
+\s+191:\s+ed aa\s+ind
+\s+193:\s+ed ba\s+indr
+\s+195:\s+ed a2\s+ini
+\s+197:\s+ed b2\s+inir
+\s+199:\s+e9\s+jp \(hl\)
+\s+19a:\s+dd e9\s+jp \(ix\)
+\s+19c:\s+fd e9\s+jp \(iy\)
+\s+19e:\s+c3 34 12\s+jp 0x1234
+\s+1a1:\s+da 34 12\s+jp c,0x1234
+\s+1a4:\s+fa 34 12\s+jp m,0x1234
+\s+1a7:\s+d2 34 12\s+jp nc,0x1234
+\s+1aa:\s+c2 34 12\s+jp nz,0x1234
+\s+1ad:\s+f2 34 12\s+jp p,0x1234
+\s+1b0:\s+ea 34 12\s+jp pe,0x1234
+\s+1b3:\s+e2 34 12\s+jp po,0x1234
+\s+1b6:\s+ca 34 12\s+jp z,0x1234
+\s+1b9:\s+18 05\s+jr 0x01c0
+\s+1bb:\s+38 05\s+jr c,0x01c2
+\s+1bd:\s+30 05\s+jr nc,0x01c4
+\s+1bf:\s+20 05\s+jr nz,0x01c6
+\s+1c1:\s+28 05\s+jr z,0x01c8
+\s+1c3:\s+32 34 12\s+ld \(0x1234\),a
+\s+1c6:\s+ed 43 34 12\s+ld \(0x1234\),bc
+\s+1ca:\s+ed 53 34 12\s+ld \(0x1234\),de
+\s+1ce:\s+22 34 12\s+ld \(0x1234\),hl
+\s+1d1:\s+dd 22 34 12\s+ld \(0x1234\),ix
+\s+1d5:\s+fd 22 34 12\s+ld \(0x1234\),iy
+\s+1d9:\s+ed 73 34 12\s+ld \(0x1234\),sp
+\s+1dd:\s+02\s+ld \(bc\),a
+\s+1de:\s+12\s+ld \(de\),a
+\s+1df:\s+36 03\s+ld \(hl\),0x03
+\s+1e1:\s+77\s+ld \(hl\),a
+\s+1e2:\s+70\s+ld \(hl\),b
+\s+1e3:\s+71\s+ld \(hl\),c
+\s+1e4:\s+72\s+ld \(hl\),d
+\s+1e5:\s+73\s+ld \(hl\),e
+\s+1e6:\s+74\s+ld \(hl\),h
+\s+1e7:\s+75\s+ld \(hl\),l
+\s+1e8:\s+dd 36 09 03\s+ld \(ix\+9\),0x03
+\s+1ec:\s+dd 77 09\s+ld \(ix\+9\),a
+\s+1ef:\s+dd 70 09\s+ld \(ix\+9\),b
+\s+1f2:\s+dd 71 09\s+ld \(ix\+9\),c
+\s+1f5:\s+dd 72 09\s+ld \(ix\+9\),d
+\s+1f8:\s+dd 73 09\s+ld \(ix\+9\),e
+\s+1fb:\s+dd 74 09\s+ld \(ix\+9\),h
+\s+1fe:\s+dd 75 09\s+ld \(ix\+9\),l
+\s+201:\s+fd 36 09 03\s+ld \(iy\+9\),0x03
+\s+205:\s+fd 77 09\s+ld \(iy\+9\),a
+\s+208:\s+fd 70 09\s+ld \(iy\+9\),b
+\s+20b:\s+fd 71 09\s+ld \(iy\+9\),c
+\s+20e:\s+fd 72 09\s+ld \(iy\+9\),d
+\s+211:\s+fd 73 09\s+ld \(iy\+9\),e
+\s+214:\s+fd 74 09\s+ld \(iy\+9\),h
+\s+217:\s+fd 75 09\s+ld \(iy\+9\),l
+\s+21a:\s+3a 34 12\s+ld a,\(0x1234\)
+\s+21d:\s+0a\s+ld a,\(bc\)
+\s+21e:\s+1a\s+ld a,\(de\)
+\s+21f:\s+7e\s+ld a,\(hl\)
+\s+220:\s+dd 7e 09\s+ld a,\(ix\+9\)
+\s+223:\s+fd 7e 09\s+ld a,\(iy\+9\)
+\s+226:\s+3e 03\s+ld a,0x03
+\s+228:\s+7f\s+ld a,a
+\s+229:\s+78\s+ld a,b
+\s+22a:\s+79\s+ld a,c
+\s+22b:\s+7a\s+ld a,d
+\s+22c:\s+7b\s+ld a,e
+\s+22d:\s+7c\s+ld a,h
+\s+22e:\s+ed 57\s+ld a,i
+\s+230:\s+7d\s+ld a,l
+\s+231:\s+ed 5f\s+ld a,r
+\s+233:\s+46\s+ld b,\(hl\)
+\s+234:\s+dd 46 09\s+ld b,\(ix\+9\)
+\s+237:\s+fd 46 09\s+ld b,\(iy\+9\)
+\s+23a:\s+06 03\s+ld b,0x03
+\s+23c:\s+47\s+ld b,a
+\s+23d:\s+40\s+ld b,b
+\s+23e:\s+41\s+ld b,c
+\s+23f:\s+42\s+ld b,d
+\s+240:\s+43\s+ld b,e
+\s+241:\s+44\s+ld b,h
+\s+242:\s+45\s+ld b,l
+\s+243:\s+ed 4b 34 12\s+ld bc,\(0x1234\)
+\s+247:\s+01 34 12\s+ld bc,0x1234
+\s+24a:\s+4e\s+ld c,\(hl\)
+\s+24b:\s+dd 4e 09\s+ld c,\(ix\+9\)
+\s+24e:\s+fd 4e 09\s+ld c,\(iy\+9\)
+\s+251:\s+0e 03\s+ld c,0x03
+\s+253:\s+4f\s+ld c,a
+\s+254:\s+48\s+ld c,b
+\s+255:\s+49\s+ld c,c
+\s+256:\s+4a\s+ld c,d
+\s+257:\s+4b\s+ld c,e
+\s+258:\s+4c\s+ld c,h
+\s+259:\s+4d\s+ld c,l
+\s+25a:\s+56\s+ld d,\(hl\)
+\s+25b:\s+dd 56 09\s+ld d,\(ix\+9\)
+\s+25e:\s+fd 56 09\s+ld d,\(iy\+9\)
+\s+261:\s+16 03\s+ld d,0x03
+\s+263:\s+57\s+ld d,a
+\s+264:\s+50\s+ld d,b
+\s+265:\s+51\s+ld d,c
+\s+266:\s+52\s+ld d,d
+\s+267:\s+53\s+ld d,e
+\s+268:\s+54\s+ld d,h
+\s+269:\s+55\s+ld d,l
+\s+26a:\s+ed 5b 34 12\s+ld de,\(0x1234\)
+\s+26e:\s+11 34 12\s+ld de,0x1234
+\s+271:\s+5e\s+ld e,\(hl\)
+\s+272:\s+dd 5e 09\s+ld e,\(ix\+9\)
+\s+275:\s+fd 5e 09\s+ld e,\(iy\+9\)
+\s+278:\s+1e 03\s+ld e,0x03
+\s+27a:\s+5f\s+ld e,a
+\s+27b:\s+58\s+ld e,b
+\s+27c:\s+59\s+ld e,c
+\s+27d:\s+5a\s+ld e,d
+\s+27e:\s+5b\s+ld e,e
+\s+27f:\s+5c\s+ld e,h
+\s+280:\s+5d\s+ld e,l
+\s+281:\s+66\s+ld h,\(hl\)
+\s+282:\s+dd 66 09\s+ld h,\(ix\+9\)
+\s+285:\s+fd 66 09\s+ld h,\(iy\+9\)
+\s+288:\s+26 03\s+ld h,0x03
+\s+28a:\s+67\s+ld h,a
+\s+28b:\s+60\s+ld h,b
+\s+28c:\s+61\s+ld h,c
+\s+28d:\s+62\s+ld h,d
+\s+28e:\s+63\s+ld h,e
+\s+28f:\s+64\s+ld h,h
+\s+290:\s+65\s+ld h,l
+\s+291:\s+2a 34 12\s+ld hl,\(0x1234\)
+\s+294:\s+21 34 12\s+ld hl,0x1234
+\s+297:\s+ed 47\s+ld i,a
+\s+299:\s+dd 2a 34 12\s+ld ix,\(0x1234\)
+\s+29d:\s+dd 21 34 12\s+ld ix,0x1234
+\s+2a1:\s+fd 2a 34 12\s+ld iy,\(0x1234\)
+\s+2a5:\s+fd 21 34 12\s+ld iy,0x1234
+\s+2a9:\s+6e\s+ld l,\(hl\)
+\s+2aa:\s+dd 6e 09\s+ld l,\(ix\+9\)
+\s+2ad:\s+fd 6e 09\s+ld l,\(iy\+9\)
+\s+2b0:\s+2e 03\s+ld l,0x03
+\s+2b2:\s+6f\s+ld l,a
+\s+2b3:\s+68\s+ld l,b
+\s+2b4:\s+69\s+ld l,c
+\s+2b5:\s+6a\s+ld l,d
+\s+2b6:\s+6b\s+ld l,e
+\s+2b7:\s+6c\s+ld l,h
+\s+2b8:\s+6d\s+ld l,l
+\s+2b9:\s+ed 4f\s+ld r,a
+\s+2bb:\s+ed 7b 34 12\s+ld sp,\(0x1234\)
+\s+2bf:\s+31 34 12\s+ld sp,0x1234
+\s+2c2:\s+f9\s+ld sp,hl
+\s+2c3:\s+dd f9\s+ld sp,ix
+\s+2c5:\s+fd f9\s+ld sp,iy
+\s+2c7:\s+ed a8\s+ldd
+\s+2c9:\s+ed b8\s+lddr
+\s+2cb:\s+ed a0\s+ldi
+\s+2cd:\s+ed b0\s+ldir
+\s+2cf:\s+ed 44\s+neg
+\s+2d1:\s+00\s+nop
+\s+2d2:\s+b6\s+or \(hl\)
+\s+2d3:\s+dd b6 09\s+or \(ix\+9\)
+\s+2d6:\s+fd b6 09\s+or \(iy\+9\)
+\s+2d9:\s+f6 03\s+or 0x03
+\s+2db:\s+b7\s+or a
+\s+2dc:\s+b0\s+or b
+\s+2dd:\s+b1\s+or c
+\s+2de:\s+b2\s+or d
+\s+2df:\s+b3\s+or e
+\s+2e0:\s+b4\s+or h
+\s+2e1:\s+b5\s+or l
+\s+2e2:\s+ed bb\s+otdr
+\s+2e4:\s+ed b3\s+otir
+\s+2e6:\s+ed 79\s+out \(c\),a
+\s+2e8:\s+ed 41\s+out \(c\),b
+\s+2ea:\s+ed 49\s+out \(c\),c
+\s+2ec:\s+ed 51\s+out \(c\),d
+\s+2ee:\s+ed 59\s+out \(c\),e
+\s+2f0:\s+ed 61\s+out \(c\),h
+\s+2f2:\s+ed 69\s+out \(c\),l
+\s+2f4:\s+d3 03\s+out \(0x03\),a
+\s+2f6:\s+ed ab\s+outd
+\s+2f8:\s+ed a3\s+outi
+\s+2fa:\s+f1\s+pop af
+\s+2fb:\s+c1\s+pop bc
+\s+2fc:\s+d1\s+pop de
+\s+2fd:\s+e1\s+pop hl
+\s+2fe:\s+dd e1\s+pop ix
+\s+300:\s+fd e1\s+pop iy
+\s+302:\s+f5\s+push af
+\s+303:\s+c5\s+push bc
+\s+304:\s+d5\s+push de
+\s+305:\s+e5\s+push hl
+\s+306:\s+dd e5\s+push ix
+\s+308:\s+fd e5\s+push iy
+\s+30a:\s+cb 86\s+res 0,\(hl\)
+\s+30c:\s+dd cb 09 86\s+res 0,\(ix\+9\)
+\s+310:\s+fd cb 09 86\s+res 0,\(iy\+9\)
+\s+314:\s+cb 87\s+res 0,a
+\s+316:\s+cb 80\s+res 0,b
+\s+318:\s+cb 81\s+res 0,c
+\s+31a:\s+cb 82\s+res 0,d
+\s+31c:\s+cb 83\s+res 0,e
+\s+31e:\s+cb 84\s+res 0,h
+\s+320:\s+cb 85\s+res 0,l
+\s+322:\s+cb 8e\s+res 1,\(hl\)
+\s+324:\s+dd cb 09 8e\s+res 1,\(ix\+9\)
+\s+328:\s+fd cb 09 8e\s+res 1,\(iy\+9\)
+\s+32c:\s+cb 8f\s+res 1,a
+\s+32e:\s+cb 88\s+res 1,b
+\s+330:\s+cb 89\s+res 1,c
+\s+332:\s+cb 8a\s+res 1,d
+\s+334:\s+cb 8b\s+res 1,e
+\s+336:\s+cb 8c\s+res 1,h
+\s+338:\s+cb 8d\s+res 1,l
+\s+33a:\s+cb 96\s+res 2,\(hl\)
+\s+33c:\s+dd cb 09 96\s+res 2,\(ix\+9\)
+\s+340:\s+fd cb 09 96\s+res 2,\(iy\+9\)
+\s+344:\s+cb 97\s+res 2,a
+\s+346:\s+cb 90\s+res 2,b
+\s+348:\s+cb 91\s+res 2,c
+\s+34a:\s+cb 92\s+res 2,d
+\s+34c:\s+cb 93\s+res 2,e
+\s+34e:\s+cb 94\s+res 2,h
+\s+350:\s+cb 95\s+res 2,l
+\s+352:\s+cb 9e\s+res 3,\(hl\)
+\s+354:\s+dd cb 09 9e\s+res 3,\(ix\+9\)
+\s+358:\s+fd cb 09 9e\s+res 3,\(iy\+9\)
+\s+35c:\s+cb 9f\s+res 3,a
+\s+35e:\s+cb 98\s+res 3,b
+\s+360:\s+cb 99\s+res 3,c
+\s+362:\s+cb 9a\s+res 3,d
+\s+364:\s+cb 9b\s+res 3,e
+\s+366:\s+cb 9c\s+res 3,h
+\s+368:\s+cb 9d\s+res 3,l
+\s+36a:\s+cb a6\s+res 4,\(hl\)
+\s+36c:\s+dd cb 09 a6\s+res 4,\(ix\+9\)
+\s+370:\s+fd cb 09 a6\s+res 4,\(iy\+9\)
+\s+374:\s+cb a7\s+res 4,a
+\s+376:\s+cb a0\s+res 4,b
+\s+378:\s+cb a1\s+res 4,c
+\s+37a:\s+cb a2\s+res 4,d
+\s+37c:\s+cb a3\s+res 4,e
+\s+37e:\s+cb a4\s+res 4,h
+\s+380:\s+cb a5\s+res 4,l
+\s+382:\s+cb ae\s+res 5,\(hl\)
+\s+384:\s+dd cb 09 ae\s+res 5,\(ix\+9\)
+\s+388:\s+fd cb 09 ae\s+res 5,\(iy\+9\)
+\s+38c:\s+cb af\s+res 5,a
+\s+38e:\s+cb a8\s+res 5,b
+\s+390:\s+cb a9\s+res 5,c
+\s+392:\s+cb aa\s+res 5,d
+\s+394:\s+cb ab\s+res 5,e
+\s+396:\s+cb ac\s+res 5,h
+\s+398:\s+cb ad\s+res 5,l
+\s+39a:\s+cb b6\s+res 6,\(hl\)
+\s+39c:\s+dd cb 09 b6\s+res 6,\(ix\+9\)
+\s+3a0:\s+fd cb 09 b6\s+res 6,\(iy\+9\)
+\s+3a4:\s+cb b7\s+res 6,a
+\s+3a6:\s+cb b0\s+res 6,b
+\s+3a8:\s+cb b1\s+res 6,c
+\s+3aa:\s+cb b2\s+res 6,d
+\s+3ac:\s+cb b3\s+res 6,e
+\s+3ae:\s+cb b4\s+res 6,h
+\s+3b0:\s+cb b5\s+res 6,l
+\s+3b2:\s+cb be\s+res 7,\(hl\)
+\s+3b4:\s+dd cb 09 be\s+res 7,\(ix\+9\)
+\s+3b8:\s+fd cb 09 be\s+res 7,\(iy\+9\)
+\s+3bc:\s+cb bf\s+res 7,a
+\s+3be:\s+cb b8\s+res 7,b
+\s+3c0:\s+cb b9\s+res 7,c
+\s+3c2:\s+cb ba\s+res 7,d
+\s+3c4:\s+cb bb\s+res 7,e
+\s+3c6:\s+cb bc\s+res 7,h
+\s+3c8:\s+cb bd\s+res 7,l
+\s+3ca:\s+c9\s+ret
+\s+3cb:\s+d8\s+ret c
+\s+3cc:\s+f8\s+ret m
+\s+3cd:\s+d0\s+ret nc
+\s+3ce:\s+c0\s+ret nz
+\s+3cf:\s+f0\s+ret p
+\s+3d0:\s+e8\s+ret pe
+\s+3d1:\s+e0\s+ret po
+\s+3d2:\s+c8\s+ret z
+\s+3d3:\s+ed 4d\s+reti
+\s+3d5:\s+ed 45\s+retn
+\s+3d7:\s+cb 16\s+rl \(hl\)
+\s+3d9:\s+dd cb 09 16\s+rl \(ix\+9\)
+\s+3dd:\s+fd cb 09 16\s+rl \(iy\+9\)
+\s+3e1:\s+cb 17\s+rl a
+\s+3e3:\s+cb 10\s+rl b
+\s+3e5:\s+cb 11\s+rl c
+\s+3e7:\s+cb 12\s+rl d
+\s+3e9:\s+cb 13\s+rl e
+\s+3eb:\s+cb 14\s+rl h
+\s+3ed:\s+cb 15\s+rl l
+\s+3ef:\s+17\s+rla
+\s+3f0:\s+cb 06\s+rlc \(hl\)
+\s+3f2:\s+dd cb 09 06\s+rlc \(ix\+9\)
+\s+3f6:\s+fd cb 09 06\s+rlc \(iy\+9\)
+\s+3fa:\s+cb 07\s+rlc a
+\s+3fc:\s+cb 00\s+rlc b
+\s+3fe:\s+cb 01\s+rlc c
+\s+400:\s+cb 02\s+rlc d
+\s+402:\s+cb 03\s+rlc e
+\s+404:\s+cb 04\s+rlc h
+\s+406:\s+cb 05\s+rlc l
+\s+408:\s+07\s+rlca
+\s+409:\s+ed 6f\s+rld
+\s+40b:\s+cb 1e\s+rr \(hl\)
+\s+40d:\s+dd cb 09 1e\s+rr \(ix\+9\)
+\s+411:\s+fd cb 09 1e\s+rr \(iy\+9\)
+\s+415:\s+cb 1f\s+rr a
+\s+417:\s+cb 18\s+rr b
+\s+419:\s+cb 19\s+rr c
+\s+41b:\s+cb 1a\s+rr d
+\s+41d:\s+cb 1b\s+rr e
+\s+41f:\s+cb 1c\s+rr h
+\s+421:\s+cb 1d\s+rr l
+\s+423:\s+1f\s+rra
+\s+424:\s+cb 0e\s+rrc \(hl\)
+\s+426:\s+dd cb 09 0e\s+rrc \(ix\+9\)
+\s+42a:\s+fd cb 09 0e\s+rrc \(iy\+9\)
+\s+42e:\s+cb 0f\s+rrc a
+\s+430:\s+cb 08\s+rrc b
+\s+432:\s+cb 09\s+rrc c
+\s+434:\s+cb 0a\s+rrc d
+\s+436:\s+cb 0b\s+rrc e
+\s+438:\s+cb 0c\s+rrc h
+\s+43a:\s+cb 0d\s+rrc l
+\s+43c:\s+0f\s+rrca
+\s+43d:\s+ed 67\s+rrd
+\s+43f:\s+c7\s+rst 0x00
+\s+440:\s+cf\s+rst 0x08
+\s+441:\s+d7\s+rst 0x10
+\s+442:\s+df\s+rst 0x18
+\s+443:\s+e7\s+rst 0x20
+\s+444:\s+ef\s+rst 0x28
+\s+445:\s+f7\s+rst 0x30
+\s+446:\s+ff\s+rst 0x38
+\s+447:\s+9e\s+sbc a,\(hl\)
+\s+448:\s+dd 9e 09\s+sbc a,\(ix\+9\)
+\s+44b:\s+fd 9e 09\s+sbc a,\(iy\+9\)
+\s+44e:\s+de 03\s+sbc a,0x03
+\s+450:\s+9f\s+sbc a,a
+\s+451:\s+98\s+sbc a,b
+\s+452:\s+99\s+sbc a,c
+\s+453:\s+9a\s+sbc a,d
+\s+454:\s+9b\s+sbc a,e
+\s+455:\s+9c\s+sbc a,h
+\s+456:\s+9d\s+sbc a,l
+\s+457:\s+ed 42\s+sbc hl,bc
+\s+459:\s+ed 52\s+sbc hl,de
+\s+45b:\s+ed 62\s+sbc hl,hl
+\s+45d:\s+ed 72\s+sbc hl,sp
+\s+45f:\s+37\s+scf
+\s+460:\s+cb c6\s+set 0,\(hl\)
+\s+462:\s+dd cb 09 c6\s+set 0,\(ix\+9\)
+\s+466:\s+fd cb 09 c6\s+set 0,\(iy\+9\)
+\s+46a:\s+cb c7\s+set 0,a
+\s+46c:\s+cb c0\s+set 0,b
+\s+46e:\s+cb c1\s+set 0,c
+\s+470:\s+cb c2\s+set 0,d
+\s+472:\s+cb c3\s+set 0,e
+\s+474:\s+cb c4\s+set 0,h
+\s+476:\s+cb c5\s+set 0,l
+\s+478:\s+cb ce\s+set 1,\(hl\)
+\s+47a:\s+dd cb 09 ce\s+set 1,\(ix\+9\)
+\s+47e:\s+fd cb 09 ce\s+set 1,\(iy\+9\)
+\s+482:\s+cb cf\s+set 1,a
+\s+484:\s+cb c8\s+set 1,b
+\s+486:\s+cb c9\s+set 1,c
+\s+488:\s+cb ca\s+set 1,d
+\s+48a:\s+cb cb\s+set 1,e
+\s+48c:\s+cb cc\s+set 1,h
+\s+48e:\s+cb cd\s+set 1,l
+\s+490:\s+cb d6\s+set 2,\(hl\)
+\s+492:\s+dd cb 09 d6\s+set 2,\(ix\+9\)
+\s+496:\s+fd cb 09 d6\s+set 2,\(iy\+9\)
+\s+49a:\s+cb d7\s+set 2,a
+\s+49c:\s+cb d0\s+set 2,b
+\s+49e:\s+cb d1\s+set 2,c
+\s+4a0:\s+cb d2\s+set 2,d
+\s+4a2:\s+cb d3\s+set 2,e
+\s+4a4:\s+cb d4\s+set 2,h
+\s+4a6:\s+cb d5\s+set 2,l
+\s+4a8:\s+cb de\s+set 3,\(hl\)
+\s+4aa:\s+dd cb 09 de\s+set 3,\(ix\+9\)
+\s+4ae:\s+fd cb 09 de\s+set 3,\(iy\+9\)
+\s+4b2:\s+cb df\s+set 3,a
+\s+4b4:\s+cb d8\s+set 3,b
+\s+4b6:\s+cb d9\s+set 3,c
+\s+4b8:\s+cb da\s+set 3,d
+\s+4ba:\s+cb db\s+set 3,e
+\s+4bc:\s+cb dc\s+set 3,h
+\s+4be:\s+cb dd\s+set 3,l
+\s+4c0:\s+cb e6\s+set 4,\(hl\)
+\s+4c2:\s+dd cb 09 e6\s+set 4,\(ix\+9\)
+\s+4c6:\s+fd cb 09 e6\s+set 4,\(iy\+9\)
+\s+4ca:\s+cb e7\s+set 4,a
+\s+4cc:\s+cb e0\s+set 4,b
+\s+4ce:\s+cb e1\s+set 4,c
+\s+4d0:\s+cb e2\s+set 4,d
+\s+4d2:\s+cb e3\s+set 4,e
+\s+4d4:\s+cb e4\s+set 4,h
+\s+4d6:\s+cb e5\s+set 4,l
+\s+4d8:\s+cb ee\s+set 5,\(hl\)
+\s+4da:\s+dd cb 09 ee\s+set 5,\(ix\+9\)
+\s+4de:\s+fd cb 09 ee\s+set 5,\(iy\+9\)
+\s+4e2:\s+cb ef\s+set 5,a
+\s+4e4:\s+cb e8\s+set 5,b
+\s+4e6:\s+cb e9\s+set 5,c
+\s+4e8:\s+cb ea\s+set 5,d
+\s+4ea:\s+cb eb\s+set 5,e
+\s+4ec:\s+cb ec\s+set 5,h
+\s+4ee:\s+cb ed\s+set 5,l
+\s+4f0:\s+cb f6\s+set 6,\(hl\)
+\s+4f2:\s+dd cb 09 f6\s+set 6,\(ix\+9\)
+\s+4f6:\s+fd cb 09 f6\s+set 6,\(iy\+9\)
+\s+4fa:\s+cb f7\s+set 6,a
+\s+4fc:\s+cb f0\s+set 6,b
+\s+4fe:\s+cb f1\s+set 6,c
+\s+500:\s+cb f2\s+set 6,d
+\s+502:\s+cb f3\s+set 6,e
+\s+504:\s+cb f4\s+set 6,h
+\s+506:\s+cb f5\s+set 6,l
+\s+508:\s+cb fe\s+set 7,\(hl\)
+\s+50a:\s+dd cb 09 fe\s+set 7,\(ix\+9\)
+\s+50e:\s+fd cb 09 fe\s+set 7,\(iy\+9\)
+\s+512:\s+cb ff\s+set 7,a
+\s+514:\s+cb f8\s+set 7,b
+\s+516:\s+cb f9\s+set 7,c
+\s+518:\s+cb fa\s+set 7,d
+\s+51a:\s+cb fb\s+set 7,e
+\s+51c:\s+cb fc\s+set 7,h
+\s+51e:\s+cb fd\s+set 7,l
+\s+520:\s+cb 26\s+sla \(hl\)
+\s+522:\s+dd cb 09 26\s+sla \(ix\+9\)
+\s+526:\s+fd cb 09 26\s+sla \(iy\+9\)
+\s+52a:\s+cb 27\s+sla a
+\s+52c:\s+cb 20\s+sla b
+\s+52e:\s+cb 21\s+sla c
+\s+530:\s+cb 22\s+sla d
+\s+532:\s+cb 23\s+sla e
+\s+534:\s+cb 24\s+sla h
+\s+536:\s+cb 25\s+sla l
+\s+538:\s+cb 2e\s+sra \(hl\)
+\s+53a:\s+dd cb 09 2e\s+sra \(ix\+9\)
+\s+53e:\s+fd cb 09 2e\s+sra \(iy\+9\)
+\s+542:\s+cb 2f\s+sra a
+\s+544:\s+cb 28\s+sra b
+\s+546:\s+cb 29\s+sra c
+\s+548:\s+cb 2a\s+sra d
+\s+54a:\s+cb 2b\s+sra e
+\s+54c:\s+cb 2c\s+sra h
+\s+54e:\s+cb 2d\s+sra l
+\s+550:\s+cb 3e\s+srl \(hl\)
+\s+552:\s+dd cb 09 3e\s+srl \(ix\+9\)
+\s+556:\s+fd cb 09 3e\s+srl \(iy\+9\)
+\s+55a:\s+cb 3f\s+srl a
+\s+55c:\s+cb 38\s+srl b
+\s+55e:\s+cb 39\s+srl c
+\s+560:\s+cb 3a\s+srl d
+\s+562:\s+cb 3b\s+srl e
+\s+564:\s+cb 3c\s+srl h
+\s+566:\s+cb 3d\s+srl l
+\s+568:\s+96\s+sub \(hl\)
+\s+569:\s+dd 96 09\s+sub \(ix\+9\)
+\s+56c:\s+fd 96 09\s+sub \(iy\+9\)
+\s+56f:\s+d6 03\s+sub 0x03
+\s+571:\s+97\s+sub a
+\s+572:\s+90\s+sub b
+\s+573:\s+91\s+sub c
+\s+574:\s+92\s+sub d
+\s+575:\s+93\s+sub e
+\s+576:\s+94\s+sub h
+\s+577:\s+95\s+sub l
+\s+578:\s+ae\s+xor \(hl\)
+\s+579:\s+dd ae 09\s+xor \(ix\+9\)
+\s+57c:\s+fd ae 09\s+xor \(iy\+9\)
+\s+57f:\s+ee 03\s+xor 0x03
+\s+581:\s+af\s+xor a
+\s+582:\s+a8\s+xor b
+\s+583:\s+a9\s+xor c
+\s+584:\s+aa\s+xor d
+\s+585:\s+ab\s+xor e
+\s+586:\s+ac\s+xor h
+\s+587:\s+ad\s+xor l
index 3ed7348c4e4c67cdf720e9c3cb601813c9b58b13..334d7f9e50da7bbb1c72a51fee852014db339dbb 100644 (file)
 if [istarget z80-*-*] then {
 # test redefinitions
     run_dump_test "redef"
+# test .set redefinitions
+    run_dump_test "set"
 # test parsing of equ definitions
     run_dump_test "equ"
 # test parsing of " and '
     run_dump_test "quotes"
+# test data definition directives
+    run_dump_test "data"
 # test suffixes
     run_dump_test "suffix"
 # test assembling and disassembling instructions involving offsets
@@ -47,7 +51,51 @@ if [istarget z80-*-*] then {
     run_dump_test "branch"
 # test for input and output instructions
     run_dump_test "inout"
+# test for strings
+    run_dump_test "strings"
+# test for dollar labels
+    run_dump_test "dollar"
+# test for relocations
+    run_dump_test "z80_reloc"
+# test for absolutely all documented instructions of Z80
+    run_dump_test "z80_doc"
+# test for undocumented instructions like RLC (IX+3),A
+    run_dump_test "z80_op_ii_ld"
+# test for undocumented instructions SLI/SLL
+    run_dump_test "z80_sli"
+# test for undocumented instruction IN F,(C)
+    run_dump_test "z80_in_f_c"
+# test for undocumented instruction OUT (C),0
+    run_dump_test "z80_out_c_0"
+# test for instructions with index register halves
+    run_dump_test "z80_ii8"
 #test for other instructions
     run_dump_test "misc"
     gas_test_error "ill_op.s" "" "Illegal operand: ld hl,(sp+0)"
+# test for all Z80 documented instructions for R800
+    run_dump_test "r800_z80_doc"
+# test for R800 instructions with index register halves
+    run_dump_test "r800_ii8"
+# test for R800 extra instructions
+    run_dump_test "r800_extra"
+#test for Z180 instructions
+    run_dump_test "z180"
+#test for Z80 instructions while compiling for Z180
+    run_dump_test "z180_z80_doc"
+#test for eZ80 instructions in Z80 mode
+    run_dump_test "ez80_z80_all"
+#test for eZ80 instructions with sufficies in Z80 mode
+    run_dump_test "ez80_z80_suf"
+#test for eZ80 instructions in ADL mode
+    run_dump_test "ez80_adl_all"
+#test for eZ80 instructions with sufficies in ADL mode
+    run_dump_test "ez80_adl_suf"
+# test for SDCC compatibility mode
+    run_dump_test "sdcc"
+# test for colonless labels
+    run_dump_test "colonless"
+# test for FP math48
+    run_dump_test "fp_math48"
+# test for FP zeda32
+    run_dump_test "fp_zeda32"
 }
diff --git a/gas/testsuite/gas/z80/z80_doc.d b/gas/testsuite/gas/z80/z80_doc.d
new file mode 100644 (file)
index 0000000..935f68e
--- /dev/null
@@ -0,0 +1,705 @@
+#as: -z80 -without-inst=sli,op-ii-ld,idx-reg-halves,in-f-c,out-c-0
+#objdump: -d
+#name: All Z80 documented instructions
+
+.*: .*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+0:\s+8e\s+adc a,\(hl\)
+\s+1:\s+dd 8e 09\s+adc a,\(ix\+9\)
+\s+4:\s+fd 8e 09\s+adc a,\(iy\+9\)
+\s+7:\s+ce 03\s+adc a,0x03
+\s+9:\s+8f\s+adc a,a
+\s+a:\s+88\s+adc a,b
+\s+b:\s+89\s+adc a,c
+\s+c:\s+8a\s+adc a,d
+\s+d:\s+8b\s+adc a,e
+\s+e:\s+8c\s+adc a,h
+\s+f:\s+8d\s+adc a,l
+\s+10:\s+ed 4a\s+adc hl,bc
+\s+12:\s+ed 5a\s+adc hl,de
+\s+14:\s+ed 6a\s+adc hl,hl
+\s+16:\s+ed 7a\s+adc hl,sp
+\s+18:\s+86\s+add a,\(hl\)
+\s+19:\s+dd 86 09\s+add a,\(ix\+9\)
+\s+1c:\s+fd 86 09\s+add a,\(iy\+9\)
+\s+1f:\s+c6 03\s+add a,0x03
+\s+21:\s+87\s+add a,a
+\s+22:\s+80\s+add a,b
+\s+23:\s+81\s+add a,c
+\s+24:\s+82\s+add a,d
+\s+25:\s+83\s+add a,e
+\s+26:\s+84\s+add a,h
+\s+27:\s+85\s+add a,l
+\s+28:\s+09\s+add hl,bc
+\s+29:\s+19\s+add hl,de
+\s+2a:\s+29\s+add hl,hl
+\s+2b:\s+39\s+add hl,sp
+\s+2c:\s+dd 09\s+add ix,bc
+\s+2e:\s+dd 19\s+add ix,de
+\s+30:\s+dd 29\s+add ix,ix
+\s+32:\s+dd 39\s+add ix,sp
+\s+34:\s+fd 09\s+add iy,bc
+\s+36:\s+fd 19\s+add iy,de
+\s+38:\s+fd 29\s+add iy,iy
+\s+3a:\s+fd 39\s+add iy,sp
+\s+3c:\s+a6\s+and \(hl\)
+\s+3d:\s+dd a6 09\s+and \(ix\+9\)
+\s+40:\s+fd a6 09\s+and \(iy\+9\)
+\s+43:\s+e6 03\s+and 0x03
+\s+45:\s+a7\s+and a
+\s+46:\s+a0\s+and b
+\s+47:\s+a1\s+and c
+\s+48:\s+a2\s+and d
+\s+49:\s+a3\s+and e
+\s+4a:\s+a4\s+and h
+\s+4b:\s+a5\s+and l
+\s+4c:\s+cb 46\s+bit 0,\(hl\)
+\s+4e:\s+dd cb 09 46\s+bit 0,\(ix\+9\)
+\s+52:\s+fd cb 09 46\s+bit 0,\(iy\+9\)
+\s+56:\s+cb 47\s+bit 0,a
+\s+58:\s+cb 40\s+bit 0,b
+\s+5a:\s+cb 41\s+bit 0,c
+\s+5c:\s+cb 42\s+bit 0,d
+\s+5e:\s+cb 43\s+bit 0,e
+\s+60:\s+cb 44\s+bit 0,h
+\s+62:\s+cb 45\s+bit 0,l
+\s+64:\s+cb 4e\s+bit 1,\(hl\)
+\s+66:\s+dd cb 09 4e\s+bit 1,\(ix\+9\)
+\s+6a:\s+fd cb 09 4e\s+bit 1,\(iy\+9\)
+\s+6e:\s+cb 4f\s+bit 1,a
+\s+70:\s+cb 48\s+bit 1,b
+\s+72:\s+cb 49\s+bit 1,c
+\s+74:\s+cb 4a\s+bit 1,d
+\s+76:\s+cb 4b\s+bit 1,e
+\s+78:\s+cb 4c\s+bit 1,h
+\s+7a:\s+cb 4d\s+bit 1,l
+\s+7c:\s+cb 56\s+bit 2,\(hl\)
+\s+7e:\s+dd cb 09 56\s+bit 2,\(ix\+9\)
+\s+82:\s+fd cb 09 56\s+bit 2,\(iy\+9\)
+\s+86:\s+cb 57\s+bit 2,a
+\s+88:\s+cb 50\s+bit 2,b
+\s+8a:\s+cb 51\s+bit 2,c
+\s+8c:\s+cb 52\s+bit 2,d
+\s+8e:\s+cb 53\s+bit 2,e
+\s+90:\s+cb 54\s+bit 2,h
+\s+92:\s+cb 55\s+bit 2,l
+\s+94:\s+cb 5e\s+bit 3,\(hl\)
+\s+96:\s+dd cb 09 5e\s+bit 3,\(ix\+9\)
+\s+9a:\s+fd cb 09 5e\s+bit 3,\(iy\+9\)
+\s+9e:\s+cb 5f\s+bit 3,a
+\s+a0:\s+cb 58\s+bit 3,b
+\s+a2:\s+cb 59\s+bit 3,c
+\s+a4:\s+cb 5a\s+bit 3,d
+\s+a6:\s+cb 5b\s+bit 3,e
+\s+a8:\s+cb 5c\s+bit 3,h
+\s+aa:\s+cb 5d\s+bit 3,l
+\s+ac:\s+cb 66\s+bit 4,\(hl\)
+\s+ae:\s+dd cb 09 66\s+bit 4,\(ix\+9\)
+\s+b2:\s+fd cb 09 66\s+bit 4,\(iy\+9\)
+\s+b6:\s+cb 67\s+bit 4,a
+\s+b8:\s+cb 60\s+bit 4,b
+\s+ba:\s+cb 61\s+bit 4,c
+\s+bc:\s+cb 62\s+bit 4,d
+\s+be:\s+cb 63\s+bit 4,e
+\s+c0:\s+cb 64\s+bit 4,h
+\s+c2:\s+cb 65\s+bit 4,l
+\s+c4:\s+cb 6e\s+bit 5,\(hl\)
+\s+c6:\s+dd cb 09 6e\s+bit 5,\(ix\+9\)
+\s+ca:\s+fd cb 09 6e\s+bit 5,\(iy\+9\)
+\s+ce:\s+cb 6f\s+bit 5,a
+\s+d0:\s+cb 68\s+bit 5,b
+\s+d2:\s+cb 69\s+bit 5,c
+\s+d4:\s+cb 6a\s+bit 5,d
+\s+d6:\s+cb 6b\s+bit 5,e
+\s+d8:\s+cb 6c\s+bit 5,h
+\s+da:\s+cb 6d\s+bit 5,l
+\s+dc:\s+cb 76\s+bit 6,\(hl\)
+\s+de:\s+dd cb 09 76\s+bit 6,\(ix\+9\)
+\s+e2:\s+fd cb 09 76\s+bit 6,\(iy\+9\)
+\s+e6:\s+cb 77\s+bit 6,a
+\s+e8:\s+cb 70\s+bit 6,b
+\s+ea:\s+cb 71\s+bit 6,c
+\s+ec:\s+cb 72\s+bit 6,d
+\s+ee:\s+cb 73\s+bit 6,e
+\s+f0:\s+cb 74\s+bit 6,h
+\s+f2:\s+cb 75\s+bit 6,l
+\s+f4:\s+cb 7e\s+bit 7,\(hl\)
+\s+f6:\s+dd cb 09 7e\s+bit 7,\(ix\+9\)
+\s+fa:\s+fd cb 09 7e\s+bit 7,\(iy\+9\)
+\s+fe:\s+cb 7f\s+bit 7,a
+\s+100:\s+cb 78\s+bit 7,b
+\s+102:\s+cb 79\s+bit 7,c
+\s+104:\s+cb 7a\s+bit 7,d
+\s+106:\s+cb 7b\s+bit 7,e
+\s+108:\s+cb 7c\s+bit 7,h
+\s+10a:\s+cb 7d\s+bit 7,l
+\s+10c:\s+cd 34 12\s+call 0x1234
+\s+10f:\s+dc 34 12\s+call c,0x1234
+\s+112:\s+fc 34 12\s+call m,0x1234
+\s+115:\s+d4 34 12\s+call nc,0x1234
+\s+118:\s+c4 34 12\s+call nz,0x1234
+\s+11b:\s+f4 34 12\s+call p,0x1234
+\s+11e:\s+ec 34 12\s+call pe,0x1234
+\s+121:\s+e4 34 12\s+call po,0x1234
+\s+124:\s+cc 34 12\s+call z,0x1234
+\s+127:\s+3f\s+ccf
+\s+128:\s+be\s+cp \(hl\)
+\s+129:\s+dd be 09\s+cp \(ix\+9\)
+\s+12c:\s+fd be 09\s+cp \(iy\+9\)
+\s+12f:\s+fe 03\s+cp 0x03
+\s+131:\s+bf\s+cp a
+\s+132:\s+b8\s+cp b
+\s+133:\s+b9\s+cp c
+\s+134:\s+ba\s+cp d
+\s+135:\s+bb\s+cp e
+\s+136:\s+bc\s+cp h
+\s+137:\s+bd\s+cp l
+\s+138:\s+ed a9\s+cpd
+\s+13a:\s+ed b9\s+cpdr
+\s+13c:\s+ed a1\s+cpi
+\s+13e:\s+ed b1\s+cpir
+\s+140:\s+2f\s+cpl
+\s+141:\s+27\s+daa
+\s+142:\s+35\s+dec \(hl\)
+\s+143:\s+dd 35 09\s+dec \(ix\+9\)
+\s+146:\s+fd 35 09\s+dec \(iy\+9\)
+\s+149:\s+3d\s+dec a
+\s+14a:\s+05\s+dec b
+\s+14b:\s+0b\s+dec bc
+\s+14c:\s+0d\s+dec c
+\s+14d:\s+15\s+dec d
+\s+14e:\s+1b\s+dec de
+\s+14f:\s+1d\s+dec e
+\s+150:\s+25\s+dec h
+\s+151:\s+2b\s+dec hl
+\s+152:\s+dd 2b\s+dec ix
+\s+154:\s+fd 2b\s+dec iy
+\s+156:\s+2d\s+dec l
+\s+157:\s+3b\s+dec sp
+\s+158:\s+f3\s+di
+\s+159:\s+10 05\s+djnz 0x0160
+\s+15b:\s+fb\s+ei
+\s+15c:\s+e3\s+ex \(sp\),hl
+\s+15d:\s+dd e3\s+ex \(sp\),ix
+\s+15f:\s+fd e3\s+ex \(sp\),iy
+\s+161:\s+08\s+ex af,af'
+\s+162:\s+eb\s+ex de,hl
+\s+163:\s+d9\s+exx
+\s+164:\s+76\s+halt
+\s+165:\s+ed 46\s+im 0
+\s+167:\s+ed 56\s+im 1
+\s+169:\s+ed 5e\s+im 2
+\s+16b:\s+ed 78\s+in a,\(c\)
+\s+16d:\s+db 03\s+in a,\(0x03\)
+\s+16f:\s+ed 40\s+in b,\(c\)
+\s+171:\s+ed 48\s+in c,\(c\)
+\s+173:\s+ed 50\s+in d,\(c\)
+\s+175:\s+ed 58\s+in e,\(c\)
+\s+177:\s+ed 60\s+in h,\(c\)
+\s+179:\s+ed 68\s+in l,\(c\)
+\s+17b:\s+34\s+inc \(hl\)
+\s+17c:\s+dd 34 09\s+inc \(ix\+9\)
+\s+17f:\s+fd 34 09\s+inc \(iy\+9\)
+\s+182:\s+3c\s+inc a
+\s+183:\s+04\s+inc b
+\s+184:\s+03\s+inc bc
+\s+185:\s+0c\s+inc c
+\s+186:\s+14\s+inc d
+\s+187:\s+13\s+inc de
+\s+188:\s+1c\s+inc e
+\s+189:\s+24\s+inc h
+\s+18a:\s+23\s+inc hl
+\s+18b:\s+dd 23\s+inc ix
+\s+18d:\s+fd 23\s+inc iy
+\s+18f:\s+2c\s+inc l
+\s+190:\s+33\s+inc sp
+\s+191:\s+ed aa\s+ind
+\s+193:\s+ed ba\s+indr
+\s+195:\s+ed a2\s+ini
+\s+197:\s+ed b2\s+inir
+\s+199:\s+e9\s+jp \(hl\)
+\s+19a:\s+dd e9\s+jp \(ix\)
+\s+19c:\s+fd e9\s+jp \(iy\)
+\s+19e:\s+c3 34 12\s+jp 0x1234
+\s+1a1:\s+da 34 12\s+jp c,0x1234
+\s+1a4:\s+fa 34 12\s+jp m,0x1234
+\s+1a7:\s+d2 34 12\s+jp nc,0x1234
+\s+1aa:\s+c2 34 12\s+jp nz,0x1234
+\s+1ad:\s+f2 34 12\s+jp p,0x1234
+\s+1b0:\s+ea 34 12\s+jp pe,0x1234
+\s+1b3:\s+e2 34 12\s+jp po,0x1234
+\s+1b6:\s+ca 34 12\s+jp z,0x1234
+\s+1b9:\s+18 05\s+jr 0x01c0
+\s+1bb:\s+38 05\s+jr c,0x01c2
+\s+1bd:\s+30 05\s+jr nc,0x01c4
+\s+1bf:\s+20 05\s+jr nz,0x01c6
+\s+1c1:\s+28 05\s+jr z,0x01c8
+\s+1c3:\s+32 34 12\s+ld \(0x1234\),a
+\s+1c6:\s+ed 43 34 12\s+ld \(0x1234\),bc
+\s+1ca:\s+ed 53 34 12\s+ld \(0x1234\),de
+\s+1ce:\s+22 34 12\s+ld \(0x1234\),hl
+\s+1d1:\s+dd 22 34 12\s+ld \(0x1234\),ix
+\s+1d5:\s+fd 22 34 12\s+ld \(0x1234\),iy
+\s+1d9:\s+ed 73 34 12\s+ld \(0x1234\),sp
+\s+1dd:\s+02\s+ld \(bc\),a
+\s+1de:\s+12\s+ld \(de\),a
+\s+1df:\s+36 03\s+ld \(hl\),0x03
+\s+1e1:\s+77\s+ld \(hl\),a
+\s+1e2:\s+70\s+ld \(hl\),b
+\s+1e3:\s+71\s+ld \(hl\),c
+\s+1e4:\s+72\s+ld \(hl\),d
+\s+1e5:\s+73\s+ld \(hl\),e
+\s+1e6:\s+74\s+ld \(hl\),h
+\s+1e7:\s+75\s+ld \(hl\),l
+\s+1e8:\s+dd 36 09 03\s+ld \(ix\+9\),0x03
+\s+1ec:\s+dd 77 09\s+ld \(ix\+9\),a
+\s+1ef:\s+dd 70 09\s+ld \(ix\+9\),b
+\s+1f2:\s+dd 71 09\s+ld \(ix\+9\),c
+\s+1f5:\s+dd 72 09\s+ld \(ix\+9\),d
+\s+1f8:\s+dd 73 09\s+ld \(ix\+9\),e
+\s+1fb:\s+dd 74 09\s+ld \(ix\+9\),h
+\s+1fe:\s+dd 75 09\s+ld \(ix\+9\),l
+\s+201:\s+fd 36 09 03\s+ld \(iy\+9\),0x03
+\s+205:\s+fd 77 09\s+ld \(iy\+9\),a
+\s+208:\s+fd 70 09\s+ld \(iy\+9\),b
+\s+20b:\s+fd 71 09\s+ld \(iy\+9\),c
+\s+20e:\s+fd 72 09\s+ld \(iy\+9\),d
+\s+211:\s+fd 73 09\s+ld \(iy\+9\),e
+\s+214:\s+fd 74 09\s+ld \(iy\+9\),h
+\s+217:\s+fd 75 09\s+ld \(iy\+9\),l
+\s+21a:\s+3a 34 12\s+ld a,\(0x1234\)
+\s+21d:\s+0a\s+ld a,\(bc\)
+\s+21e:\s+1a\s+ld a,\(de\)
+\s+21f:\s+7e\s+ld a,\(hl\)
+\s+220:\s+dd 7e 09\s+ld a,\(ix\+9\)
+\s+223:\s+fd 7e 09\s+ld a,\(iy\+9\)
+\s+226:\s+3e 03\s+ld a,0x03
+\s+228:\s+7f\s+ld a,a
+\s+229:\s+78\s+ld a,b
+\s+22a:\s+79\s+ld a,c
+\s+22b:\s+7a\s+ld a,d
+\s+22c:\s+7b\s+ld a,e
+\s+22d:\s+7c\s+ld a,h
+\s+22e:\s+ed 57\s+ld a,i
+\s+230:\s+7d\s+ld a,l
+\s+231:\s+ed 5f\s+ld a,r
+\s+233:\s+46\s+ld b,\(hl\)
+\s+234:\s+dd 46 09\s+ld b,\(ix\+9\)
+\s+237:\s+fd 46 09\s+ld b,\(iy\+9\)
+\s+23a:\s+06 03\s+ld b,0x03
+\s+23c:\s+47\s+ld b,a
+\s+23d:\s+40\s+ld b,b
+\s+23e:\s+41\s+ld b,c
+\s+23f:\s+42\s+ld b,d
+\s+240:\s+43\s+ld b,e
+\s+241:\s+44\s+ld b,h
+\s+242:\s+45\s+ld b,l
+\s+243:\s+ed 4b 34 12\s+ld bc,\(0x1234\)
+\s+247:\s+01 34 12\s+ld bc,0x1234
+\s+24a:\s+4e\s+ld c,\(hl\)
+\s+24b:\s+dd 4e 09\s+ld c,\(ix\+9\)
+\s+24e:\s+fd 4e 09\s+ld c,\(iy\+9\)
+\s+251:\s+0e 03\s+ld c,0x03
+\s+253:\s+4f\s+ld c,a
+\s+254:\s+48\s+ld c,b
+\s+255:\s+49\s+ld c,c
+\s+256:\s+4a\s+ld c,d
+\s+257:\s+4b\s+ld c,e
+\s+258:\s+4c\s+ld c,h
+\s+259:\s+4d\s+ld c,l
+\s+25a:\s+56\s+ld d,\(hl\)
+\s+25b:\s+dd 56 09\s+ld d,\(ix\+9\)
+\s+25e:\s+fd 56 09\s+ld d,\(iy\+9\)
+\s+261:\s+16 03\s+ld d,0x03
+\s+263:\s+57\s+ld d,a
+\s+264:\s+50\s+ld d,b
+\s+265:\s+51\s+ld d,c
+\s+266:\s+52\s+ld d,d
+\s+267:\s+53\s+ld d,e
+\s+268:\s+54\s+ld d,h
+\s+269:\s+55\s+ld d,l
+\s+26a:\s+ed 5b 34 12\s+ld de,\(0x1234\)
+\s+26e:\s+11 34 12\s+ld de,0x1234
+\s+271:\s+5e\s+ld e,\(hl\)
+\s+272:\s+dd 5e 09\s+ld e,\(ix\+9\)
+\s+275:\s+fd 5e 09\s+ld e,\(iy\+9\)
+\s+278:\s+1e 03\s+ld e,0x03
+\s+27a:\s+5f\s+ld e,a
+\s+27b:\s+58\s+ld e,b
+\s+27c:\s+59\s+ld e,c
+\s+27d:\s+5a\s+ld e,d
+\s+27e:\s+5b\s+ld e,e
+\s+27f:\s+5c\s+ld e,h
+\s+280:\s+5d\s+ld e,l
+\s+281:\s+66\s+ld h,\(hl\)
+\s+282:\s+dd 66 09\s+ld h,\(ix\+9\)
+\s+285:\s+fd 66 09\s+ld h,\(iy\+9\)
+\s+288:\s+26 03\s+ld h,0x03
+\s+28a:\s+67\s+ld h,a
+\s+28b:\s+60\s+ld h,b
+\s+28c:\s+61\s+ld h,c
+\s+28d:\s+62\s+ld h,d
+\s+28e:\s+63\s+ld h,e
+\s+28f:\s+64\s+ld h,h
+\s+290:\s+65\s+ld h,l
+\s+291:\s+2a 34 12\s+ld hl,\(0x1234\)
+\s+294:\s+21 34 12\s+ld hl,0x1234
+\s+297:\s+ed 47\s+ld i,a
+\s+299:\s+dd 2a 34 12\s+ld ix,\(0x1234\)
+\s+29d:\s+dd 21 34 12\s+ld ix,0x1234
+\s+2a1:\s+fd 2a 34 12\s+ld iy,\(0x1234\)
+\s+2a5:\s+fd 21 34 12\s+ld iy,0x1234
+\s+2a9:\s+6e\s+ld l,\(hl\)
+\s+2aa:\s+dd 6e 09\s+ld l,\(ix\+9\)
+\s+2ad:\s+fd 6e 09\s+ld l,\(iy\+9\)
+\s+2b0:\s+2e 03\s+ld l,0x03
+\s+2b2:\s+6f\s+ld l,a
+\s+2b3:\s+68\s+ld l,b
+\s+2b4:\s+69\s+ld l,c
+\s+2b5:\s+6a\s+ld l,d
+\s+2b6:\s+6b\s+ld l,e
+\s+2b7:\s+6c\s+ld l,h
+\s+2b8:\s+6d\s+ld l,l
+\s+2b9:\s+ed 4f\s+ld r,a
+\s+2bb:\s+ed 7b 34 12\s+ld sp,\(0x1234\)
+\s+2bf:\s+31 34 12\s+ld sp,0x1234
+\s+2c2:\s+f9\s+ld sp,hl
+\s+2c3:\s+dd f9\s+ld sp,ix
+\s+2c5:\s+fd f9\s+ld sp,iy
+\s+2c7:\s+ed a8\s+ldd
+\s+2c9:\s+ed b8\s+lddr
+\s+2cb:\s+ed a0\s+ldi
+\s+2cd:\s+ed b0\s+ldir
+\s+2cf:\s+ed 44\s+neg
+\s+2d1:\s+00\s+nop
+\s+2d2:\s+b6\s+or \(hl\)
+\s+2d3:\s+dd b6 09\s+or \(ix\+9\)
+\s+2d6:\s+fd b6 09\s+or \(iy\+9\)
+\s+2d9:\s+f6 03\s+or 0x03
+\s+2db:\s+b7\s+or a
+\s+2dc:\s+b0\s+or b
+\s+2dd:\s+b1\s+or c
+\s+2de:\s+b2\s+or d
+\s+2df:\s+b3\s+or e
+\s+2e0:\s+b4\s+or h
+\s+2e1:\s+b5\s+or l
+\s+2e2:\s+ed bb\s+otdr
+\s+2e4:\s+ed b3\s+otir
+\s+2e6:\s+ed 79\s+out \(c\),a
+\s+2e8:\s+ed 41\s+out \(c\),b
+\s+2ea:\s+ed 49\s+out \(c\),c
+\s+2ec:\s+ed 51\s+out \(c\),d
+\s+2ee:\s+ed 59\s+out \(c\),e
+\s+2f0:\s+ed 61\s+out \(c\),h
+\s+2f2:\s+ed 69\s+out \(c\),l
+\s+2f4:\s+d3 03\s+out \(0x03\),a
+\s+2f6:\s+ed ab\s+outd
+\s+2f8:\s+ed a3\s+outi
+\s+2fa:\s+f1\s+pop af
+\s+2fb:\s+c1\s+pop bc
+\s+2fc:\s+d1\s+pop de
+\s+2fd:\s+e1\s+pop hl
+\s+2fe:\s+dd e1\s+pop ix
+\s+300:\s+fd e1\s+pop iy
+\s+302:\s+f5\s+push af
+\s+303:\s+c5\s+push bc
+\s+304:\s+d5\s+push de
+\s+305:\s+e5\s+push hl
+\s+306:\s+dd e5\s+push ix
+\s+308:\s+fd e5\s+push iy
+\s+30a:\s+cb 86\s+res 0,\(hl\)
+\s+30c:\s+dd cb 09 86\s+res 0,\(ix\+9\)
+\s+310:\s+fd cb 09 86\s+res 0,\(iy\+9\)
+\s+314:\s+cb 87\s+res 0,a
+\s+316:\s+cb 80\s+res 0,b
+\s+318:\s+cb 81\s+res 0,c
+\s+31a:\s+cb 82\s+res 0,d
+\s+31c:\s+cb 83\s+res 0,e
+\s+31e:\s+cb 84\s+res 0,h
+\s+320:\s+cb 85\s+res 0,l
+\s+322:\s+cb 8e\s+res 1,\(hl\)
+\s+324:\s+dd cb 09 8e\s+res 1,\(ix\+9\)
+\s+328:\s+fd cb 09 8e\s+res 1,\(iy\+9\)
+\s+32c:\s+cb 8f\s+res 1,a
+\s+32e:\s+cb 88\s+res 1,b
+\s+330:\s+cb 89\s+res 1,c
+\s+332:\s+cb 8a\s+res 1,d
+\s+334:\s+cb 8b\s+res 1,e
+\s+336:\s+cb 8c\s+res 1,h
+\s+338:\s+cb 8d\s+res 1,l
+\s+33a:\s+cb 96\s+res 2,\(hl\)
+\s+33c:\s+dd cb 09 96\s+res 2,\(ix\+9\)
+\s+340:\s+fd cb 09 96\s+res 2,\(iy\+9\)
+\s+344:\s+cb 97\s+res 2,a
+\s+346:\s+cb 90\s+res 2,b
+\s+348:\s+cb 91\s+res 2,c
+\s+34a:\s+cb 92\s+res 2,d
+\s+34c:\s+cb 93\s+res 2,e
+\s+34e:\s+cb 94\s+res 2,h
+\s+350:\s+cb 95\s+res 2,l
+\s+352:\s+cb 9e\s+res 3,\(hl\)
+\s+354:\s+dd cb 09 9e\s+res 3,\(ix\+9\)
+\s+358:\s+fd cb 09 9e\s+res 3,\(iy\+9\)
+\s+35c:\s+cb 9f\s+res 3,a
+\s+35e:\s+cb 98\s+res 3,b
+\s+360:\s+cb 99\s+res 3,c
+\s+362:\s+cb 9a\s+res 3,d
+\s+364:\s+cb 9b\s+res 3,e
+\s+366:\s+cb 9c\s+res 3,h
+\s+368:\s+cb 9d\s+res 3,l
+\s+36a:\s+cb a6\s+res 4,\(hl\)
+\s+36c:\s+dd cb 09 a6\s+res 4,\(ix\+9\)
+\s+370:\s+fd cb 09 a6\s+res 4,\(iy\+9\)
+\s+374:\s+cb a7\s+res 4,a
+\s+376:\s+cb a0\s+res 4,b
+\s+378:\s+cb a1\s+res 4,c
+\s+37a:\s+cb a2\s+res 4,d
+\s+37c:\s+cb a3\s+res 4,e
+\s+37e:\s+cb a4\s+res 4,h
+\s+380:\s+cb a5\s+res 4,l
+\s+382:\s+cb ae\s+res 5,\(hl\)
+\s+384:\s+dd cb 09 ae\s+res 5,\(ix\+9\)
+\s+388:\s+fd cb 09 ae\s+res 5,\(iy\+9\)
+\s+38c:\s+cb af\s+res 5,a
+\s+38e:\s+cb a8\s+res 5,b
+\s+390:\s+cb a9\s+res 5,c
+\s+392:\s+cb aa\s+res 5,d
+\s+394:\s+cb ab\s+res 5,e
+\s+396:\s+cb ac\s+res 5,h
+\s+398:\s+cb ad\s+res 5,l
+\s+39a:\s+cb b6\s+res 6,\(hl\)
+\s+39c:\s+dd cb 09 b6\s+res 6,\(ix\+9\)
+\s+3a0:\s+fd cb 09 b6\s+res 6,\(iy\+9\)
+\s+3a4:\s+cb b7\s+res 6,a
+\s+3a6:\s+cb b0\s+res 6,b
+\s+3a8:\s+cb b1\s+res 6,c
+\s+3aa:\s+cb b2\s+res 6,d
+\s+3ac:\s+cb b3\s+res 6,e
+\s+3ae:\s+cb b4\s+res 6,h
+\s+3b0:\s+cb b5\s+res 6,l
+\s+3b2:\s+cb be\s+res 7,\(hl\)
+\s+3b4:\s+dd cb 09 be\s+res 7,\(ix\+9\)
+\s+3b8:\s+fd cb 09 be\s+res 7,\(iy\+9\)
+\s+3bc:\s+cb bf\s+res 7,a
+\s+3be:\s+cb b8\s+res 7,b
+\s+3c0:\s+cb b9\s+res 7,c
+\s+3c2:\s+cb ba\s+res 7,d
+\s+3c4:\s+cb bb\s+res 7,e
+\s+3c6:\s+cb bc\s+res 7,h
+\s+3c8:\s+cb bd\s+res 7,l
+\s+3ca:\s+c9\s+ret
+\s+3cb:\s+d8\s+ret c
+\s+3cc:\s+f8\s+ret m
+\s+3cd:\s+d0\s+ret nc
+\s+3ce:\s+c0\s+ret nz
+\s+3cf:\s+f0\s+ret p
+\s+3d0:\s+e8\s+ret pe
+\s+3d1:\s+e0\s+ret po
+\s+3d2:\s+c8\s+ret z
+\s+3d3:\s+ed 4d\s+reti
+\s+3d5:\s+ed 45\s+retn
+\s+3d7:\s+cb 16\s+rl \(hl\)
+\s+3d9:\s+dd cb 09 16\s+rl \(ix\+9\)
+\s+3dd:\s+fd cb 09 16\s+rl \(iy\+9\)
+\s+3e1:\s+cb 17\s+rl a
+\s+3e3:\s+cb 10\s+rl b
+\s+3e5:\s+cb 11\s+rl c
+\s+3e7:\s+cb 12\s+rl d
+\s+3e9:\s+cb 13\s+rl e
+\s+3eb:\s+cb 14\s+rl h
+\s+3ed:\s+cb 15\s+rl l
+\s+3ef:\s+17\s+rla
+\s+3f0:\s+cb 06\s+rlc \(hl\)
+\s+3f2:\s+dd cb 09 06\s+rlc \(ix\+9\)
+\s+3f6:\s+fd cb 09 06\s+rlc \(iy\+9\)
+\s+3fa:\s+cb 07\s+rlc a
+\s+3fc:\s+cb 00\s+rlc b
+\s+3fe:\s+cb 01\s+rlc c
+\s+400:\s+cb 02\s+rlc d
+\s+402:\s+cb 03\s+rlc e
+\s+404:\s+cb 04\s+rlc h
+\s+406:\s+cb 05\s+rlc l
+\s+408:\s+07\s+rlca
+\s+409:\s+ed 6f\s+rld
+\s+40b:\s+cb 1e\s+rr \(hl\)
+\s+40d:\s+dd cb 09 1e\s+rr \(ix\+9\)
+\s+411:\s+fd cb 09 1e\s+rr \(iy\+9\)
+\s+415:\s+cb 1f\s+rr a
+\s+417:\s+cb 18\s+rr b
+\s+419:\s+cb 19\s+rr c
+\s+41b:\s+cb 1a\s+rr d
+\s+41d:\s+cb 1b\s+rr e
+\s+41f:\s+cb 1c\s+rr h
+\s+421:\s+cb 1d\s+rr l
+\s+423:\s+1f\s+rra
+\s+424:\s+cb 0e\s+rrc \(hl\)
+\s+426:\s+dd cb 09 0e\s+rrc \(ix\+9\)
+\s+42a:\s+fd cb 09 0e\s+rrc \(iy\+9\)
+\s+42e:\s+cb 0f\s+rrc a
+\s+430:\s+cb 08\s+rrc b
+\s+432:\s+cb 09\s+rrc c
+\s+434:\s+cb 0a\s+rrc d
+\s+436:\s+cb 0b\s+rrc e
+\s+438:\s+cb 0c\s+rrc h
+\s+43a:\s+cb 0d\s+rrc l
+\s+43c:\s+0f\s+rrca
+\s+43d:\s+ed 67\s+rrd
+\s+43f:\s+c7\s+rst 0x00
+\s+440:\s+cf\s+rst 0x08
+\s+441:\s+d7\s+rst 0x10
+\s+442:\s+df\s+rst 0x18
+\s+443:\s+e7\s+rst 0x20
+\s+444:\s+ef\s+rst 0x28
+\s+445:\s+f7\s+rst 0x30
+\s+446:\s+ff\s+rst 0x38
+\s+447:\s+9e\s+sbc a,\(hl\)
+\s+448:\s+dd 9e 09\s+sbc a,\(ix\+9\)
+\s+44b:\s+fd 9e 09\s+sbc a,\(iy\+9\)
+\s+44e:\s+de 03\s+sbc a,0x03
+\s+450:\s+9f\s+sbc a,a
+\s+451:\s+98\s+sbc a,b
+\s+452:\s+99\s+sbc a,c
+\s+453:\s+9a\s+sbc a,d
+\s+454:\s+9b\s+sbc a,e
+\s+455:\s+9c\s+sbc a,h
+\s+456:\s+9d\s+sbc a,l
+\s+457:\s+ed 42\s+sbc hl,bc
+\s+459:\s+ed 52\s+sbc hl,de
+\s+45b:\s+ed 62\s+sbc hl,hl
+\s+45d:\s+ed 72\s+sbc hl,sp
+\s+45f:\s+37\s+scf
+\s+460:\s+cb c6\s+set 0,\(hl\)
+\s+462:\s+dd cb 09 c6\s+set 0,\(ix\+9\)
+\s+466:\s+fd cb 09 c6\s+set 0,\(iy\+9\)
+\s+46a:\s+cb c7\s+set 0,a
+\s+46c:\s+cb c0\s+set 0,b
+\s+46e:\s+cb c1\s+set 0,c
+\s+470:\s+cb c2\s+set 0,d
+\s+472:\s+cb c3\s+set 0,e
+\s+474:\s+cb c4\s+set 0,h
+\s+476:\s+cb c5\s+set 0,l
+\s+478:\s+cb ce\s+set 1,\(hl\)
+\s+47a:\s+dd cb 09 ce\s+set 1,\(ix\+9\)
+\s+47e:\s+fd cb 09 ce\s+set 1,\(iy\+9\)
+\s+482:\s+cb cf\s+set 1,a
+\s+484:\s+cb c8\s+set 1,b
+\s+486:\s+cb c9\s+set 1,c
+\s+488:\s+cb ca\s+set 1,d
+\s+48a:\s+cb cb\s+set 1,e
+\s+48c:\s+cb cc\s+set 1,h
+\s+48e:\s+cb cd\s+set 1,l
+\s+490:\s+cb d6\s+set 2,\(hl\)
+\s+492:\s+dd cb 09 d6\s+set 2,\(ix\+9\)
+\s+496:\s+fd cb 09 d6\s+set 2,\(iy\+9\)
+\s+49a:\s+cb d7\s+set 2,a
+\s+49c:\s+cb d0\s+set 2,b
+\s+49e:\s+cb d1\s+set 2,c
+\s+4a0:\s+cb d2\s+set 2,d
+\s+4a2:\s+cb d3\s+set 2,e
+\s+4a4:\s+cb d4\s+set 2,h
+\s+4a6:\s+cb d5\s+set 2,l
+\s+4a8:\s+cb de\s+set 3,\(hl\)
+\s+4aa:\s+dd cb 09 de\s+set 3,\(ix\+9\)
+\s+4ae:\s+fd cb 09 de\s+set 3,\(iy\+9\)
+\s+4b2:\s+cb df\s+set 3,a
+\s+4b4:\s+cb d8\s+set 3,b
+\s+4b6:\s+cb d9\s+set 3,c
+\s+4b8:\s+cb da\s+set 3,d
+\s+4ba:\s+cb db\s+set 3,e
+\s+4bc:\s+cb dc\s+set 3,h
+\s+4be:\s+cb dd\s+set 3,l
+\s+4c0:\s+cb e6\s+set 4,\(hl\)
+\s+4c2:\s+dd cb 09 e6\s+set 4,\(ix\+9\)
+\s+4c6:\s+fd cb 09 e6\s+set 4,\(iy\+9\)
+\s+4ca:\s+cb e7\s+set 4,a
+\s+4cc:\s+cb e0\s+set 4,b
+\s+4ce:\s+cb e1\s+set 4,c
+\s+4d0:\s+cb e2\s+set 4,d
+\s+4d2:\s+cb e3\s+set 4,e
+\s+4d4:\s+cb e4\s+set 4,h
+\s+4d6:\s+cb e5\s+set 4,l
+\s+4d8:\s+cb ee\s+set 5,\(hl\)
+\s+4da:\s+dd cb 09 ee\s+set 5,\(ix\+9\)
+\s+4de:\s+fd cb 09 ee\s+set 5,\(iy\+9\)
+\s+4e2:\s+cb ef\s+set 5,a
+\s+4e4:\s+cb e8\s+set 5,b
+\s+4e6:\s+cb e9\s+set 5,c
+\s+4e8:\s+cb ea\s+set 5,d
+\s+4ea:\s+cb eb\s+set 5,e
+\s+4ec:\s+cb ec\s+set 5,h
+\s+4ee:\s+cb ed\s+set 5,l
+\s+4f0:\s+cb f6\s+set 6,\(hl\)
+\s+4f2:\s+dd cb 09 f6\s+set 6,\(ix\+9\)
+\s+4f6:\s+fd cb 09 f6\s+set 6,\(iy\+9\)
+\s+4fa:\s+cb f7\s+set 6,a
+\s+4fc:\s+cb f0\s+set 6,b
+\s+4fe:\s+cb f1\s+set 6,c
+\s+500:\s+cb f2\s+set 6,d
+\s+502:\s+cb f3\s+set 6,e
+\s+504:\s+cb f4\s+set 6,h
+\s+506:\s+cb f5\s+set 6,l
+\s+508:\s+cb fe\s+set 7,\(hl\)
+\s+50a:\s+dd cb 09 fe\s+set 7,\(ix\+9\)
+\s+50e:\s+fd cb 09 fe\s+set 7,\(iy\+9\)
+\s+512:\s+cb ff\s+set 7,a
+\s+514:\s+cb f8\s+set 7,b
+\s+516:\s+cb f9\s+set 7,c
+\s+518:\s+cb fa\s+set 7,d
+\s+51a:\s+cb fb\s+set 7,e
+\s+51c:\s+cb fc\s+set 7,h
+\s+51e:\s+cb fd\s+set 7,l
+\s+520:\s+cb 26\s+sla \(hl\)
+\s+522:\s+dd cb 09 26\s+sla \(ix\+9\)
+\s+526:\s+fd cb 09 26\s+sla \(iy\+9\)
+\s+52a:\s+cb 27\s+sla a
+\s+52c:\s+cb 20\s+sla b
+\s+52e:\s+cb 21\s+sla c
+\s+530:\s+cb 22\s+sla d
+\s+532:\s+cb 23\s+sla e
+\s+534:\s+cb 24\s+sla h
+\s+536:\s+cb 25\s+sla l
+\s+538:\s+cb 2e\s+sra \(hl\)
+\s+53a:\s+dd cb 09 2e\s+sra \(ix\+9\)
+\s+53e:\s+fd cb 09 2e\s+sra \(iy\+9\)
+\s+542:\s+cb 2f\s+sra a
+\s+544:\s+cb 28\s+sra b
+\s+546:\s+cb 29\s+sra c
+\s+548:\s+cb 2a\s+sra d
+\s+54a:\s+cb 2b\s+sra e
+\s+54c:\s+cb 2c\s+sra h
+\s+54e:\s+cb 2d\s+sra l
+\s+550:\s+cb 3e\s+srl \(hl\)
+\s+552:\s+dd cb 09 3e\s+srl \(ix\+9\)
+\s+556:\s+fd cb 09 3e\s+srl \(iy\+9\)
+\s+55a:\s+cb 3f\s+srl a
+\s+55c:\s+cb 38\s+srl b
+\s+55e:\s+cb 39\s+srl c
+\s+560:\s+cb 3a\s+srl d
+\s+562:\s+cb 3b\s+srl e
+\s+564:\s+cb 3c\s+srl h
+\s+566:\s+cb 3d\s+srl l
+\s+568:\s+96\s+sub \(hl\)
+\s+569:\s+dd 96 09\s+sub \(ix\+9\)
+\s+56c:\s+fd 96 09\s+sub \(iy\+9\)
+\s+56f:\s+d6 03\s+sub 0x03
+\s+571:\s+97\s+sub a
+\s+572:\s+90\s+sub b
+\s+573:\s+91\s+sub c
+\s+574:\s+92\s+sub d
+\s+575:\s+93\s+sub e
+\s+576:\s+94\s+sub h
+\s+577:\s+95\s+sub l
+\s+578:\s+ae\s+xor \(hl\)
+\s+579:\s+dd ae 09\s+xor \(ix\+9\)
+\s+57c:\s+fd ae 09\s+xor \(iy\+9\)
+\s+57f:\s+ee 03\s+xor 0x03
+\s+581:\s+af\s+xor a
+\s+582:\s+a8\s+xor b
+\s+583:\s+a9\s+xor c
+\s+584:\s+aa\s+xor d
+\s+585:\s+ab\s+xor e
+\s+586:\s+ac\s+xor h
+\s+587:\s+ad\s+xor l
diff --git a/gas/testsuite/gas/z80/z80_doc.s b/gas/testsuite/gas/z80/z80_doc.s
new file mode 100644 (file)
index 0000000..5f0a159
--- /dev/null
@@ -0,0 +1,699 @@
+       .text
+       .org 0
+
+       adc a,(hl)
+       adc a,(ix+9)
+       adc a,(iy+9)
+       adc a,3
+       adc a,a
+       adc a,b
+       adc a,c
+       adc a,d
+       adc a,e
+       adc a,h
+       adc a,l
+       adc hl,bc
+       adc hl,de
+       adc hl,hl
+       adc hl,sp
+       add a,(hl)
+       add a,(ix+9)
+       add a,(iy+9)
+       add a,3
+       add a,a
+       add a,b
+       add a,c
+       add a,d
+       add a,e
+       add a,h
+       add a,l
+       add hl,bc
+       add hl,de
+       add hl,hl
+       add hl,sp
+       add ix,bc
+       add ix,de
+       add ix,ix
+       add ix,sp
+       add iy,bc
+       add iy,de
+       add iy,iy
+       add iy,sp
+       and (hl)
+       and (ix+9)
+       and (iy+9)
+       and 3
+       and a
+       and b
+       and c
+       and d
+       and e
+       and h
+       and l
+       bit 0,(hl)
+       bit 0,(ix+9)
+       bit 0,(iy+9)
+       bit 0,a
+       bit 0,b
+       bit 0,c
+       bit 0,d
+       bit 0,e
+       bit 0,h
+       bit 0,l
+       bit 1,(hl)
+       bit 1,(ix+9)
+       bit 1,(iy+9)
+       bit 1,a
+       bit 1,b
+       bit 1,c
+       bit 1,d
+       bit 1,e
+       bit 1,h
+       bit 1,l
+       bit 2,(hl)
+       bit 2,(ix+9)
+       bit 2,(iy+9)
+       bit 2,a
+       bit 2,b
+       bit 2,c
+       bit 2,d
+       bit 2,e
+       bit 2,h
+       bit 2,l
+       bit 3,(hl)
+       bit 3,(ix+9)
+       bit 3,(iy+9)
+       bit 3,a
+       bit 3,b
+       bit 3,c
+       bit 3,d
+       bit 3,e
+       bit 3,h
+       bit 3,l
+       bit 4,(hl)
+       bit 4,(ix+9)
+       bit 4,(iy+9)
+       bit 4,a
+       bit 4,b
+       bit 4,c
+       bit 4,d
+       bit 4,e
+       bit 4,h
+       bit 4,l
+       bit 5,(hl)
+       bit 5,(ix+9)
+       bit 5,(iy+9)
+       bit 5,a
+       bit 5,b
+       bit 5,c
+       bit 5,d
+       bit 5,e
+       bit 5,h
+       bit 5,l
+       bit 6,(hl)
+       bit 6,(ix+9)
+       bit 6,(iy+9)
+       bit 6,a
+       bit 6,b
+       bit 6,c
+       bit 6,d
+       bit 6,e
+       bit 6,h
+       bit 6,l
+       bit 7,(hl)
+       bit 7,(ix+9)
+       bit 7,(iy+9)
+       bit 7,a
+       bit 7,b
+       bit 7,c
+       bit 7,d
+       bit 7,e
+       bit 7,h
+       bit 7,l
+       call 0x1234
+       call c,0x1234
+       call m,0x1234
+       call nc,0x1234
+       call nz,0x1234
+       call p,0x1234
+       call pe,0x1234
+       call po,0x1234
+       call z,0x1234
+       ccf
+       cp (hl)
+       cp (ix+9)
+       cp (iy+9)
+       cp 03
+       cp a
+       cp b
+       cp c
+       cp d
+       cp e
+       cp h
+       cp l
+       cpd
+       cpdr
+       cpi
+       cpir
+       cpl
+       daa
+       dec (hl)
+       dec (ix+9)
+       dec (iy+9)
+       dec a
+       dec b
+       dec bc
+       dec c
+       dec d
+       dec de
+       dec e
+       dec h
+       dec hl
+       dec ix
+       dec iy
+       dec l
+       dec sp
+       di
+       djnz .+7
+       ei
+       ex (sp),hl
+       ex (sp),ix
+       ex (sp),iy
+       ex af,af'
+       ex de,hl
+       exx
+       halt
+       im 0
+       im 1
+       im 2
+       in a,(c)
+       in a,(3)
+       in b,(c)
+       in c,(c)
+       in d,(c)
+       in e,(c)
+       in h,(c)
+       in l,(c)
+       inc (hl)
+       inc (ix+9)
+       inc (iy+9)
+       inc a
+       inc b
+       inc bc
+       inc c
+       inc d
+       inc de
+       inc e
+       inc h
+       inc hl
+       inc ix
+       inc iy
+       inc l
+       inc sp
+       ind
+       indr
+       ini
+       inir
+       jp (hl)
+       jp (ix)
+       jp (iy)
+       jp 0x1234
+       jp c,0x1234
+       jp m,0x1234
+       jp nc,0x1234
+       jp nz,0x1234
+       jp p,0x1234
+       jp pe,0x1234
+       jp po,0x1234
+       jp z,0x1234
+       jr .+7
+       jr c,.+7
+       jr nc,.+7
+       jr nz,.+7
+       jr z,.+7
+       ld (0x1234),a
+       ld (0x1234),bc
+       ld (0x1234),de
+       ld (0x1234),hl
+       ld (0x1234),ix
+       ld (0x1234),iy
+       ld (0x1234),sp
+       ld (bc),a
+       ld (de),a
+       ld (hl),3
+       ld (hl),a
+       ld (hl),b
+       ld (hl),c
+       ld (hl),d
+       ld (hl),e
+       ld (hl),h
+       ld (hl),l
+       ld (ix+9),3
+       ld (ix+9),a
+       ld (ix+9),b
+       ld (ix+9),c
+       ld (ix+9),d
+       ld (ix+9),e
+       ld (ix+9),h
+       ld (ix+9),l
+       ld (iy+9),3
+       ld (iy+9),a
+       ld (iy+9),b
+       ld (iy+9),c
+       ld (iy+9),d
+       ld (iy+9),e
+       ld (iy+9),h
+       ld (iy+9),l
+       ld a,(0x1234)
+       ld a,(bc)
+       ld a,(de)
+       ld a,(hl)
+       ld a,(ix+9)
+       ld a,(iy+9)
+       ld a,3
+       ld a,a
+       ld a,b
+       ld a,c
+       ld a,d
+       ld a,e
+       ld a,h
+       ld a,i
+       ld a,l
+       ld a,r
+       ld b,(hl)
+       ld b,(ix+9)
+       ld b,(iy+9)
+       ld b,3
+       ld b,a
+       ld b,b
+       ld b,c
+       ld b,d
+       ld b,e
+       ld b,h
+       ld b,l
+       ld bc,(0x1234)
+       ld bc,0x1234
+       ld c,(hl)
+       ld c,(ix+9)
+       ld c,(iy+9)
+       ld c,3
+       ld c,a
+       ld c,b
+       ld c,c
+       ld c,d
+       ld c,e
+       ld c,h
+       ld c,l
+       ld d,(hl)
+       ld d,(ix+9)
+       ld d,(iy+9)
+       ld d,3
+       ld d,a
+       ld d,b
+       ld d,c
+       ld d,d
+       ld d,e
+       ld d,h
+       ld d,l
+       ld de,(0x1234)
+       ld de,0x1234
+       ld e,(hl)
+       ld e,(ix+9)
+       ld e,(iy+9)
+       ld e,3
+       ld e,a
+       ld e,b
+       ld e,c
+       ld e,d
+       ld e,e
+       ld e,h
+       ld e,l
+       ld h,(hl)
+       ld h,(ix+9)
+       ld h,(iy+9)
+       ld h,3
+       ld h,a
+       ld h,b
+       ld h,c
+       ld h,d
+       ld h,e
+       ld h,h
+       ld h,l
+       ld hl,(0x1234)
+       ld hl,0x1234
+       ld i,a
+       ld ix,(0x1234)
+       ld ix,0x1234
+       ld iy,(0x1234)
+       ld iy,0x1234
+       ld l,(hl)
+       ld l,(ix+9)
+       ld l,(iy+9)
+       ld l,3
+       ld l,a
+       ld l,b
+       ld l,c
+       ld l,d
+       ld l,e
+       ld l,h
+       ld l,l
+       ld r,a
+       ld sp,(0x1234)
+       ld sp,0x1234
+       ld sp,hl
+       ld sp,ix
+       ld sp,iy
+       ldd
+       lddr
+       ldi
+       ldir
+       neg
+       nop
+       or (hl)
+       or (ix+9)
+       or (iy+9)
+       or 3
+       or a
+       or b
+       or c
+       or d
+       or e
+       or h
+       or l
+       otdr
+       otir
+       out (c),a
+       out (c),b
+       out (c),c
+       out (c),d
+       out (c),e
+       out (c),h
+       out (c),l
+       out (3),a
+       outd
+       outi
+       pop af
+       pop bc
+       pop de
+       pop hl
+       pop ix
+       pop iy
+       push af
+       push bc
+       push de
+       push hl
+       push ix
+       push iy
+       res 0,(hl)
+       res 0,(ix+9)
+       res 0,(iy+9)
+       res 0,a
+       res 0,b
+       res 0,c
+       res 0,d
+       res 0,e
+       res 0,h
+       res 0,l
+       res 1,(hl)
+       res 1,(ix+9)
+       res 1,(iy+9)
+       res 1,a
+       res 1,b
+       res 1,c
+       res 1,d
+       res 1,e
+       res 1,h
+       res 1,l
+       res 2,(hl)
+       res 2,(ix+9)
+       res 2,(iy+9)
+       res 2,a
+       res 2,b
+       res 2,c
+       res 2,d
+       res 2,e
+       res 2,h
+       res 2,l
+       res 3,(hl)
+       res 3,(ix+9)
+       res 3,(iy+9)
+       res 3,a
+       res 3,b
+       res 3,c
+       res 3,d
+       res 3,e
+       res 3,h
+       res 3,l
+       res 4,(hl)
+       res 4,(ix+9)
+       res 4,(iy+9)
+       res 4,a
+       res 4,b
+       res 4,c
+       res 4,d
+       res 4,e
+       res 4,h
+       res 4,l
+       res 5,(hl)
+       res 5,(ix+9)
+       res 5,(iy+9)
+       res 5,a
+       res 5,b
+       res 5,c
+       res 5,d
+       res 5,e
+       res 5,h
+       res 5,l
+       res 6,(hl)
+       res 6,(ix+9)
+       res 6,(iy+9)
+       res 6,a
+       res 6,b
+       res 6,c
+       res 6,d
+       res 6,e
+       res 6,h
+       res 6,l
+       res 7,(hl)
+       res 7,(ix+9)
+       res 7,(iy+9)
+       res 7,a
+       res 7,b
+       res 7,c
+       res 7,d
+       res 7,e
+       res 7,h
+       res 7,l
+       ret
+       ret c
+       ret m
+       ret nc
+       ret nz
+       ret p
+       ret pe
+       ret po
+       ret z
+       reti
+       retn
+       rl (hl)
+       rl (ix+9)
+       rl (iy+9)
+       rl a
+       rl b
+       rl c
+       rl d
+       rl e
+       rl h
+       rl l
+       rla
+       rlc (hl)
+       rlc (ix+9)
+       rlc (iy+9)
+       rlc a
+       rlc b
+       rlc c
+       rlc d
+       rlc e
+       rlc h
+       rlc l
+       rlca
+       rld
+       rr (hl)
+       rr (ix+9)
+       rr (iy+9)
+       rr a
+       rr b
+       rr c
+       rr d
+       rr e
+       rr h
+       rr l
+       rra
+       rrc (hl)
+       rrc (ix+9)
+       rrc (iy+9)
+       rrc a
+       rrc b
+       rrc c
+       rrc d
+       rrc e
+       rrc h
+       rrc l
+       rrca
+       rrd
+       rst 0x00
+       rst 0x08
+       rst 0x10
+       rst 0x18
+       rst 0x20
+       rst 0x28
+       rst 0x30
+       rst 0x38
+       sbc a,(hl)
+       sbc a,(ix+9)
+       sbc a,(iy+9)
+       sbc a,3
+       sbc a,a
+       sbc a,b
+       sbc a,c
+       sbc a,d
+       sbc a,e
+       sbc a,h
+       sbc a,l
+       sbc hl,bc
+       sbc hl,de
+       sbc hl,hl
+       sbc hl,sp
+       scf
+       set 0,(hl)
+       set 0,(ix+9)
+       set 0,(iy+9)
+       set 0,a
+       set 0,b
+       set 0,c
+       set 0,d
+       set 0,e
+       set 0,h
+       set 0,l
+       set 1,(hl)
+       set 1,(ix+9)
+       set 1,(iy+9)
+       set 1,a
+       set 1,b
+       set 1,c
+       set 1,d
+       set 1,e
+       set 1,h
+       set 1,l
+       set 2,(hl)
+       set 2,(ix+9)
+       set 2,(iy+9)
+       set 2,a
+       set 2,b
+       set 2,c
+       set 2,d
+       set 2,e
+       set 2,h
+       set 2,l
+       set 3,(hl)
+       set 3,(ix+9)
+       set 3,(iy+9)
+       set 3,a
+       set 3,b
+       set 3,c
+       set 3,d
+       set 3,e
+       set 3,h
+       set 3,l
+       set 4,(hl)
+       set 4,(ix+9)
+       set 4,(iy+9)
+       set 4,a
+       set 4,b
+       set 4,c
+       set 4,d
+       set 4,e
+       set 4,h
+       set 4,l
+       set 5,(hl)
+       set 5,(ix+9)
+       set 5,(iy+9)
+       set 5,a
+       set 5,b
+       set 5,c
+       set 5,d
+       set 5,e
+       set 5,h
+       set 5,l
+       set 6,(hl)
+       set 6,(ix+9)
+       set 6,(iy+9)
+       set 6,a
+       set 6,b
+       set 6,c
+       set 6,d
+       set 6,e
+       set 6,h
+       set 6,l
+       set 7,(hl)
+       set 7,(ix+9)
+       set 7,(iy+9)
+       set 7,a
+       set 7,b
+       set 7,c
+       set 7,d
+       set 7,e
+       set 7,h
+       set 7,l
+       sla (hl)
+       sla (ix+9)
+       sla (iy+9)
+       sla a
+       sla b
+       sla c
+       sla d
+       sla e
+       sla h
+       sla l
+       sra (hl)
+       sra (ix+9)
+       sra (iy+9)
+       sra a
+       sra b
+       sra c
+       sra d
+       sra e
+       sra h
+       sra l
+       srl (hl)
+       srl (ix+9)
+       srl (iy+9)
+       srl a
+       srl b
+       srl c
+       srl d
+       srl e
+       srl h
+       srl l
+       sub (hl)
+       sub (ix+9)
+       sub (iy+9)
+       sub 3
+       sub a
+       sub b
+       sub c
+       sub d
+       sub e
+       sub h
+       sub l
+       xor (hl)
+       xor (ix+9)
+       xor (iy+9)
+       xor 3
+       xor a
+       xor b
+       xor c
+       xor d
+       xor e
+       xor h
+       xor l
diff --git a/gas/testsuite/gas/z80/z80_ii8.d b/gas/testsuite/gas/z80/z80_ii8.d
new file mode 100644 (file)
index 0000000..db668b6
--- /dev/null
@@ -0,0 +1,109 @@
+#as: --with-inst=idx-reg-halves
+#objdump: -d
+#name: halves of index register
+
+.*:.*
+
+Disassembly of section .text:
+
+0+ <.text>:
+[  ]+0:[       ]+dd 7c[        ]+ld a,ixh
+[  ]+2:[       ]+dd 44[        ]+ld b,ixh
+[  ]+4:[       ]+dd 4c[        ]+ld c,ixh
+[  ]+6:[       ]+dd 54[        ]+ld d,ixh
+[  ]+8:[       ]+dd 5c[        ]+ld e,ixh
+[  ]+a:[       ]+dd 64[        ]+ld ixh,ixh
+[  ]+c:[       ]+dd 6c[        ]+ld ixl,ixh
+[  ]+e:[       ]+dd 7d[        ]+ld a,ixl
+[ ]+10:[       ]+dd 45[        ]+ld b,ixl
+[ ]+12:[       ]+dd 4d[        ]+ld c,ixl
+[ ]+14:[       ]+dd 55[        ]+ld d,ixl
+[ ]+16:[       ]+dd 5d[        ]+ld e,ixl
+[ ]+18:[       ]+dd 65[        ]+ld ixh,ixl
+[ ]+1a:[       ]+dd 6d[        ]+ld ixl,ixl
+[ ]+1c:[       ]+fd 7c[        ]+ld a,iyh
+[ ]+1e:[       ]+fd 44[        ]+ld b,iyh
+[ ]+20:[       ]+fd 4c[        ]+ld c,iyh
+[ ]+22:[       ]+fd 54[        ]+ld d,iyh
+[ ]+24:[       ]+fd 5c[        ]+ld e,iyh
+[ ]+26:[       ]+fd 64[        ]+ld iyh,iyh
+[ ]+28:[       ]+fd 6c[        ]+ld iyl,iyh
+[ ]+2a:[       ]+fd 7d[        ]+ld a,iyl
+[ ]+2c:[       ]+fd 45[        ]+ld b,iyl
+[ ]+2e:[       ]+fd 4d[        ]+ld c,iyl
+[ ]+30:[       ]+fd 55[        ]+ld d,iyl
+[ ]+32:[       ]+fd 5d[        ]+ld e,iyl
+[ ]+34:[       ]+fd 65[        ]+ld iyh,iyl
+[ ]+36:[       ]+fd 6d[        ]+ld iyl,iyl
+[ ]+38:[       ]+dd 67[        ]+ld ixh,a
+[ ]+3a:[       ]+dd 60[        ]+ld ixh,b
+[ ]+3c:[       ]+dd 61[        ]+ld ixh,c
+[ ]+3e:[       ]+dd 62[        ]+ld ixh,d
+[ ]+40:[       ]+dd 63[        ]+ld ixh,e
+[ ]+42:[       ]+dd 64[        ]+ld ixh,ixh
+[ ]+44:[       ]+dd 65[        ]+ld ixh,ixl
+[ ]+46:[       ]+dd 26 19[     ]+ld ixh,0x19
+[ ]+49:[       ]+dd 6f[        ]+ld ixl,a
+[ ]+4b:[       ]+dd 68[        ]+ld ixl,b
+[ ]+4d:[       ]+dd 69[        ]+ld ixl,c
+[ ]+4f:[       ]+dd 6a[        ]+ld ixl,d
+[ ]+51:[       ]+dd 6b[        ]+ld ixl,e
+[ ]+53:[       ]+dd 6c[        ]+ld ixl,ixh
+[ ]+55:[       ]+dd 6d[        ]+ld ixl,ixl
+[ ]+57:[       ]+dd 2e 19[     ]+ld ixl,0x19
+[ ]+5a:[       ]+fd 67[        ]+ld iyh,a
+[ ]+5c:[       ]+fd 60[        ]+ld iyh,b
+[ ]+5e:[       ]+fd 61[        ]+ld iyh,c
+[ ]+60:[       ]+fd 62[        ]+ld iyh,d
+[ ]+62:[       ]+fd 63[        ]+ld iyh,e
+[ ]+64:[       ]+fd 64[        ]+ld iyh,iyh
+[ ]+66:[       ]+fd 65[        ]+ld iyh,iyl
+[ ]+68:[       ]+fd 26 19[     ]+ld iyh,0x19
+[ ]+6b:[       ]+fd 6f[        ]+ld iyl,a
+[ ]+6d:[       ]+fd 68[        ]+ld iyl,b
+[ ]+6f:[       ]+fd 69[        ]+ld iyl,c
+[ ]+71:[       ]+fd 6a[        ]+ld iyl,d
+[ ]+73:[       ]+fd 6b[        ]+ld iyl,e
+[ ]+75:[       ]+fd 6c[        ]+ld iyl,iyh
+[ ]+77:[       ]+fd 6d[        ]+ld iyl,iyl
+[ ]+79:[       ]+fd 2e 19[     ]+ld iyl,0x19
+[ ]+7c:[       ]+dd 84[        ]+add a,ixh
+[ ]+7e:[       ]+dd 85[        ]+add a,ixl
+[ ]+80:[       ]+fd 84[        ]+add a,iyh
+[ ]+82:[       ]+fd 85[        ]+add a,iyl
+[ ]+84:[       ]+dd 8c[        ]+adc a,ixh
+[ ]+86:[       ]+dd 8d[        ]+adc a,ixl
+[ ]+88:[       ]+fd 8c[        ]+adc a,iyh
+[ ]+8a:[       ]+fd 8d[        ]+adc a,iyl
+[ ]+8c:[       ]+dd bc[        ]+cp ixh
+[ ]+8e:[       ]+dd bd[        ]+cp ixl
+[ ]+90:[       ]+fd bc[        ]+cp iyh
+[ ]+92:[       ]+fd bd[        ]+cp iyl
+[ ]+94:[       ]+dd 25[        ]+dec ixh
+[ ]+96:[       ]+dd 2d[        ]+dec ixl
+[ ]+98:[       ]+fd 25[        ]+dec iyh
+[ ]+9a:[       ]+fd 2d[        ]+dec iyl
+[ ]+9c:[       ]+dd 24[        ]+inc ixh
+[ ]+9e:[       ]+dd 2c[        ]+inc ixl
+[ ]+a0:[       ]+fd 24[        ]+inc iyh
+[ ]+a2:[       ]+fd 2c[        ]+inc iyl
+[ ]+a4:[       ]+dd 9c[        ]+sbc a,ixh
+[ ]+a6:[       ]+dd 9d[        ]+sbc a,ixl
+[ ]+a8:[       ]+fd 9c[        ]+sbc a,iyh
+[ ]+aa:[       ]+fd 9d[        ]+sbc a,iyl
+[ ]+ac:[       ]+dd 94[        ]+sub ixh
+[ ]+ae:[       ]+dd 95[        ]+sub ixl
+[ ]+b0:[       ]+fd 94[        ]+sub iyh
+[ ]+b2:[       ]+fd 95[        ]+sub iyl
+[ ]+b4:[       ]+dd a4[        ]+and ixh
+[ ]+b6:[       ]+dd a5[        ]+and ixl
+[ ]+b8:[       ]+fd a4[        ]+and iyh
+[ ]+ba:[       ]+fd a5[        ]+and iyl
+[ ]+bc:[       ]+dd b4[        ]+or ixh
+[ ]+be:[       ]+dd b5[        ]+or ixl
+[ ]+c0:[       ]+fd b4[        ]+or iyh
+[ ]+c2:[       ]+fd b5[        ]+or iyl
+[ ]+c4:[       ]+dd ac[        ]+xor ixh
+[ ]+c6:[       ]+dd ad[        ]+xor ixl
+[ ]+c8:[       ]+fd ac[        ]+xor iyh
+[ ]+ca:[       ]+fd ad[        ]+xor iyl
diff --git a/gas/testsuite/gas/z80/z80_ii8.s b/gas/testsuite/gas/z80/z80_ii8.s
new file mode 100644 (file)
index 0000000..c043b40
--- /dev/null
@@ -0,0 +1,123 @@
+        .text
+        .org    0
+
+; load group
+        ld    a,ixh
+        ld    b,ixh
+        ld    c,ixh
+        ld    d,ixh
+        ld    e,ixh
+        ld    ixh,ixh
+        ld    ixl,ixh
+
+        ld    a,ixl
+        ld    b,ixl
+        ld    c,ixl
+        ld    d,ixl
+        ld    e,ixl
+        ld    ixh,ixl
+        ld    ixl,ixl
+
+        ld    a,iyh
+        ld    b,iyh
+        ld    c,iyh
+        ld    d,iyh
+        ld    e,iyh
+        ld    iyh,iyh
+        ld    iyl,iyh
+
+        ld    a,iyl
+        ld    b,iyl
+        ld    c,iyl
+        ld    d,iyl
+        ld    e,iyl
+        ld    iyh,iyl
+        ld    iyl,iyl
+
+        ld    ixh,a
+        ld    ixh,b
+        ld    ixh,c
+        ld    ixh,d
+        ld    ixh,e
+        ld    ixh,ixh
+        ld    ixh,ixl
+        ld    ixh,25
+
+        ld    ixl,a
+        ld    ixl,b
+        ld    ixl,c
+        ld    ixl,d
+        ld    ixl,e
+        ld    ixl,ixh
+        ld    ixl,ixl
+        ld    ixl,25
+
+        ld    iyh,a
+        ld    iyh,b
+        ld    iyh,c
+        ld    iyh,d
+        ld    iyh,e
+        ld    iyh,iyh
+        ld    iyh,iyl
+        ld    iyh,25
+
+        ld    iyl,a
+        ld    iyl,b
+        ld    iyl,c
+        ld    iyl,d
+        ld    iyl,e
+        ld    iyl,iyh
+        ld    iyl,iyl
+        ld    iyl,25
+
+; arithmetic group
+        add   a,ixh
+        add   a,ixl
+        add   a,iyh
+        add   a,iyl
+
+        adc   a,ixh
+        adc   a,ixl
+        adc   a,iyh
+        adc   a,iyl
+
+        cp    ixh
+        cp    ixl
+        cp    iyh
+        cp    iyl
+
+        dec   ixh
+        dec   ixl
+        dec   iyh
+        dec   iyl
+
+        inc   ixh
+        inc   ixl
+        inc   iyh
+        inc   iyl
+
+        sbc   a,ixh
+        sbc   a,ixl
+        sbc   a,iyh
+        sbc   a,iyl
+
+        sub   ixh
+        sub   ixl
+        sub   iyh
+        sub   iyl
+
+; logic group
+        and   ixh
+        and   ixl
+        and   iyh
+        and   iyl
+
+        or    ixh
+        or    ixl
+        or    iyh
+        or    iyl
+
+        xor   ixh
+        xor   ixl
+        xor   iyh
+        xor   iyl
diff --git a/gas/testsuite/gas/z80/z80_in_f_c.d b/gas/testsuite/gas/z80/z80_in_f_c.d
new file mode 100644 (file)
index 0000000..e9c2d91
--- /dev/null
@@ -0,0 +1,10 @@
+#as: --with-inst=in-f-c
+#objdump: -d
+#name: Z80 undocumented instruction IN F,(C)
+
+.*:.*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+0:\s+ed 70\s+in f,\(c\)
diff --git a/gas/testsuite/gas/z80/z80_in_f_c.s b/gas/testsuite/gas/z80/z80_in_f_c.s
new file mode 100644 (file)
index 0000000..f048096
--- /dev/null
@@ -0,0 +1,4 @@
+       .text
+       .org    0
+
+       in      f,(c)
diff --git a/gas/testsuite/gas/z80/z80_op_ii_ld.d b/gas/testsuite/gas/z80/z80_op_ii_ld.d
new file mode 100644 (file)
index 0000000..42d917a
--- /dev/null
@@ -0,0 +1,345 @@
+#as: -z80 -with-inst=sli,op-ii-ld
+#objdump: -d
+#name: Z80 undocumented instructions DD/FD CB dis op
+
+.*: .*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+0:\s+dd cb 08 07\s+rlc \(ix\+8\),a
+\s+4:\s+dd cb 08 00\s+rlc \(ix\+8\),b
+\s+8:\s+dd cb 08 01\s+rlc \(ix\+8\),c
+\s+c:\s+dd cb 08 02\s+rlc \(ix\+8\),d
+\s+10:\s+dd cb 08 03\s+rlc \(ix\+8\),e
+\s+14:\s+dd cb 08 04\s+rlc \(ix\+8\),h
+\s+18:\s+dd cb 08 05\s+rlc \(ix\+8\),l
+\s+1c:\s+fd cb 08 07\s+rlc \(iy\+8\),a
+\s+20:\s+fd cb 08 00\s+rlc \(iy\+8\),b
+\s+24:\s+fd cb 08 01\s+rlc \(iy\+8\),c
+\s+28:\s+fd cb 08 02\s+rlc \(iy\+8\),d
+\s+2c:\s+fd cb 08 03\s+rlc \(iy\+8\),e
+\s+30:\s+fd cb 08 04\s+rlc \(iy\+8\),h
+\s+34:\s+fd cb 08 05\s+rlc \(iy\+8\),l
+\s+38:\s+dd cb 08 0f\s+rrc \(ix\+8\),a
+\s+3c:\s+dd cb 08 08\s+rrc \(ix\+8\),b
+\s+40:\s+dd cb 08 09\s+rrc \(ix\+8\),c
+\s+44:\s+dd cb 08 0a\s+rrc \(ix\+8\),d
+\s+48:\s+dd cb 08 0b\s+rrc \(ix\+8\),e
+\s+4c:\s+dd cb 08 0c\s+rrc \(ix\+8\),h
+\s+50:\s+dd cb 08 0d\s+rrc \(ix\+8\),l
+\s+54:\s+fd cb 08 0f\s+rrc \(iy\+8\),a
+\s+58:\s+fd cb 08 08\s+rrc \(iy\+8\),b
+\s+5c:\s+fd cb 08 09\s+rrc \(iy\+8\),c
+\s+60:\s+fd cb 08 0a\s+rrc \(iy\+8\),d
+\s+64:\s+fd cb 08 0b\s+rrc \(iy\+8\),e
+\s+68:\s+fd cb 08 0c\s+rrc \(iy\+8\),h
+\s+6c:\s+fd cb 08 0d\s+rrc \(iy\+8\),l
+\s+70:\s+dd cb 08 17\s+rl \(ix\+8\),a
+\s+74:\s+dd cb 08 10\s+rl \(ix\+8\),b
+\s+78:\s+dd cb 08 11\s+rl \(ix\+8\),c
+\s+7c:\s+dd cb 08 12\s+rl \(ix\+8\),d
+\s+80:\s+dd cb 08 13\s+rl \(ix\+8\),e
+\s+84:\s+dd cb 08 14\s+rl \(ix\+8\),h
+\s+88:\s+dd cb 08 15\s+rl \(ix\+8\),l
+\s+8c:\s+fd cb 08 17\s+rl \(iy\+8\),a
+\s+90:\s+fd cb 08 10\s+rl \(iy\+8\),b
+\s+94:\s+fd cb 08 11\s+rl \(iy\+8\),c
+\s+98:\s+fd cb 08 12\s+rl \(iy\+8\),d
+\s+9c:\s+fd cb 08 13\s+rl \(iy\+8\),e
+\s+a0:\s+fd cb 08 14\s+rl \(iy\+8\),h
+\s+a4:\s+fd cb 08 15\s+rl \(iy\+8\),l
+\s+a8:\s+dd cb 08 1f\s+rr \(ix\+8\),a
+\s+ac:\s+dd cb 08 18\s+rr \(ix\+8\),b
+\s+b0:\s+dd cb 08 19\s+rr \(ix\+8\),c
+\s+b4:\s+dd cb 08 1a\s+rr \(ix\+8\),d
+\s+b8:\s+dd cb 08 1b\s+rr \(ix\+8\),e
+\s+bc:\s+dd cb 08 1c\s+rr \(ix\+8\),h
+\s+c0:\s+dd cb 08 1d\s+rr \(ix\+8\),l
+\s+c4:\s+fd cb 08 1f\s+rr \(iy\+8\),a
+\s+c8:\s+fd cb 08 18\s+rr \(iy\+8\),b
+\s+cc:\s+fd cb 08 19\s+rr \(iy\+8\),c
+\s+d0:\s+fd cb 08 1a\s+rr \(iy\+8\),d
+\s+d4:\s+fd cb 08 1b\s+rr \(iy\+8\),e
+\s+d8:\s+fd cb 08 1c\s+rr \(iy\+8\),h
+\s+dc:\s+fd cb 08 1d\s+rr \(iy\+8\),l
+\s+e0:\s+dd cb 08 27\s+sla \(ix\+8\),a
+\s+e4:\s+dd cb 08 20\s+sla \(ix\+8\),b
+\s+e8:\s+dd cb 08 21\s+sla \(ix\+8\),c
+\s+ec:\s+dd cb 08 22\s+sla \(ix\+8\),d
+\s+f0:\s+dd cb 08 23\s+sla \(ix\+8\),e
+\s+f4:\s+dd cb 08 24\s+sla \(ix\+8\),h
+\s+f8:\s+dd cb 08 25\s+sla \(ix\+8\),l
+\s+fc:\s+fd cb 08 27\s+sla \(iy\+8\),a
+\s+100:\s+fd cb 08 20\s+sla \(iy\+8\),b
+\s+104:\s+fd cb 08 21\s+sla \(iy\+8\),c
+\s+108:\s+fd cb 08 22\s+sla \(iy\+8\),d
+\s+10c:\s+fd cb 08 23\s+sla \(iy\+8\),e
+\s+110:\s+fd cb 08 24\s+sla \(iy\+8\),h
+\s+114:\s+fd cb 08 25\s+sla \(iy\+8\),l
+\s+118:\s+dd cb 08 2f\s+sra \(ix\+8\),a
+\s+11c:\s+dd cb 08 28\s+sra \(ix\+8\),b
+\s+120:\s+dd cb 08 29\s+sra \(ix\+8\),c
+\s+124:\s+dd cb 08 2a\s+sra \(ix\+8\),d
+\s+128:\s+dd cb 08 2b\s+sra \(ix\+8\),e
+\s+12c:\s+dd cb 08 2c\s+sra \(ix\+8\),h
+\s+130:\s+dd cb 08 2d\s+sra \(ix\+8\),l
+\s+134:\s+fd cb 08 2f\s+sra \(iy\+8\),a
+\s+138:\s+fd cb 08 28\s+sra \(iy\+8\),b
+\s+13c:\s+fd cb 08 29\s+sra \(iy\+8\),c
+\s+140:\s+fd cb 08 2a\s+sra \(iy\+8\),d
+\s+144:\s+fd cb 08 2b\s+sra \(iy\+8\),e
+\s+148:\s+fd cb 08 2c\s+sra \(iy\+8\),h
+\s+14c:\s+fd cb 08 2d\s+sra \(iy\+8\),l
+\s+150:\s+dd cb 08 37\s+sli \(ix\+8\),a
+\s+154:\s+dd cb 08 30\s+sli \(ix\+8\),b
+\s+158:\s+dd cb 08 31\s+sli \(ix\+8\),c
+\s+15c:\s+dd cb 08 32\s+sli \(ix\+8\),d
+\s+160:\s+dd cb 08 33\s+sli \(ix\+8\),e
+\s+164:\s+dd cb 08 34\s+sli \(ix\+8\),h
+\s+168:\s+dd cb 08 35\s+sli \(ix\+8\),l
+\s+16c:\s+fd cb 08 37\s+sli \(iy\+8\),a
+\s+170:\s+fd cb 08 30\s+sli \(iy\+8\),b
+\s+174:\s+fd cb 08 31\s+sli \(iy\+8\),c
+\s+178:\s+fd cb 08 32\s+sli \(iy\+8\),d
+\s+17c:\s+fd cb 08 33\s+sli \(iy\+8\),e
+\s+180:\s+fd cb 08 34\s+sli \(iy\+8\),h
+\s+184:\s+fd cb 08 35\s+sli \(iy\+8\),l
+\s+188:\s+dd cb 08 3f\s+srl \(ix\+8\),a
+\s+18c:\s+dd cb 08 38\s+srl \(ix\+8\),b
+\s+190:\s+dd cb 08 39\s+srl \(ix\+8\),c
+\s+194:\s+dd cb 08 3a\s+srl \(ix\+8\),d
+\s+198:\s+dd cb 08 3b\s+srl \(ix\+8\),e
+\s+19c:\s+dd cb 08 3c\s+srl \(ix\+8\),h
+\s+1a0:\s+dd cb 08 3d\s+srl \(ix\+8\),l
+\s+1a4:\s+fd cb 08 3f\s+srl \(iy\+8\),a
+\s+1a8:\s+fd cb 08 38\s+srl \(iy\+8\),b
+\s+1ac:\s+fd cb 08 39\s+srl \(iy\+8\),c
+\s+1b0:\s+fd cb 08 3a\s+srl \(iy\+8\),d
+\s+1b4:\s+fd cb 08 3b\s+srl \(iy\+8\),e
+\s+1b8:\s+fd cb 08 3c\s+srl \(iy\+8\),h
+\s+1bc:\s+fd cb 08 3d\s+srl \(iy\+8\),l
+\s+1c0:\s+dd cb 08 87\s+res 0,\(ix\+8\),a
+\s+1c4:\s+dd cb 08 80\s+res 0,\(ix\+8\),b
+\s+1c8:\s+dd cb 08 81\s+res 0,\(ix\+8\),c
+\s+1cc:\s+dd cb 08 82\s+res 0,\(ix\+8\),d
+\s+1d0:\s+dd cb 08 83\s+res 0,\(ix\+8\),e
+\s+1d4:\s+dd cb 08 84\s+res 0,\(ix\+8\),h
+\s+1d8:\s+dd cb 08 85\s+res 0,\(ix\+8\),l
+\s+1dc:\s+fd cb 08 87\s+res 0,\(iy\+8\),a
+\s+1e0:\s+fd cb 08 80\s+res 0,\(iy\+8\),b
+\s+1e4:\s+fd cb 08 81\s+res 0,\(iy\+8\),c
+\s+1e8:\s+fd cb 08 82\s+res 0,\(iy\+8\),d
+\s+1ec:\s+fd cb 08 83\s+res 0,\(iy\+8\),e
+\s+1f0:\s+fd cb 08 84\s+res 0,\(iy\+8\),h
+\s+1f4:\s+fd cb 08 85\s+res 0,\(iy\+8\),l
+\s+1f8:\s+dd cb 08 8f\s+res 1,\(ix\+8\),a
+\s+1fc:\s+dd cb 08 88\s+res 1,\(ix\+8\),b
+\s+200:\s+dd cb 08 89\s+res 1,\(ix\+8\),c
+\s+204:\s+dd cb 08 8a\s+res 1,\(ix\+8\),d
+\s+208:\s+dd cb 08 8b\s+res 1,\(ix\+8\),e
+\s+20c:\s+dd cb 08 8c\s+res 1,\(ix\+8\),h
+\s+210:\s+dd cb 08 8d\s+res 1,\(ix\+8\),l
+\s+214:\s+fd cb 08 8f\s+res 1,\(iy\+8\),a
+\s+218:\s+fd cb 08 88\s+res 1,\(iy\+8\),b
+\s+21c:\s+fd cb 08 89\s+res 1,\(iy\+8\),c
+\s+220:\s+fd cb 08 8a\s+res 1,\(iy\+8\),d
+\s+224:\s+fd cb 08 8b\s+res 1,\(iy\+8\),e
+\s+228:\s+fd cb 08 8c\s+res 1,\(iy\+8\),h
+\s+22c:\s+fd cb 08 8d\s+res 1,\(iy\+8\),l
+\s+230:\s+dd cb 08 97\s+res 2,\(ix\+8\),a
+\s+234:\s+dd cb 08 90\s+res 2,\(ix\+8\),b
+\s+238:\s+dd cb 08 91\s+res 2,\(ix\+8\),c
+\s+23c:\s+dd cb 08 92\s+res 2,\(ix\+8\),d
+\s+240:\s+dd cb 08 93\s+res 2,\(ix\+8\),e
+\s+244:\s+dd cb 08 94\s+res 2,\(ix\+8\),h
+\s+248:\s+dd cb 08 95\s+res 2,\(ix\+8\),l
+\s+24c:\s+fd cb 08 97\s+res 2,\(iy\+8\),a
+\s+250:\s+fd cb 08 90\s+res 2,\(iy\+8\),b
+\s+254:\s+fd cb 08 91\s+res 2,\(iy\+8\),c
+\s+258:\s+fd cb 08 92\s+res 2,\(iy\+8\),d
+\s+25c:\s+fd cb 08 93\s+res 2,\(iy\+8\),e
+\s+260:\s+fd cb 08 94\s+res 2,\(iy\+8\),h
+\s+264:\s+fd cb 08 95\s+res 2,\(iy\+8\),l
+\s+268:\s+dd cb 08 9f\s+res 3,\(ix\+8\),a
+\s+26c:\s+dd cb 08 98\s+res 3,\(ix\+8\),b
+\s+270:\s+dd cb 08 99\s+res 3,\(ix\+8\),c
+\s+274:\s+dd cb 08 9a\s+res 3,\(ix\+8\),d
+\s+278:\s+dd cb 08 9b\s+res 3,\(ix\+8\),e
+\s+27c:\s+dd cb 08 9c\s+res 3,\(ix\+8\),h
+\s+280:\s+dd cb 08 9d\s+res 3,\(ix\+8\),l
+\s+284:\s+fd cb 08 9f\s+res 3,\(iy\+8\),a
+\s+288:\s+fd cb 08 98\s+res 3,\(iy\+8\),b
+\s+28c:\s+fd cb 08 99\s+res 3,\(iy\+8\),c
+\s+290:\s+fd cb 08 9a\s+res 3,\(iy\+8\),d
+\s+294:\s+fd cb 08 9b\s+res 3,\(iy\+8\),e
+\s+298:\s+fd cb 08 9c\s+res 3,\(iy\+8\),h
+\s+29c:\s+fd cb 08 9d\s+res 3,\(iy\+8\),l
+\s+2a0:\s+dd cb 08 a7\s+res 4,\(ix\+8\),a
+\s+2a4:\s+dd cb 08 a0\s+res 4,\(ix\+8\),b
+\s+2a8:\s+dd cb 08 a1\s+res 4,\(ix\+8\),c
+\s+2ac:\s+dd cb 08 a2\s+res 4,\(ix\+8\),d
+\s+2b0:\s+dd cb 08 a3\s+res 4,\(ix\+8\),e
+\s+2b4:\s+dd cb 08 a4\s+res 4,\(ix\+8\),h
+\s+2b8:\s+dd cb 08 a5\s+res 4,\(ix\+8\),l
+\s+2bc:\s+fd cb 08 a7\s+res 4,\(iy\+8\),a
+\s+2c0:\s+fd cb 08 a0\s+res 4,\(iy\+8\),b
+\s+2c4:\s+fd cb 08 a1\s+res 4,\(iy\+8\),c
+\s+2c8:\s+fd cb 08 a2\s+res 4,\(iy\+8\),d
+\s+2cc:\s+fd cb 08 a3\s+res 4,\(iy\+8\),e
+\s+2d0:\s+fd cb 08 a4\s+res 4,\(iy\+8\),h
+\s+2d4:\s+fd cb 08 a5\s+res 4,\(iy\+8\),l
+\s+2d8:\s+dd cb 08 af\s+res 5,\(ix\+8\),a
+\s+2dc:\s+dd cb 08 a8\s+res 5,\(ix\+8\),b
+\s+2e0:\s+dd cb 08 a9\s+res 5,\(ix\+8\),c
+\s+2e4:\s+dd cb 08 aa\s+res 5,\(ix\+8\),d
+\s+2e8:\s+dd cb 08 ab\s+res 5,\(ix\+8\),e
+\s+2ec:\s+dd cb 08 ac\s+res 5,\(ix\+8\),h
+\s+2f0:\s+dd cb 08 ad\s+res 5,\(ix\+8\),l
+\s+2f4:\s+fd cb 08 af\s+res 5,\(iy\+8\),a
+\s+2f8:\s+fd cb 08 a8\s+res 5,\(iy\+8\),b
+\s+2fc:\s+fd cb 08 a9\s+res 5,\(iy\+8\),c
+\s+300:\s+fd cb 08 aa\s+res 5,\(iy\+8\),d
+\s+304:\s+fd cb 08 ab\s+res 5,\(iy\+8\),e
+\s+308:\s+fd cb 08 ac\s+res 5,\(iy\+8\),h
+\s+30c:\s+fd cb 08 ad\s+res 5,\(iy\+8\),l
+\s+310:\s+dd cb 08 b7\s+res 6,\(ix\+8\),a
+\s+314:\s+dd cb 08 b0\s+res 6,\(ix\+8\),b
+\s+318:\s+dd cb 08 b1\s+res 6,\(ix\+8\),c
+\s+31c:\s+dd cb 08 b2\s+res 6,\(ix\+8\),d
+\s+320:\s+dd cb 08 b3\s+res 6,\(ix\+8\),e
+\s+324:\s+dd cb 08 b4\s+res 6,\(ix\+8\),h
+\s+328:\s+dd cb 08 b5\s+res 6,\(ix\+8\),l
+\s+32c:\s+fd cb 08 b7\s+res 6,\(iy\+8\),a
+\s+330:\s+fd cb 08 b0\s+res 6,\(iy\+8\),b
+\s+334:\s+fd cb 08 b1\s+res 6,\(iy\+8\),c
+\s+338:\s+fd cb 08 b2\s+res 6,\(iy\+8\),d
+\s+33c:\s+fd cb 08 b3\s+res 6,\(iy\+8\),e
+\s+340:\s+fd cb 08 b4\s+res 6,\(iy\+8\),h
+\s+344:\s+fd cb 08 b5\s+res 6,\(iy\+8\),l
+\s+348:\s+dd cb 08 bf\s+res 7,\(ix\+8\),a
+\s+34c:\s+dd cb 08 b8\s+res 7,\(ix\+8\),b
+\s+350:\s+dd cb 08 b9\s+res 7,\(ix\+8\),c
+\s+354:\s+dd cb 08 ba\s+res 7,\(ix\+8\),d
+\s+358:\s+dd cb 08 bb\s+res 7,\(ix\+8\),e
+\s+35c:\s+dd cb 08 bc\s+res 7,\(ix\+8\),h
+\s+360:\s+dd cb 08 bd\s+res 7,\(ix\+8\),l
+\s+364:\s+fd cb 08 bf\s+res 7,\(iy\+8\),a
+\s+368:\s+fd cb 08 b8\s+res 7,\(iy\+8\),b
+\s+36c:\s+fd cb 08 b9\s+res 7,\(iy\+8\),c
+\s+370:\s+fd cb 08 ba\s+res 7,\(iy\+8\),d
+\s+374:\s+fd cb 08 bb\s+res 7,\(iy\+8\),e
+\s+378:\s+fd cb 08 bc\s+res 7,\(iy\+8\),h
+\s+37c:\s+fd cb 08 bd\s+res 7,\(iy\+8\),l
+\s+380:\s+dd cb 08 c7\s+set 0,\(ix\+8\),a
+\s+384:\s+dd cb 08 c0\s+set 0,\(ix\+8\),b
+\s+388:\s+dd cb 08 c1\s+set 0,\(ix\+8\),c
+\s+38c:\s+dd cb 08 c2\s+set 0,\(ix\+8\),d
+\s+390:\s+dd cb 08 c3\s+set 0,\(ix\+8\),e
+\s+394:\s+dd cb 08 c4\s+set 0,\(ix\+8\),h
+\s+398:\s+dd cb 08 c5\s+set 0,\(ix\+8\),l
+\s+39c:\s+fd cb 08 c7\s+set 0,\(iy\+8\),a
+\s+3a0:\s+fd cb 08 c0\s+set 0,\(iy\+8\),b
+\s+3a4:\s+fd cb 08 c1\s+set 0,\(iy\+8\),c
+\s+3a8:\s+fd cb 08 c2\s+set 0,\(iy\+8\),d
+\s+3ac:\s+fd cb 08 c3\s+set 0,\(iy\+8\),e
+\s+3b0:\s+fd cb 08 c4\s+set 0,\(iy\+8\),h
+\s+3b4:\s+fd cb 08 c5\s+set 0,\(iy\+8\),l
+\s+3b8:\s+dd cb 08 cf\s+set 1,\(ix\+8\),a
+\s+3bc:\s+dd cb 08 c8\s+set 1,\(ix\+8\),b
+\s+3c0:\s+dd cb 08 c9\s+set 1,\(ix\+8\),c
+\s+3c4:\s+dd cb 08 ca\s+set 1,\(ix\+8\),d
+\s+3c8:\s+dd cb 08 cb\s+set 1,\(ix\+8\),e
+\s+3cc:\s+dd cb 08 cc\s+set 1,\(ix\+8\),h
+\s+3d0:\s+dd cb 08 cd\s+set 1,\(ix\+8\),l
+\s+3d4:\s+fd cb 08 cf\s+set 1,\(iy\+8\),a
+\s+3d8:\s+fd cb 08 c8\s+set 1,\(iy\+8\),b
+\s+3dc:\s+fd cb 08 c9\s+set 1,\(iy\+8\),c
+\s+3e0:\s+fd cb 08 ca\s+set 1,\(iy\+8\),d
+\s+3e4:\s+fd cb 08 cb\s+set 1,\(iy\+8\),e
+\s+3e8:\s+fd cb 08 cc\s+set 1,\(iy\+8\),h
+\s+3ec:\s+fd cb 08 cd\s+set 1,\(iy\+8\),l
+\s+3f0:\s+dd cb 08 d7\s+set 2,\(ix\+8\),a
+\s+3f4:\s+dd cb 08 d0\s+set 2,\(ix\+8\),b
+\s+3f8:\s+dd cb 08 d1\s+set 2,\(ix\+8\),c
+\s+3fc:\s+dd cb 08 d2\s+set 2,\(ix\+8\),d
+\s+400:\s+dd cb 08 d3\s+set 2,\(ix\+8\),e
+\s+404:\s+dd cb 08 d4\s+set 2,\(ix\+8\),h
+\s+408:\s+dd cb 08 d5\s+set 2,\(ix\+8\),l
+\s+40c:\s+fd cb 08 d7\s+set 2,\(iy\+8\),a
+\s+410:\s+fd cb 08 d0\s+set 2,\(iy\+8\),b
+\s+414:\s+fd cb 08 d1\s+set 2,\(iy\+8\),c
+\s+418:\s+fd cb 08 d2\s+set 2,\(iy\+8\),d
+\s+41c:\s+fd cb 08 d3\s+set 2,\(iy\+8\),e
+\s+420:\s+fd cb 08 d4\s+set 2,\(iy\+8\),h
+\s+424:\s+fd cb 08 d5\s+set 2,\(iy\+8\),l
+\s+428:\s+dd cb 08 df\s+set 3,\(ix\+8\),a
+\s+42c:\s+dd cb 08 d8\s+set 3,\(ix\+8\),b
+\s+430:\s+dd cb 08 d9\s+set 3,\(ix\+8\),c
+\s+434:\s+dd cb 08 da\s+set 3,\(ix\+8\),d
+\s+438:\s+dd cb 08 db\s+set 3,\(ix\+8\),e
+\s+43c:\s+dd cb 08 dc\s+set 3,\(ix\+8\),h
+\s+440:\s+dd cb 08 dd\s+set 3,\(ix\+8\),l
+\s+444:\s+fd cb 08 df\s+set 3,\(iy\+8\),a
+\s+448:\s+fd cb 08 d8\s+set 3,\(iy\+8\),b
+\s+44c:\s+fd cb 08 d9\s+set 3,\(iy\+8\),c
+\s+450:\s+fd cb 08 da\s+set 3,\(iy\+8\),d
+\s+454:\s+fd cb 08 db\s+set 3,\(iy\+8\),e
+\s+458:\s+fd cb 08 dc\s+set 3,\(iy\+8\),h
+\s+45c:\s+fd cb 08 dd\s+set 3,\(iy\+8\),l
+\s+460:\s+dd cb 08 e7\s+set 4,\(ix\+8\),a
+\s+464:\s+dd cb 08 e0\s+set 4,\(ix\+8\),b
+\s+468:\s+dd cb 08 e1\s+set 4,\(ix\+8\),c
+\s+46c:\s+dd cb 08 e2\s+set 4,\(ix\+8\),d
+\s+470:\s+dd cb 08 e3\s+set 4,\(ix\+8\),e
+\s+474:\s+dd cb 08 e4\s+set 4,\(ix\+8\),h
+\s+478:\s+dd cb 08 e5\s+set 4,\(ix\+8\),l
+\s+47c:\s+fd cb 08 e7\s+set 4,\(iy\+8\),a
+\s+480:\s+fd cb 08 e0\s+set 4,\(iy\+8\),b
+\s+484:\s+fd cb 08 e1\s+set 4,\(iy\+8\),c
+\s+488:\s+fd cb 08 e2\s+set 4,\(iy\+8\),d
+\s+48c:\s+fd cb 08 e3\s+set 4,\(iy\+8\),e
+\s+490:\s+fd cb 08 e4\s+set 4,\(iy\+8\),h
+\s+494:\s+fd cb 08 e5\s+set 4,\(iy\+8\),l
+\s+498:\s+dd cb 08 ef\s+set 5,\(ix\+8\),a
+\s+49c:\s+dd cb 08 e8\s+set 5,\(ix\+8\),b
+\s+4a0:\s+dd cb 08 e9\s+set 5,\(ix\+8\),c
+\s+4a4:\s+dd cb 08 ea\s+set 5,\(ix\+8\),d
+\s+4a8:\s+dd cb 08 eb\s+set 5,\(ix\+8\),e
+\s+4ac:\s+dd cb 08 ec\s+set 5,\(ix\+8\),h
+\s+4b0:\s+dd cb 08 ed\s+set 5,\(ix\+8\),l
+\s+4b4:\s+fd cb 08 ef\s+set 5,\(iy\+8\),a
+\s+4b8:\s+fd cb 08 e8\s+set 5,\(iy\+8\),b
+\s+4bc:\s+fd cb 08 e9\s+set 5,\(iy\+8\),c
+\s+4c0:\s+fd cb 08 ea\s+set 5,\(iy\+8\),d
+\s+4c4:\s+fd cb 08 eb\s+set 5,\(iy\+8\),e
+\s+4c8:\s+fd cb 08 ec\s+set 5,\(iy\+8\),h
+\s+4cc:\s+fd cb 08 ed\s+set 5,\(iy\+8\),l
+\s+4d0:\s+dd cb 08 f7\s+set 6,\(ix\+8\),a
+\s+4d4:\s+dd cb 08 f0\s+set 6,\(ix\+8\),b
+\s+4d8:\s+dd cb 08 f1\s+set 6,\(ix\+8\),c
+\s+4dc:\s+dd cb 08 f2\s+set 6,\(ix\+8\),d
+\s+4e0:\s+dd cb 08 f3\s+set 6,\(ix\+8\),e
+\s+4e4:\s+dd cb 08 f4\s+set 6,\(ix\+8\),h
+\s+4e8:\s+dd cb 08 f5\s+set 6,\(ix\+8\),l
+\s+4ec:\s+fd cb 08 f7\s+set 6,\(iy\+8\),a
+\s+4f0:\s+fd cb 08 f0\s+set 6,\(iy\+8\),b
+\s+4f4:\s+fd cb 08 f1\s+set 6,\(iy\+8\),c
+\s+4f8:\s+fd cb 08 f2\s+set 6,\(iy\+8\),d
+\s+4fc:\s+fd cb 08 f3\s+set 6,\(iy\+8\),e
+\s+500:\s+fd cb 08 f4\s+set 6,\(iy\+8\),h
+\s+504:\s+fd cb 08 f5\s+set 6,\(iy\+8\),l
+\s+508:\s+dd cb 08 ff\s+set 7,\(ix\+8\),a
+\s+50c:\s+dd cb 08 f8\s+set 7,\(ix\+8\),b
+\s+510:\s+dd cb 08 f9\s+set 7,\(ix\+8\),c
+\s+514:\s+dd cb 08 fa\s+set 7,\(ix\+8\),d
+\s+518:\s+dd cb 08 fb\s+set 7,\(ix\+8\),e
+\s+51c:\s+dd cb 08 fc\s+set 7,\(ix\+8\),h
+\s+520:\s+dd cb 08 fd\s+set 7,\(ix\+8\),l
+\s+524:\s+fd cb 08 ff\s+set 7,\(iy\+8\),a
+\s+528:\s+fd cb 08 f8\s+set 7,\(iy\+8\),b
+\s+52c:\s+fd cb 08 f9\s+set 7,\(iy\+8\),c
+\s+530:\s+fd cb 08 fa\s+set 7,\(iy\+8\),d
+\s+534:\s+fd cb 08 fb\s+set 7,\(iy\+8\),e
+\s+538:\s+fd cb 08 fc\s+set 7,\(iy\+8\),h
+\s+53c:\s+fd cb 08 fd\s+set 7,\(iy\+8\),l
diff --git a/gas/testsuite/gas/z80/z80_op_ii_ld.s b/gas/testsuite/gas/z80/z80_op_ii_ld.s
new file mode 100644 (file)
index 0000000..7ae83ec
--- /dev/null
@@ -0,0 +1,350 @@
+       .text
+       .org    0
+
+       ;; rare unportable instructions which do operation on memory byte
+       ;; changing this byte and copying result to specified register
+       RLC     (ix+8),a
+       RLC     (ix+8),b
+       RLC     (ix+8),c
+       RLC     (ix+8),d
+       RLC     (ix+8),e
+       RLC     (ix+8),h
+       RLC     (ix+8),l
+       RLC     (iy+8),a
+       RLC     (iy+8),b
+       RLC     (iy+8),c
+       RLC     (iy+8),d
+       RLC     (iy+8),e
+       RLC     (iy+8),h
+       RLC     (iy+8),l
+
+       RRC     (ix+8),a
+       RRC     (ix+8),b
+       RRC     (ix+8),c
+       RRC     (ix+8),d
+       RRC     (ix+8),e
+       RRC     (ix+8),h
+       RRC     (ix+8),l
+       RRC     (iy+8),a
+       RRC     (iy+8),b
+       RRC     (iy+8),c
+       RRC     (iy+8),d
+       RRC     (iy+8),e
+       RRC     (iy+8),h
+       RRC     (iy+8),l
+
+       RL      (ix+8),a
+       RL      (ix+8),b
+       RL      (ix+8),c
+       RL      (ix+8),d
+       RL      (ix+8),e
+       RL      (ix+8),h
+       RL      (ix+8),l
+       RL      (iy+8),a
+       RL      (iy+8),b
+       RL      (iy+8),c
+       RL      (iy+8),d
+       RL      (iy+8),e
+       RL      (iy+8),h
+       RL      (iy+8),l
+
+       RR      (ix+8),a
+       RR      (ix+8),b
+       RR      (ix+8),c
+       RR      (ix+8),d
+       RR      (ix+8),e
+       RR      (ix+8),h
+       RR      (ix+8),l
+       RR      (iy+8),a
+       RR      (iy+8),b
+       RR      (iy+8),c
+       RR      (iy+8),d
+       RR      (iy+8),e
+       RR      (iy+8),h
+       RR      (iy+8),l
+
+       SLA     (ix+8),a
+       SLA     (ix+8),b
+       SLA     (ix+8),c
+       SLA     (ix+8),d
+       SLA     (ix+8),e
+       SLA     (ix+8),h
+       SLA     (ix+8),l
+       SLA     (iy+8),a
+       SLA     (iy+8),b
+       SLA     (iy+8),c
+       SLA     (iy+8),d
+       SLA     (iy+8),e
+       SLA     (iy+8),h
+       SLA     (iy+8),l
+
+       SRA     (ix+8),a
+       SRA     (ix+8),b
+       SRA     (ix+8),c
+       SRA     (ix+8),d
+       SRA     (ix+8),e
+       SRA     (ix+8),h
+       SRA     (ix+8),l
+       SRA     (iy+8),a
+       SRA     (iy+8),b
+       SRA     (iy+8),c
+       SRA     (iy+8),d
+       SRA     (iy+8),e
+       SRA     (iy+8),h
+       SRA     (iy+8),l
+
+       SLI     (ix+8),a
+       SLI     (ix+8),b
+       SLI     (ix+8),c
+       SLI     (ix+8),d
+       SLI     (ix+8),e
+       SLI     (ix+8),h
+       SLI     (ix+8),l
+       SLI     (iy+8),a
+       SLI     (iy+8),b
+       SLI     (iy+8),c
+       SLI     (iy+8),d
+       SLI     (iy+8),e
+       SLI     (iy+8),h
+       SLI     (iy+8),l
+
+       SRL     (ix+8),a
+       SRL     (ix+8),b
+       SRL     (ix+8),c
+       SRL     (ix+8),d
+       SRL     (ix+8),e
+       SRL     (ix+8),h
+       SRL     (ix+8),l
+       SRL     (iy+8),a
+       SRL     (iy+8),b
+       SRL     (iy+8),c
+       SRL     (iy+8),d
+       SRL     (iy+8),e
+       SRL     (iy+8),h
+       SRL     (iy+8),l
+
+       RES     0,(ix+8),a
+       RES     0,(ix+8),b
+       RES     0,(ix+8),c
+       RES     0,(ix+8),d
+       RES     0,(ix+8),e
+       RES     0,(ix+8),h
+       RES     0,(ix+8),l
+       RES     0,(iy+8),a
+       RES     0,(iy+8),b
+       RES     0,(iy+8),c
+       RES     0,(iy+8),d
+       RES     0,(iy+8),e
+       RES     0,(iy+8),h
+       RES     0,(iy+8),l
+       RES     1,(ix+8),a
+       RES     1,(ix+8),b
+       RES     1,(ix+8),c
+       RES     1,(ix+8),d
+       RES     1,(ix+8),e
+       RES     1,(ix+8),h
+       RES     1,(ix+8),l
+       RES     1,(iy+8),a
+       RES     1,(iy+8),b
+       RES     1,(iy+8),c
+       RES     1,(iy+8),d
+       RES     1,(iy+8),e
+       RES     1,(iy+8),h
+       RES     1,(iy+8),l
+       RES     2,(ix+8),a
+       RES     2,(ix+8),b
+       RES     2,(ix+8),c
+       RES     2,(ix+8),d
+       RES     2,(ix+8),e
+       RES     2,(ix+8),h
+       RES     2,(ix+8),l
+       RES     2,(iy+8),a
+       RES     2,(iy+8),b
+       RES     2,(iy+8),c
+       RES     2,(iy+8),d
+       RES     2,(iy+8),e
+       RES     2,(iy+8),h
+       RES     2,(iy+8),l
+       RES     3,(ix+8),a
+       RES     3,(ix+8),b
+       RES     3,(ix+8),c
+       RES     3,(ix+8),d
+       RES     3,(ix+8),e
+       RES     3,(ix+8),h
+       RES     3,(ix+8),l
+       RES     3,(iy+8),a
+       RES     3,(iy+8),b
+       RES     3,(iy+8),c
+       RES     3,(iy+8),d
+       RES     3,(iy+8),e
+       RES     3,(iy+8),h
+       RES     3,(iy+8),l
+       RES     4,(ix+8),a
+       RES     4,(ix+8),b
+       RES     4,(ix+8),c
+       RES     4,(ix+8),d
+       RES     4,(ix+8),e
+       RES     4,(ix+8),h
+       RES     4,(ix+8),l
+       RES     4,(iy+8),a
+       RES     4,(iy+8),b
+       RES     4,(iy+8),c
+       RES     4,(iy+8),d
+       RES     4,(iy+8),e
+       RES     4,(iy+8),h
+       RES     4,(iy+8),l
+       RES     5,(ix+8),a
+       RES     5,(ix+8),b
+       RES     5,(ix+8),c
+       RES     5,(ix+8),d
+       RES     5,(ix+8),e
+       RES     5,(ix+8),h
+       RES     5,(ix+8),l
+       RES     5,(iy+8),a
+       RES     5,(iy+8),b
+       RES     5,(iy+8),c
+       RES     5,(iy+8),d
+       RES     5,(iy+8),e
+       RES     5,(iy+8),h
+       RES     5,(iy+8),l
+       RES     6,(ix+8),a
+       RES     6,(ix+8),b
+       RES     6,(ix+8),c
+       RES     6,(ix+8),d
+       RES     6,(ix+8),e
+       RES     6,(ix+8),h
+       RES     6,(ix+8),l
+       RES     6,(iy+8),a
+       RES     6,(iy+8),b
+       RES     6,(iy+8),c
+       RES     6,(iy+8),d
+       RES     6,(iy+8),e
+       RES     6,(iy+8),h
+       RES     6,(iy+8),l
+       RES     7,(ix+8),a
+       RES     7,(ix+8),b
+       RES     7,(ix+8),c
+       RES     7,(ix+8),d
+       RES     7,(ix+8),e
+       RES     7,(ix+8),h
+       RES     7,(ix+8),l
+       RES     7,(iy+8),a
+       RES     7,(iy+8),b
+       RES     7,(iy+8),c
+       RES     7,(iy+8),d
+       RES     7,(iy+8),e
+       RES     7,(iy+8),h
+       RES     7,(iy+8),l
+
+       SET     0,(ix+8),a
+       SET     0,(ix+8),b
+       SET     0,(ix+8),c
+       SET     0,(ix+8),d
+       SET     0,(ix+8),e
+       SET     0,(ix+8),h
+       SET     0,(ix+8),l
+       SET     0,(iy+8),a
+       SET     0,(iy+8),b
+       SET     0,(iy+8),c
+       SET     0,(iy+8),d
+       SET     0,(iy+8),e
+       SET     0,(iy+8),h
+       SET     0,(iy+8),l
+       SET     1,(ix+8),a
+       SET     1,(ix+8),b
+       SET     1,(ix+8),c
+       SET     1,(ix+8),d
+       SET     1,(ix+8),e
+       SET     1,(ix+8),h
+       SET     1,(ix+8),l
+       SET     1,(iy+8),a
+       SET     1,(iy+8),b
+       SET     1,(iy+8),c
+       SET     1,(iy+8),d
+       SET     1,(iy+8),e
+       SET     1,(iy+8),h
+       SET     1,(iy+8),l
+       SET     2,(ix+8),a
+       SET     2,(ix+8),b
+       SET     2,(ix+8),c
+       SET     2,(ix+8),d
+       SET     2,(ix+8),e
+       SET     2,(ix+8),h
+       SET     2,(ix+8),l
+       SET     2,(iy+8),a
+       SET     2,(iy+8),b
+       SET     2,(iy+8),c
+       SET     2,(iy+8),d
+       SET     2,(iy+8),e
+       SET     2,(iy+8),h
+       SET     2,(iy+8),l
+       SET     3,(ix+8),a
+       SET     3,(ix+8),b
+       SET     3,(ix+8),c
+       SET     3,(ix+8),d
+       SET     3,(ix+8),e
+       SET     3,(ix+8),h
+       SET     3,(ix+8),l
+       SET     3,(iy+8),a
+       SET     3,(iy+8),b
+       SET     3,(iy+8),c
+       SET     3,(iy+8),d
+       SET     3,(iy+8),e
+       SET     3,(iy+8),h
+       SET     3,(iy+8),l
+       SET     4,(ix+8),a
+       SET     4,(ix+8),b
+       SET     4,(ix+8),c
+       SET     4,(ix+8),d
+       SET     4,(ix+8),e
+       SET     4,(ix+8),h
+       SET     4,(ix+8),l
+       SET     4,(iy+8),a
+       SET     4,(iy+8),b
+       SET     4,(iy+8),c
+       SET     4,(iy+8),d
+       SET     4,(iy+8),e
+       SET     4,(iy+8),h
+       SET     4,(iy+8),l
+       SET     5,(ix+8),a
+       SET     5,(ix+8),b
+       SET     5,(ix+8),c
+       SET     5,(ix+8),d
+       SET     5,(ix+8),e
+       SET     5,(ix+8),h
+       SET     5,(ix+8),l
+       SET     5,(iy+8),a
+       SET     5,(iy+8),b
+       SET     5,(iy+8),c
+       SET     5,(iy+8),d
+       SET     5,(iy+8),e
+       SET     5,(iy+8),h
+       SET     5,(iy+8),l
+       SET     6,(ix+8),a
+       SET     6,(ix+8),b
+       SET     6,(ix+8),c
+       SET     6,(ix+8),d
+       SET     6,(ix+8),e
+       SET     6,(ix+8),h
+       SET     6,(ix+8),l
+       SET     6,(iy+8),a
+       SET     6,(iy+8),b
+       SET     6,(iy+8),c
+       SET     6,(iy+8),d
+       SET     6,(iy+8),e
+       SET     6,(iy+8),h
+       SET     6,(iy+8),l
+       SET     7,(ix+8),a
+       SET     7,(ix+8),b
+       SET     7,(ix+8),c
+       SET     7,(ix+8),d
+       SET     7,(ix+8),e
+       SET     7,(ix+8),h
+       SET     7,(ix+8),l
+       SET     7,(iy+8),a
+       SET     7,(iy+8),b
+       SET     7,(iy+8),c
+       SET     7,(iy+8),d
+       SET     7,(iy+8),e
+       SET     7,(iy+8),h
+       SET     7,(iy+8),l
diff --git a/gas/testsuite/gas/z80/z80_out_c_0.d b/gas/testsuite/gas/z80/z80_out_c_0.d
new file mode 100644 (file)
index 0000000..b600229
--- /dev/null
@@ -0,0 +1,10 @@
+#as: --with-inst=out-c-0
+#objdump: -d
+#name: Z80 undocumented instruction OUT (C),0
+
+.*:.*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+0:\s+ed 71\s+out \(c\),0
diff --git a/gas/testsuite/gas/z80/z80_out_c_0.s b/gas/testsuite/gas/z80/z80_out_c_0.s
new file mode 100644 (file)
index 0000000..da62ae8
--- /dev/null
@@ -0,0 +1,3 @@
+       .text
+       .org    0
+       out     (c),0
diff --git a/gas/testsuite/gas/z80/z80_reloc.d b/gas/testsuite/gas/z80/z80_reloc.d
new file mode 100644 (file)
index 0000000..7a17617
--- /dev/null
@@ -0,0 +1,27 @@
+#objdump: -r
+#name: Z80 relocations
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET[   ]+TYPE[              ]+VALUE\s*
+00000001[ ]+r_byte0[           ]+\.text
+00000004[ ]+r_byte1[           ]+\.text
+00000007[ ]+r_byte0[           ]+glb_proc
+0000000a[ ]+r_byte1[           ]+glb_proc
+0000000d[ ]+r_byte2[           ]+glb_proc
+00000010[ ]+r_byte3[           ]+glb_proc
+00000012[ ]+r_imm16[           ]+\.text(\+0x0000001f)?
+00000015[ ]+r_word0[           ]+glb_proc
+00000018[ ]+r_word1[           ]+glb_proc
+0000001b[ ]+r_jr[              ]+start(\+0xffffffff)|(\-0x00000001)
+0000001d[ ]+r_imm8[            ]+data8
+0000001f[ ]+r_imm8[            ]+data8
+00000020[ ]+r_imm16[           ]+data16
+00000022[ ]+r_imm24[           ]+data24
+00000025[ ]+r_imm32[           ]+data32
+00000029[ ]+r_byte0[           ]+data16
+0000002a[ ]+r_byte1[           ]+data16
+0000002b[ ]+r_word0[           ]+data32
+0000002d[ ]+r_word1[           ]+data32
+#pass
diff --git a/gas/testsuite/gas/z80/z80_reloc.s b/gas/testsuite/gas/z80/z80_reloc.s
new file mode 100644 (file)
index 0000000..52d0335
--- /dev/null
@@ -0,0 +1,34 @@
+       .text
+       .globl  glb_proc
+       .globl  data8
+       .globl  data16
+       .globl  data24
+       .globl  data32
+.L_proc:
+       ld      (hl),.L_proc >> 0
+       inc     hl
+       ld      (hl),.L_proc >> 8
+       inc     hl
+       ld      (hl),(glb_proc) & 0xff
+       inc     hl
+       ld      (hl),glb_proc >> 8
+       inc     hl
+       ld      (hl),glb_proc >> 16
+       inc     hl
+       ld      (hl),glb_proc >> 24
+       ld      bc,.L_label
+       ld      de,glb_proc >> 0
+       ld      hl,glb_proc >> 16
+       djnz    start
+       ld      a,data8
+       ret
+.L_label:
+       .db     data8
+       .dw     data16
+       .d24 data24
+       .d32 data32
+       .db     data16 & 0xff
+       .db     data16 >> 8
+       .dw     data32 & 0xffff
+       .dw     data32 >> 16
+       .end
diff --git a/gas/testsuite/gas/z80/z80_sli.d b/gas/testsuite/gas/z80/z80_sli.d
new file mode 100644 (file)
index 0000000..af5cd96
--- /dev/null
@@ -0,0 +1,29 @@
+#as: --with-inst=sli
+#objdump: -d
+#name: Z80 instruction SLI/SLL
+
+.*:.*
+
+Disassembly of section .text:
+
+0+ <.text>:
+\s+0:\s+cb 37\s+sli a
+\s+2:\s+cb 30\s+sli b
+\s+4:\s+cb 31\s+sli c
+\s+6:\s+cb 32\s+sli d
+\s+8:\s+cb 33\s+sli e
+\s+a:\s+cb 34\s+sli h
+\s+c:\s+cb 35\s+sli l
+\s+e:\s+cb 36\s+sli \(hl\)
+\s+10:\s+dd cb 07 36\s+sli \(ix\+7\)
+\s+14:\s+fd cb f7 36\s+sli \(iy\-9\)
+\s+18:\s+cb 37\s+sli a
+\s+1a:\s+cb 30\s+sli b
+\s+1c:\s+cb 31\s+sli c
+\s+1e:\s+cb 32\s+sli d
+\s+20:\s+cb 33\s+sli e
+\s+22:\s+cb 34\s+sli h
+\s+24:\s+cb 35\s+sli l
+\s+26:\s+cb 36\s+sli \(hl\)
+\s+28:\s+dd cb 07 36\s+sli \(ix\+7\)
+\s+2c:\s+fd cb f7 36\s+sli \(iy\-9\)
diff --git a/gas/testsuite/gas/z80/z80_sli.s b/gas/testsuite/gas/z80/z80_sli.s
new file mode 100644 (file)
index 0000000..8d0f39f
--- /dev/null
@@ -0,0 +1,28 @@
+       .text
+       .org 0
+
+       ;; SLI/SLL instruction test
+
+;SLI
+       sli a
+       sli b
+       sli c
+       sli d
+       sli e
+       sli h
+       sli l
+       sli (hl)
+       sli (ix+7)
+       sli (iy-9)
+
+;SLL is alias for SLI
+       sll a
+       sll b
+       sll c
+       sll d
+       sll e
+       sll h
+       sll l
+       sll (hl)
+       sll (ix+7)
+       sll (iy-9)
index 904688f79a929d3ff1945bb813551b6b72565d34..3a0def9bf97de406286a92def0ed64016bfb77eb 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2019-01-19 16:40+0000\n"
+"POT-Creation-Date: 2020-01-02 11:13+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -216,47 +216,47 @@ msgstr ""
 msgid "%s: unable to parse mapping file %s.\n"
 msgstr ""
 
-#: corefile.c:89 corefile.c:521
+#: corefile.c:89 corefile.c:523
 #, c-format
 msgid "%s: could not open %s.\n"
 msgstr ""
 
-#: corefile.c:191
+#: corefile.c:193
 #, c-format
 msgid "%s: %s: not in executable format\n"
 msgstr ""
 
-#: corefile.c:202
+#: corefile.c:204
 #, c-format
 msgid "%s: can't find .text section in %s\n"
 msgstr ""
 
-#: corefile.c:276
+#: corefile.c:278
 #, c-format
 msgid "%s: ran out room for %lu bytes of text space\n"
 msgstr ""
 
-#: corefile.c:290
+#: corefile.c:292
 #, c-format
 msgid "%s: can't do -c\n"
 msgstr ""
 
-#: corefile.c:329
+#: corefile.c:331
 #, c-format
 msgid "%s: -c not supported on architecture %s\n"
 msgstr ""
 
-#: corefile.c:530 corefile.c:635
+#: corefile.c:532 corefile.c:637
 #, c-format
 msgid "%s: file `%s' has no symbols\n"
 msgstr ""
 
-#: corefile.c:535
+#: corefile.c:537
 #, c-format
 msgid "%s: file `%s' has too many symbols\n"
 msgstr ""
 
-#: corefile.c:902
+#: corefile.c:904
 #, c-format
 msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
 msgstr ""
@@ -354,7 +354,7 @@ msgstr ""
 #: gprof.c:162
 #, c-format
 msgid ""
-"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqSQZ][name]] [-I dirs]\n"
+"Usage: %s [-[abcDhilLrsTvwxyz]] [-[ACeEfFJnNOpPqQRStZ][name]] [-I dirs]\n"
 "\t[-d[num]] [-k from/to] [-m min-count] [-t table-length]\n"
 "\t[--[no-]annotated-source[=name]] [--[no-]exec-counts[=name]]\n"
 "\t[--[no-]flat-profile[=name]] [--[no-]graph[=name]]\n"
@@ -380,51 +380,51 @@ msgstr ""
 msgid "%s: debugging not supported; -d ignored\n"
 msgstr ""
 
-#: gprof.c:336
+#: gprof.c:340
 #, c-format
 msgid "%s: unknown file format %s\n"
 msgstr ""
 
 #. This output is intended to follow the GNU standards document.
-#: gprof.c:424
+#: gprof.c:428
 #, c-format
 msgid "GNU gprof %s\n"
 msgstr ""
 
-#: gprof.c:425
+#: gprof.c:429
 #, c-format
 msgid ""
 "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
 msgstr ""
 
-#: gprof.c:426
+#: gprof.c:430
 #, c-format
 msgid ""
 "This program is free software.  This program has absolutely no warranty.\n"
 msgstr ""
 
-#: gprof.c:467
+#: gprof.c:471
 #, c-format
 msgid "%s: unknown demangling style `%s'\n"
 msgstr ""
 
-#: gprof.c:490
+#: gprof.c:494
 #, c-format
 msgid ""
 "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
 msgstr ""
 
-#: gprof.c:542
+#: gprof.c:546
 #, c-format
 msgid "%s: sorry, file format `prof' is not yet supported\n"
 msgstr ""
 
-#: gprof.c:596
+#: gprof.c:600
 #, c-format
 msgid "%s: gmon.out file is missing histogram\n"
 msgstr ""
 
-#: gprof.c:603
+#: gprof.c:607
 #, c-format
 msgid "%s: gmon.out file is missing call-graph data\n"
 msgstr ""
index bc668510fe78d8c641770e2a4e4a91cd1b8336e9..e28c168f5596f8e07728d522a3e0eb1e880944bc 100644 (file)
@@ -1,3 +1,7 @@
+2020-01-02  Sergey Belyashov  <sergey.belyashov@gmail.com>
+
+       * coff/internal.h: Add defintions of Z80 reloc names.
+
 2020-01-02  Christian Biesinger  <cbiesinger@google.com>
 
        * opcode/s12z.h: Undef REG_Y.
index f7ff2cd4ac5259c39ab3d340554db467505ca35f..24ac1dc75ce77f7fc3bb432780a6b2f64b85e688 100644 (file)
@@ -808,5 +808,11 @@ struct internal_reloc
 #define R_OFF8    0x32         /* 8 bit signed abs, for (i[xy]+d) */
 #define R_IMM24   0x33          /* 24 bit abs */
 /* R_JR, R_IMM8, R_IMM16, R_IMM32 - as for Z8k */
+#define R_BYTE0  0x34          /* first (lowest) 8 bits of multibyte value */
+#define R_BYTE1  0x35          /* second 8 bits of multibyte value */
+#define R_BYTE2  0x36          /* third 8 bits of multibyte value */
+#define R_BYTE3  0x37          /* fourth (highest) 8 bits of multibyte value */
+#define R_WORD0  0x38          /* lowest 16 bits of 32 or 24 bit value */
+#define R_WORD1  0x39          /* highest 16 bits of 32 or 24 bit value */
 
 #endif /* GNU_COFF_INTERNAL_H */
diff --git a/include/elf/z80.h b/include/elf/z80.h
new file mode 100644 (file)
index 0000000..a7f72c9
--- /dev/null
@@ -0,0 +1,52 @@
+/* Z80 ELF support for BFD.
+   Copyright (C) 1999-2019 Free Software Foundation, Inc.
+   Contributed by Sergey Belyashov <sergey.belyashov@gmail.com>
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef _ELF_Z80_H
+#define _ELF_Z80_H
+
+#include "elf/reloc-macros.h"
+
+/* Processor specific flags for the ELF header e_flags field.  */
+#define EF_Z80_MACH_Z80      0x01
+#define EF_Z80_MACH_Z180     0x02
+#define EF_Z80_MACH_R800     0x03
+#define EF_Z80_MACH_EZ80_Z80 0x04
+#define EF_Z80_MACH_EZ80_ADL 0x84
+#define EF_Z80_MACH_GBZ80    0x05
+#define EF_Z80_MACH_MSK      0xff
+
+/* Relocations.  */
+START_RELOC_NUMBERS (elf_z80_reloc_type)
+     RELOC_NUMBER (R_Z80_NONE,         0)
+     RELOC_NUMBER (R_Z80_8,            1)
+     RELOC_NUMBER (R_Z80_8_DIS,                2)
+     RELOC_NUMBER (R_Z80_8_PCREL,      3)
+     RELOC_NUMBER (R_Z80_16,           4)
+     RELOC_NUMBER (R_Z80_24,           5)
+     RELOC_NUMBER (R_Z80_32,           6)
+     RELOC_NUMBER (R_Z80_BYTE0,                7)
+     RELOC_NUMBER (R_Z80_BYTE1,                8)
+     RELOC_NUMBER (R_Z80_BYTE2,                9)
+     RELOC_NUMBER (R_Z80_BYTE3,                10)
+     RELOC_NUMBER (R_Z80_WORD0,                11)
+     RELOC_NUMBER (R_Z80_WORD1,                12)
+END_RELOC_NUMBERS (R_Z80_max)
+
+#endif /* _ELF_Z80_H */
index 356a48a0a36cf196e2fb6054e6fe18088b6840b7..e0aa3ea44ed2cfe0daa8e217d5f24620061b6acc 100644 (file)
@@ -1,3 +1,29 @@
+2020-01-02  Sergey Belyashov  <sergey.belyashov@gmail.com>
+
+       * Makefile.am: Add new target z80-elf
+       * configure.tgt: Likewise.
+       * Makefile.in: Regenerate.
+       * emultempl/z80.em: Add support for eZ80 and Z180 architectures.
+       * emulparams/elf32z80.sh: New file.
+       * emultempl/z80elf.em: Likewise.
+       * testsuite/ld-elf/comm-data4.s: Fix for Z80.
+       * testsuite/ld-elf/comm-data5.s: Fix for Z80.
+       * testsuite/ld-scripts/fill16.d: Fix for Z80.
+       * testsuite/ld-z80/arch_ez80_adl.d: Likewise.
+       * testsuite/ld-z80/arch_ez80_z80.d: Likewise.
+       * testsuite/ld-z80/arch_r800.d: Likewise.
+       * testsuite/ld-z80/arch_z180.d: Likewise.
+       * testsuite/ld-z80/arch_z80.d: Likewise.
+       * testsuite/ld-z80/comb_arch_ez80_z80.d: Likewise.
+       * testsuite/ld-z80/comb_arch_z180.d: Likewise.
+       * testsuite/ld-z80/labels.s: Likewise.
+       * testsuite/ld-z80/relocs.s: Likewise.
+       * testsuite/ld-z80/relocs_b_ez80.d: Likewise.
+       * testsuite/ld-z80/relocs_b_z80.d: Likewise.
+       * testsuite/ld-z80/relocs_f_z80.d: Likewise.
+       * testsuite/ld-z80/z80.exp: Likewise.
+       * NEWS: Mention the new support.
+
 2020-01-02  Tamar Christina  <tamar.christina@arm.com>
 
        PR 25210
index 2e78cdee75e3a596ce15527d5a6842f0c5344694..2c7e337cea2d893a83dab7225f9a70643c3e45bb 100644 (file)
@@ -289,6 +289,7 @@ ALL_EMULATION_SOURCES = \
        eelf32xc16xs.c \
        eelf32xstormy16.c \
        eelf32xtensa.c \
+       eelf32z80.c \
        eelf_i386.c \
        eelf_i386_be.c \
        eelf_i386_fbsd.c \
@@ -876,6 +877,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez80.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez8001.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez8002.Pc@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez80elf32.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elfb.Pc@am__quote@
index c06369a26d3a9ce6faed677a974d17c89130b252..e79a8c855b76d6fcb0b16c70ddcc4ae6db678bfa 100644 (file)
@@ -779,6 +779,7 @@ ALL_EMULATION_SOURCES = \
        eelf32xc16xs.c \
        eelf32xstormy16.c \
        eelf32xtensa.c \
+       eelf32z80.c \
        eelf_i386.c \
        eelf_i386_be.c \
        eelf_i386_fbsd.c \
@@ -1358,6 +1359,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xc16xs.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xstormy16.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xtensa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32z80.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_aix.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_ia64.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_ia64_fbsd.Po@am__quote@
@@ -2481,6 +2483,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez80.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez8001.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez8002.Pc@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ez80elf32.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elfb.Pc@am__quote@
diff --git a/ld/NEWS b/ld/NEWS
index f6ce64b9cbe8407d736315b44ae34a40949b8123..98dfd332027aaeffc487dabf257ea2910e73b125 100644 (file)
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -2,6 +2,13 @@
 
 * cr16c support removed.
 
+* Add support for z80-elf.
+
+* Add support for relocation of each byte or word of multibyte value to Z80
+  targets.
+
+* Add support for Zilog eZ80 (both ADL and Z80 mode) and Zilog Z180 CPUs.
+
 Changes in 2.33:
 
 * Add command-line option --no-print-map-discarded.
index 4ebf4ee1a5e6fa0ea579d40d80cabf4a8a019566..18c3ba4c4d43539974ac0c758beb124b72202867 100644 (file)
@@ -1012,6 +1012,9 @@ xstormy16-*-*)            targ_emul=elf32xstormy16
                        ;;
 xtensa*-*-*)           targ_emul=elf32xtensa
                        ;;
+z80-*-elf*)            targ_emul=elf32z80
+                       targ_extra_ofiles="ldelf.o ldelfgen.o"
+                       ;;
 z80-*-coff)            targ_emul=z80
                        targ_extra_ofiles=
                        ;;
diff --git a/ld/emulparams/elf32z80.sh b/ld/emulparams/elf32z80.sh
new file mode 100644 (file)
index 0000000..c4aa444
--- /dev/null
@@ -0,0 +1,22 @@
+ARCH=z80
+MACHINE=
+SCRIPT_NAME=z80
+#OUTPUT_ARCH="z80"
+OUTPUT_FORMAT="elf32-z80"
+MAXPAGESIZE=1
+EMBEDDED=yes
+TEMPLATE_NAME=elf
+
+TEXT_START_ADDR=0x100
+#TEXT_LENGTH=0
+#DATA_ORIGIN=0
+#DATA_LENGTH=0
+EXTRA_EM_FILE=z80elf
+
+#FUSE_NAME=fuse
+
+#EEPROM_LENGTH=64K
+#FUSE_LENGTH=1K
+#LOCK_LENGTH=1K
+#SIGNATURE_LENGTH=1K
+#USER_SIGNATURE_LENGTH=1K
index 639650d07ba1e8dc294f9e5ff1769905784a47ec..4c36cd8465ebd46faaef06c53619de8c703788d6 100644 (file)
@@ -27,11 +27,16 @@ fragment <<EOF
 /* --- \begin{z80.em} */
 /* Codes for machine types, bitwise or gives the code to use for the
    output.  */
-#define M_Z80STRICT 1
-#define M_Z80 3
-#define M_Z80FULL 7
-#define M_R800 11
-#define M_Z80ANY 15
+#define M_Z80STRICT 0x01
+#define M_Z80       0x03
+#define M_Z80FULL   0x07
+#define M_R800      0x10
+#define M_Z80ANY    0x0f
+#define M_GBZ80     0x20
+#define M_Z180      0x40
+#define M_EZ80_Z80  0x80
+#define M_EZ80_ADL  0x100
+#define M_ARCH_MASK 0xFF0
 
 /* Bitwise or of the machine types seen so far.  */
 static int result_mach_type;
@@ -42,7 +47,7 @@ ${LDEMUL_BEFORE_PARSE} (void)
 #ifndef TARGET_                        /* I.e., if not generic.  */
   ldfile_set_output_arch ("`echo ${ARCH}`", bfd_arch_unknown);
 #endif /* not TARGET_ */
-  result_mach_type = M_Z80STRICT;
+  result_mach_type = 0;
 }
 
 
@@ -67,7 +72,20 @@ ${LDEMUL_RECOGNIZED_FILE} (lang_input_statement_type *entry)
     case bfd_mach_r800:
       result_mach_type |= M_R800;
       break;
+    case bfd_mach_gbz80:
+      result_mach_type |= M_GBZ80;
+      break;
+    case bfd_mach_z180:
+      result_mach_type |= M_Z180;
+      break;
+    case bfd_mach_ez80_z80:
+      result_mach_type |= M_EZ80_Z80;
+      break;
+    case bfd_mach_ez80_adl:
+      result_mach_type |= M_EZ80_ADL;
+      break;
     default:
+      einfo (_("%P: warning: unknown machine type %u"), (unsigned)mach_type);
       result_mach_type |= M_Z80ANY;
     }
   return FALSE;
@@ -81,23 +99,48 @@ gldz80_after_open (void)
 
   after_open_default ();
 
-  switch (result_mach_type)
+  switch (result_mach_type & M_ARCH_MASK)
     {
-    case M_Z80STRICT:
-      mach_type = bfd_mach_z80strict;
-      break;
-    case M_Z80:
-      mach_type = bfd_mach_z80;
-      break;
-    case M_Z80FULL:
-      mach_type = bfd_mach_z80full;
-      break;
+    case M_Z80 & M_ARCH_MASK:
     case M_R800:
-      mach_type = bfd_mach_r800;
+    case M_Z180:
+    case M_GBZ80:
+    case M_EZ80_Z80:
+    case M_EZ80_ADL:
+    case M_EZ80_Z80 | M_Z180:
+      /* valid combination */
+      break;
+    case M_EZ80_Z80 | M_EZ80_ADL:
+    case M_EZ80_Z80 | M_EZ80_ADL | M_Z180:
+    case M_EZ80_ADL | M_Z180:
+      /* combination may cause invalid objdump output */
+      /* but it is possible for mixed ADL/Z80 code */
+      einfo (_("%P: warning: mixing ADL and Z80 mode binaries, objdump may generate invalid output"));
       break;
     default:
-      mach_type = 0;
+      /* invalid combination: for example Z180 + R800 */
+      einfo (_("%P: warning: incompatible object files linked, result code might not work"));
     }
+
+  if ((result_mach_type & M_EZ80_ADL) == M_EZ80_ADL)
+    mach_type = bfd_mach_ez80_adl;
+  else if ((result_mach_type & M_EZ80_Z80) == M_EZ80_Z80)
+    mach_type = bfd_mach_ez80_z80;
+  else if ((result_mach_type & M_Z180) == M_Z180)
+    mach_type = bfd_mach_z180;
+  else if ((result_mach_type & M_R800) == M_R800)
+    mach_type = bfd_mach_r800;
+  else if ((result_mach_type & M_GBZ80) == M_GBZ80)
+    mach_type = bfd_mach_gbz80;
+  else if ((result_mach_type & M_Z80FULL) == M_Z80FULL)
+    mach_type = bfd_mach_z80full; /* TODO: remove it */
+  else if ((result_mach_type & M_Z80) == M_Z80)
+    mach_type = bfd_mach_z80;
+  else if ((result_mach_type & M_Z80STRICT) == M_Z80STRICT)
+    mach_type = bfd_mach_z80strict; /* TODO: remove this */
+  else
+    mach_type = bfd_arch_unknown;
+
   bfd_set_arch_mach (link_info.output_bfd, bfd_arch_z80, mach_type);
 }
 /* --- \end{z80.em} */
diff --git a/ld/emultempl/z80elf.em b/ld/emultempl/z80elf.em
new file mode 100644 (file)
index 0000000..7a55fff
--- /dev/null
@@ -0,0 +1,133 @@
+# This shell script emits C code -*- C -*-
+# to keep track of the machine type of Z80 object files
+# It does some substitutions.
+#   Copyright (C) 2005-2019 Free Software Foundation, Inc.
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+fragment <<EOF
+/* --- \begin{z80.em} */
+
+#include "elf/z80.h"
+
+static void
+gld${EMULATION_NAME}_after_open (void);
+
+static int result_mach_type;
+
+/* Set the machine type of the output file based on result_mach_type.  */
+static void
+z80_elf_after_open (void)
+{
+  unsigned int mach = 0;
+  bfd *abfd;
+
+  /* For now, make sure all object files are of the same architecture.
+     We may try to merge object files with different architecture together.  */
+  for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
+    {
+      unsigned long new_mach;
+      new_mach = elf_elfheader (abfd)->e_flags & 0xff;
+      if (!mach)
+       mach = new_mach;
+      else if (mach != new_mach)
+       {
+         if ((new_mach == EF_Z80_MACH_R800 || mach == EF_Z80_MACH_R800) ||
+             (new_mach == EF_Z80_MACH_GBZ80 || mach == EF_Z80_MACH_GBZ80))
+           einfo (_("%F%P: %pB: Istruction set of object files mismatched\n"),
+                  abfd);
+         else if (mach < new_mach)
+           mach = new_mach;
+       }
+    }
+  switch (mach & 0xff)
+    {
+    case EF_Z80_MACH_Z80:
+      mach = bfd_mach_z80;
+      break;
+    case EF_Z80_MACH_Z180:
+      mach = bfd_mach_z180;
+      break;
+    case EF_Z80_MACH_R800:
+      mach = bfd_mach_r800;
+      break;
+    case EF_Z80_MACH_EZ80_Z80:
+      mach = bfd_mach_ez80_z80;
+      break;
+    case EF_Z80_MACH_EZ80_ADL:
+      mach = bfd_mach_ez80_adl;
+      break;
+    case EF_Z80_MACH_GBZ80:
+      mach = bfd_mach_gbz80;
+      break;
+    default:
+      mach = (unsigned)-1;
+    }
+
+  bfd_set_arch_mach (link_info.output_bfd, bfd_arch_z80, mach);
+  result_mach_type = mach;
+
+  /* Call the standard elf routine.  */
+  gld${EMULATION_NAME}_after_open ();
+}
+
+static void
+z80_elf_finish (void)
+{
+  bfd *abfd;
+
+  abfd = link_info.output_bfd;
+
+  if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
+    {
+      unsigned e_flags;
+      switch (result_mach_type)
+       {
+       case bfd_mach_z80strict:
+       case bfd_mach_z80:
+       case bfd_mach_z80full:
+         e_flags = EF_Z80_MACH_Z80;
+         break;
+       case bfd_mach_r800:
+         e_flags = EF_Z80_MACH_R800;
+         break;
+       case bfd_mach_gbz80:
+         e_flags = EF_Z80_MACH_GBZ80;
+         break;
+       case bfd_mach_z180:
+         e_flags = EF_Z80_MACH_Z180;
+         break;
+       case bfd_mach_ez80_z80:
+         e_flags = EF_Z80_MACH_EZ80_Z80;
+         break;
+       case bfd_mach_ez80_adl:
+         e_flags = EF_Z80_MACH_EZ80_ADL;
+         break;
+       default:
+         e_flags = ~0;
+       }
+      elf_elfheader (abfd)->e_flags = (elf_elfheader (abfd)->e_flags & ~0xff) | e_flags;
+    }
+
+  finish_default ();
+}
+
+/* --- \end{z80.em} */
+EOF
+
+LDEMUL_AFTER_OPEN=z80_elf_after_open
+LDEMUL_FINISH=z80_elf_finish
index d171bb946863a1ea2d69803f64b41d6fc53c61cb..768f25a3752cd32884ab5e58db4c040607ed7bf6 100644 (file)
@@ -161,6 +161,7 @@ eelf32xc16xl.c
 eelf32xc16xs.c
 eelf32xstormy16.c
 eelf32xtensa.c
+eelf32z80.c
 eelf64_aix.c
 eelf64_ia64.c
 eelf64_ia64_fbsd.c
index fa8fd8d48ce80aa18e10bd7297ba7d87f4596df2..243cdf05115b51281a71a795190f57451df6a4ba 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2019-01-19 16:42+0000\n"
+"POT-Creation-Date: 2020-01-02 11:12+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,19 +18,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: ldcref.c:170
+#: ldcref.c:171
 msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n"
 msgstr ""
 
-#: ldcref.c:176
+#: ldcref.c:177
 msgid "%X%P: cref_hash_lookup failed: %E\n"
 msgstr ""
 
-#: ldcref.c:186
+#: ldcref.c:187
 msgid "%X%P: cref alloc failed: %E\n"
 msgstr ""
 
-#: ldcref.c:371
+#: ldcref.c:372
 #, c-format
 msgid ""
 "\n"
@@ -38,34 +38,34 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ldcref.c:372
+#: ldcref.c:373
 msgid "Symbol"
 msgstr ""
 
-#: ldcref.c:380
+#: ldcref.c:381
 #, c-format
 msgid "File\n"
 msgstr ""
 
-#: ldcref.c:384
+#: ldcref.c:385
 #, c-format
 msgid "No symbols\n"
 msgstr ""
 
-#: ldcref.c:413 ldcref.c:565
+#: ldcref.c:414 ldcref.c:566
 msgid "%P: symbol `%pT' missing from main hash table\n"
 msgstr ""
 
-#: ldcref.c:517 ldcref.c:628 ldmain.c:1223 ldmisc.c:335 pe-dll.c:715
-#: pe-dll.c:1296 pe-dll.c:1417 pe-dll.c:1535 earm_wince_pe.c:1430
-#: earm_wince_pe.c:1637 earmpe.c:1430 earmpe.c:1637 ei386pe.c:1430
-#: ei386pe.c:1637 ei386pe_posix.c:1430 ei386pe_posix.c:1637 ei386pep.c:1414
-#: emcorepe.c:1430 emcorepe.c:1637 eppcpe.c:1430 eppcpe.c:1637 eshpe.c:1430
-#: eshpe.c:1637
+#: ldcref.c:518 ldcref.c:629 ldmain.c:1227 ldmisc.c:335 pe-dll.c:725
+#: pe-dll.c:1304 pe-dll.c:1425 pe-dll.c:1548 earm_wince_pe.c:1431
+#: earm_wince_pe.c:1638 earmpe.c:1431 earmpe.c:1638 ei386pe.c:1431
+#: ei386pe.c:1638 ei386pe_posix.c:1431 ei386pe_posix.c:1638 ei386pep.c:1416
+#: emcorepe.c:1431 emcorepe.c:1638 eppcpe.c:1431 eppcpe.c:1638 eshpe.c:1431
+#: eshpe.c:1638
 msgid "%F%P: %pB: could not read symbols: %E\n"
 msgstr ""
 
-#: ldcref.c:690 ldcref.c:697 ldmain.c:1285 ldmain.c:1292
+#: ldcref.c:691 ldcref.c:698 ldmain.c:1289 ldmain.c:1296
 msgid "%F%P: %pB: could not read relocs: %E\n"
 msgstr ""
 
@@ -73,282 +73,332 @@ msgstr ""
 #. in OUTSECNAME.  This reloc is from a section which is
 #. mapped into a section from which references to OUTSECNAME
 #. are prohibited.  We must report an error.
-#: ldcref.c:724
+#: ldcref.c:725
 msgid "%X%P: %C: prohibited cross reference from %s to `%pT' in %s\n"
 msgstr ""
 
-#: ldctor.c:83
+#: ldctor.c:84
 msgid "%X%P: different relocs used in set %s\n"
 msgstr ""
 
-#: ldctor.c:101
+#: ldctor.c:102
 msgid "%X%P: different object file formats composing set %s\n"
 msgstr ""
 
-#: ldctor.c:279 ldctor.c:300
+#: ldctor.c:278 ldctor.c:299
 msgid "%X%P: %s does not support reloc %s for set %s\n"
 msgstr ""
 
-#: ldctor.c:295
+#: ldctor.c:294
 msgid "%X%P: special section %s does not support reloc %s for set %s\n"
 msgstr ""
 
-#: ldctor.c:321
+#: ldctor.c:320
 msgid "%X%P: unsupported size %d for set %s\n"
 msgstr ""
 
-#: ldctor.c:344
+#: ldctor.c:343
 msgid ""
 "\n"
 "Set                 Symbol\n"
 "\n"
 msgstr ""
 
-#: ldemul.c:279
+#: ldelf.c:71
+msgid "%P: warning: -z dynamic-undefined-weak ignored\n"
+msgstr ""
+
+#: ldelf.c:98
+msgid "%F%P: %pB: --just-symbols may not be used on DSO\n"
+msgstr ""
+
+#: ldelf.c:200
+msgid "%P: %pB: bfd_stat failed: %E\n"
+msgstr ""
+
+#: ldelf.c:241
+msgid "%P: warning: %s, needed by %pB, may conflict with %s\n"
+msgstr ""
+
+#: ldelf.c:261 ldfile.c:133
+#, c-format
+msgid "attempt to open %s failed\n"
+msgstr ""
+
+#: ldelf.c:296
+msgid "%F%P: %pB: bfd_elf_get_bfd_needed_list failed: %E\n"
+msgstr ""
+
+#: ldelf.c:344
+msgid "%F%P: %pB: bfd_stat failed: %E\n"
+msgstr ""
+
+#: ldelf.c:350
+#, c-format
+msgid "found %s at %s\n"
+msgstr ""
+
+#: ldelf.c:380 ldlang.c:3087 ldlang.c:3101
+msgid "%F%P: %pB: error adding symbols: %E\n"
+msgstr ""
+
+#. We only issue an "unrecognised" message in verbose mode
+#. as the $<foo> token might be a legitimate component of
+#. a path name in the target's file system.
+#: ldelf.c:567
+#, c-format
+msgid "unrecognised or unsupported token '%s' in search path\n"
+msgstr ""
+
+#: ldelf.c:1011
+msgid "%F%P: %s: can't open for writing: %E\n"
+msgstr ""
+
+#: ldelf.c:1088
+msgid ""
+"%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from "
+"%pB\n"
+msgstr ""
+
+#: ldelf.c:1124
+msgid ""
+"%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
+msgstr ""
+
+#: ldelf.c:1179
+#, c-format
+msgid "%s needed by %pB\n"
+msgstr ""
+
+#: ldelf.c:1288
+msgid ""
+"%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
+msgstr ""
+
+#: ldelf.c:1295
+msgid "%F%P: failed to parse EH frame entries\n"
+msgstr ""
+
+#: ldelf.c:1334
+msgid "%P: warning: .note.gnu.build-id section discarded, --build-id ignored\n"
+msgstr ""
+
+#: ldelf.c:1380 earm_wince_pe.c:1225 earmpe.c:1225 ei386pe.c:1225
+#: ei386pe_posix.c:1225 ei386pep.c:1228 emcorepe.c:1225 eppcpe.c:1225
+#: eshpe.c:1225
+msgid "%P: warning: unrecognized --build-id style ignored\n"
+msgstr ""
+
+#: ldelf.c:1398
+msgid ""
+"%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"
+msgstr ""
+
+#: ldelf.c:1430 eaix5ppc.c:1370 eaix5rs6.c:1370 eaixppc.c:1370 eaixrs6.c:1370
+#: eppcmacos.c:1370
+msgid "%F%P: failed to record assignment to %s: %E\n"
+msgstr ""
+
+#: ldelf.c:1612 ldelf.c:1677 eaix5ppc.c:832 eaix5rs6.c:832 eaixppc.c:832
+#: eaixrs6.c:832 eelf64_ia64_vms.c:209 eppcmacos.c:832
+msgid "%F%P: failed to set dynamic section sizes: %E\n"
+msgstr ""
+
+#: ldelf.c:1649
+msgid "%F%P: %pB: can't read contents of section .gnu.warning: %E\n"
+msgstr ""
+
+#: ldelfgen.c:55
+msgid "%F%P: map sections to segments failed: %E\n"
+msgstr ""
+
+#: ldelfgen.c:75
+msgid "%F%P: looping in map_segments"
+msgstr ""
+
+#: ldelfgen.c:177
+msgid ""
+"%F%P: warning: CTF strtab association failed; strings will not be shared: "
+"%s\n"
+msgstr ""
+
+#: ldelfgen.c:183
+msgid "%F%P: warning: CTF symbol shuffling failed; slight space cost: %s\n"
+msgstr ""
+
+#: ldemul.c:303
 #, c-format
 msgid "%pS SYSLIB ignored\n"
 msgstr ""
 
-#: ldemul.c:285
+#: ldemul.c:309
 #, c-format
 msgid "%pS HLL ignored\n"
 msgstr ""
 
-#: ldemul.c:305
+#: ldemul.c:329
 msgid "%P: unrecognised emulation mode: %s\n"
 msgstr ""
 
-#: ldemul.c:306
+#: ldemul.c:330
 msgid "Supported emulations: "
 msgstr ""
 
-#: ldemul.c:348
+#: ldemul.c:372
 #, c-format
 msgid "  no emulation specific options.\n"
 msgstr ""
 
-#: ldexp.c:283
+#: ldexp.c:284
 msgid "%F%P: bfd_hash_allocate failed creating symbol %s\n"
 msgstr ""
 
-#: ldexp.c:314
+#: ldexp.c:315
 msgid "%F%P: bfd_hash_lookup failed creating symbol %s\n"
 msgstr ""
 
-#: ldexp.c:551
+#: ldexp.c:552
 msgid "%P: warning: address of `%s' isn't multiple of maximum page size\n"
 msgstr ""
 
-#: ldexp.c:630
+#: ldexp.c:631
 msgid "%F%P:%pS %% by zero\n"
 msgstr ""
 
-#: ldexp.c:639
+#: ldexp.c:640
 msgid "%F%P:%pS / by zero\n"
 msgstr ""
 
-#: ldexp.c:749 ldlang.c:3610 ldmain.c:1190 earm_wince_pe.c:1765 earmpe.c:1765
-#: ei386pe.c:1765 ei386pe_posix.c:1765 ei386pep.c:1638 emcorepe.c:1765
-#: eppcpe.c:1765 eshpe.c:1765
+#: ldexp.c:733 ldlang.c:3830 ldmain.c:1194 earm_wince_pe.c:1766 earmpe.c:1766
+#: ei386pe.c:1766 ei386pe_posix.c:1766 ei386pep.c:1640 emcorepe.c:1766
+#: eppcpe.c:1766 eshpe.c:1766
 msgid "%F%P: bfd_link_hash_lookup failed: %E\n"
 msgstr ""
 
-#: ldexp.c:761
+#: ldexp.c:745
 msgid "%X%P:%pS: unresolvable symbol `%s' referenced in expression\n"
 msgstr ""
 
-#: ldexp.c:776
+#: ldexp.c:760
 msgid "%F%P:%pS: undefined symbol `%s' referenced in expression\n"
 msgstr ""
 
-#: ldexp.c:802 ldexp.c:820 ldexp.c:848
+#: ldexp.c:798 ldexp.c:816 ldexp.c:844
 msgid "%F%P:%pS: undefined section `%s' referenced in expression\n"
 msgstr ""
 
-#: ldexp.c:880 ldexp.c:896
+#: ldexp.c:875 ldexp.c:889
 msgid "%F%P:%pS: undefined MEMORY region `%s' referenced in expression\n"
 msgstr ""
 
-#: ldexp.c:908
+#: ldexp.c:901
 msgid "%F%P:%pS: unknown constant `%s' referenced in expression\n"
 msgstr ""
 
-#: ldexp.c:1056
+#: ldexp.c:1049
 msgid "%F%P:%pS can not PROVIDE assignment to location counter\n"
 msgstr ""
 
-#: ldexp.c:1089
+#: ldexp.c:1082
 msgid "%F%P:%pS invalid assignment to location counter\n"
 msgstr ""
 
-#: ldexp.c:1093
+#: ldexp.c:1086
 msgid "%F%P:%pS assignment to location counter invalid outside of SECTIONS\n"
 msgstr ""
 
-#: ldexp.c:1112
+#: ldexp.c:1105
 msgid "%F%P:%pS cannot move location counter backwards (from %V to %V)\n"
 msgstr ""
 
-#: ldexp.c:1171
+#: ldexp.c:1165
 msgid "%F%P:%s: hash creation failed\n"
 msgstr ""
 
-#: ldexp.c:1524 ldexp.c:1566 ldexp.c:1626
+#: ldexp.c:1530 ldexp.c:1572 ldexp.c:1632
 msgid "%F%P:%pS: nonconstant expression for %s\n"
 msgstr ""
 
-#: ldexp.c:1652 ldlang.c:1250 ldlang.c:3386 ldlang.c:7377
+#: ldexp.c:1658 ldlang.c:1255 ldlang.c:3405 ldlang.c:7644
 msgid "%F%P: can not create hash table: %E\n"
 msgstr ""
 
-#: ldfile.c:132 eaarch64cloudabi.c:656 eaarch64cloudabib.c:656
-#: eaarch64elf.c:656 eaarch64elf32.c:656 eaarch64elf32b.c:656
-#: eaarch64elfb.c:656 eaarch64fbsd.c:656 eaarch64fbsdb.c:656
-#: eaarch64linux.c:656 eaarch64linux32.c:656 eaarch64linux32b.c:656
-#: eaarch64linuxb.c:656 earcelf.c:341 earcelf_prof.c:341 earclinux.c:343
-#: earclinux_nps.c:343 earclinux_prof.c:343 earcv2elf.c:341 earcv2elfx.c:341
-#: earmelf.c:876 earmelf_fbsd.c:876 earmelf_fuchsia.c:876 earmelf_linux.c:876
-#: earmelf_linux_eabi.c:876 earmelf_linux_fdpiceabi.c:876 earmelf_nacl.c:876
-#: earmelf_nbsd.c:876 earmelf_phoenix.c:876 earmelf_vxworks.c:906
-#: earmelfb.c:876 earmelfb_fbsd.c:876 earmelfb_fuchsia.c:876
-#: earmelfb_linux.c:876 earmelfb_linux_eabi.c:876
-#: earmelfb_linux_fdpiceabi.c:876 earmelfb_nacl.c:876 earmelfb_nbsd.c:876
-#: earmnto.c:876 earmsymbian.c:876 eavr1.c:544 eavr2.c:544 eavr25.c:544
-#: eavr3.c:544 eavr31.c:544 eavr35.c:544 eavr4.c:544 eavr5.c:544 eavr51.c:544
-#: eavr6.c:544 eavrtiny.c:544 eavrxmega1.c:544 eavrxmega2.c:544
-#: eavrxmega3.c:544 eavrxmega4.c:544 eavrxmega5.c:544 eavrxmega6.c:544
-#: eavrxmega7.c:544 ecriself.c:341 ecrislinux.c:341 ecskyelf.c:598
-#: ecskyelf_linux.c:598 ed10velf.c:341 eelf32_sparc.c:341
-#: eelf32_sparc_sol2.c:472 eelf32_sparc_vxworks.c:370 eelf32_spu.c:1011
-#: eelf32_tic6x_be.c:479 eelf32_tic6x_elf_be.c:479 eelf32_tic6x_elf_le.c:479
-#: eelf32_tic6x_le.c:479 eelf32_tic6x_linux_be.c:479
-#: eelf32_tic6x_linux_le.c:479 eelf32_x86_64.c:344 eelf32_x86_64_nacl.c:341
-#: eelf32am33lin.c:341 eelf32b4300.c:568 eelf32bfin.c:350 eelf32bfinfd.c:350
-#: eelf32bmip.c:568 eelf32bmipn32.c:586 eelf32bsmip.c:586 eelf32btsmip.c:568
-#: eelf32btsmip_fbsd.c:568 eelf32btsmipn32.c:568 eelf32btsmipn32_fbsd.c:568
-#: eelf32cr16.c:492 eelf32cr16c.c:341 eelf32crx.c:380 eelf32ebmip.c:568
-#: eelf32ebmipvxworks.c:597 eelf32elmip.c:568 eelf32elmipvxworks.c:597
-#: eelf32epiphany.c:341 eelf32epiphany_4x4.c:343 eelf32frvfd.c:341
-#: eelf32ip2k.c:341 eelf32l4300.c:568 eelf32lm32.c:341 eelf32lm32fd.c:341
-#: eelf32lmip.c:568 eelf32lppc.c:557 eelf32lppclinux.c:557 eelf32lppcnto.c:557
-#: eelf32lppcsim.c:557 eelf32lr5900.c:568 eelf32lr5900n32.c:568
-#: eelf32lriscv.c:406 eelf32lriscv_ilp32.c:406 eelf32lriscv_ilp32f.c:406
-#: eelf32lsmip.c:568 eelf32ltsmip.c:568 eelf32ltsmip_fbsd.c:568
-#: eelf32ltsmipn32.c:568 eelf32ltsmipn32_fbsd.c:568 eelf32m32c.c:352
-#: eelf32mb_linux.c:341 eelf32mbel_linux.c:341 eelf32mcore.c:341
-#: eelf32mep.c:341 eelf32metag.c:616 eelf32microblaze.c:341
-#: eelf32microblazeel.c:341 eelf32mipswindiss.c:568 eelf32or1k.c:341
-#: eelf32or1k_linux.c:341 eelf32ppc.c:557 eelf32ppc_fbsd.c:557
-#: eelf32ppclinux.c:557 eelf32ppcnto.c:557 eelf32ppcsim.c:557
-#: eelf32ppcvxworks.c:531 eelf32ppcwindiss.c:557 eelf32rl78.c:341
-#: eelf32rx.c:357 eelf32tilegx.c:341 eelf32tilegx_be.c:341 eelf32tilepro.c:341
-#: eelf32vax.c:341 eelf32visium.c:341 eelf32xc16x.c:341 eelf32xc16xl.c:341
-#: eelf32xc16xs.c:341 eelf32xstormy16.c:352 eelf32xtensa.c:2228
-#: eelf64_aix.c:341 eelf64_ia64.c:365 eelf64_ia64_fbsd.c:365 eelf64_s390.c:356
-#: eelf64_sparc.c:341 eelf64_sparc_fbsd.c:341 eelf64_sparc_sol2.c:472
-#: eelf64alpha.c:424 eelf64alpha_fbsd.c:424 eelf64alpha_nbsd.c:424
-#: eelf64bmip.c:586 eelf64btsmip.c:568 eelf64btsmip_fbsd.c:568 eelf64hppa.c:341
-#: eelf64lppc.c:1003 eelf64lriscv.c:406 eelf64lriscv_lp64.c:406
-#: eelf64lriscv_lp64f.c:406 eelf64ltsmip.c:568 eelf64ltsmip_fbsd.c:568
-#: eelf64mmix.c:452 eelf64ppc.c:1003 eelf64ppc_fbsd.c:1003 eelf64rdos.c:341
-#: eelf64tilegx.c:341 eelf64tilegx_be.c:341 eelf_i386.c:344 eelf_i386_be.c:341
-#: eelf_i386_chaos.c:341 eelf_i386_fbsd.c:341 eelf_i386_ldso.c:341
-#: eelf_i386_nacl.c:341 eelf_i386_sol2.c:472 eelf_i386_vxworks.c:370
-#: eelf_iamcu.c:341 eelf_k1om.c:344 eelf_k1om_fbsd.c:341 eelf_l1om.c:344
-#: eelf_l1om_fbsd.c:341 eelf_s390.c:341 eelf_x86_64.c:344
-#: eelf_x86_64_cloudabi.c:341 eelf_x86_64_fbsd.c:341 eelf_x86_64_nacl.c:341
-#: eelf_x86_64_sol2.c:472 eh8300elf.c:341 eh8300elf_linux.c:341
-#: eh8300helf.c:341 eh8300helf_linux.c:341 eh8300hnelf.c:341 eh8300self.c:341
-#: eh8300self_linux.c:341 eh8300snelf.c:341 eh8300sxelf.c:341
-#: eh8300sxelf_linux.c:341 eh8300sxnelf.c:341 ehppa64linux.c:341 ehppaelf.c:648
-#: ehppalinux.c:648 ehppanbsd.c:648 ehppaobsd.c:648 ei386lynx.c:341
-#: ei386moss.c:341 ei386nto.c:341 em32relf.c:341 em32relf_linux.c:341
-#: em32rlelf.c:341 em32rlelf_linux.c:341 em68hc11elf.c:641 em68hc11elfb.c:641
-#: em68hc12elf.c:641 em68hc12elfb.c:641 em68kelf.c:491 em68kelfnbsd.c:491
-#: em9s12zelf.c:341 emn10300.c:341 ends32belf.c:448 ends32belf16m.c:448
-#: ends32belf_linux.c:448 ends32elf.c:448 ends32elf16m.c:448
-#: ends32elf_linux.c:448 enios2elf.c:634 enios2linux.c:634 eppclynx.c:557
-#: epruelf.c:361 escore3_elf.c:361 escore7_elf.c:361 eshelf.c:341
-#: eshelf_fd.c:341 eshelf_linux.c:341 eshelf_nbsd.c:341 eshelf_nto.c:341
-#: eshelf_uclinux.c:341 eshelf_vxworks.c:370 eshlelf.c:341 eshlelf_fd.c:341
-#: eshlelf_linux.c:341 eshlelf_nbsd.c:341 eshlelf_nto.c:341
-#: eshlelf_vxworks.c:370 ev850.c:387 ev850_rh850.c:387
-#, c-format
-msgid "attempt to open %s failed\n"
-msgstr ""
-
-#: ldfile.c:134
+#: ldfile.c:135
 #, c-format
 msgid "attempt to open %s succeeded\n"
 msgstr ""
 
-#: ldfile.c:140
+#: ldfile.c:141
 msgid "%F%P: invalid BFD target `%s'\n"
 msgstr ""
 
-#: ldfile.c:265 ldfile.c:295
+#: ldfile.c:266 ldfile.c:296
 msgid "%P: skipping incompatible %s when searching for %s\n"
 msgstr ""
 
-#: ldfile.c:278
+#: ldfile.c:279
 msgid "%F%P: attempted static link of dynamic object `%s'\n"
 msgstr ""
 
-#: ldfile.c:405
+#: ldfile.c:406
 msgid "%P: cannot find %s (%s): %E\n"
 msgstr ""
 
-#: ldfile.c:408
+#: ldfile.c:409
 msgid "%P: cannot find %s: %E\n"
 msgstr ""
 
-#: ldfile.c:443
+#: ldfile.c:444
 msgid "%P: cannot find %s inside %s\n"
 msgstr ""
 
-#: ldfile.c:446
+#: ldfile.c:447
 msgid "%P: cannot find %s\n"
 msgstr ""
 
-#: ldfile.c:468
+#: ldfile.c:469
 #, c-format
 msgid "cannot find script file %s\n"
 msgstr ""
 
-#: ldfile.c:470
+#: ldfile.c:471
 #, c-format
 msgid "opened script file %s\n"
 msgstr ""
 
-#: ldfile.c:601
+#: ldfile.c:620
+msgid "%F%P: error: linker script file '%s' appears multiple times\n"
+msgstr ""
+
+#: ldfile.c:642
 msgid "%F%P: cannot open linker script file %s: %E\n"
 msgstr ""
 
-#: ldfile.c:666
+#: ldfile.c:713
 msgid "%F%P: cannot represent machine `%s'\n"
 msgstr ""
 
-#: ldlang.c:1334
+#: ldlang.c:1339
 msgid "%P:%pS: warning: redeclaration of memory region `%s'\n"
 msgstr ""
 
-#: ldlang.c:1340
+#: ldlang.c:1345
 msgid "%P:%pS: warning: memory region `%s' not declared\n"
 msgstr ""
 
-#: ldlang.c:1377
+#: ldlang.c:1381
 msgid "%F%P:%pS: error: alias for default memory region\n"
 msgstr ""
 
-#: ldlang.c:1388
+#: ldlang.c:1392
 msgid "%F%P:%pS: error: redefinition of memory region alias `%s'\n"
 msgstr ""
 
-#: ldlang.c:1395
+#: ldlang.c:1399
 msgid "%F%P:%pS: error: memory region `%s' for alias `%s' does not exist\n"
 msgstr ""
 
-#: ldlang.c:1454 ldlang.c:1493
+#: ldlang.c:1458 ldlang.c:1497
 msgid "%F%P: failed creating section `%s': %E\n"
 msgstr ""
 
@@ -359,7 +409,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ldlang.c:2261
+#: ldlang.c:2262
 #, c-format
 msgid ""
 "\n"
@@ -367,30 +417,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ldlang.c:2269
+#: ldlang.c:2270
 msgid ""
 "\n"
 "Memory Configuration\n"
 "\n"
 msgstr ""
 
-#: ldlang.c:2271
+#: ldlang.c:2272
 msgid "Name"
 msgstr ""
 
-#: ldlang.c:2271
+#: ldlang.c:2272
 msgid "Origin"
 msgstr ""
 
-#: ldlang.c:2271
+#: ldlang.c:2272
 msgid "Length"
 msgstr ""
 
-#: ldlang.c:2271
+#: ldlang.c:2272
 msgid "Attributes"
 msgstr ""
 
-#: ldlang.c:2311
+#: ldlang.c:2312
 #, c-format
 msgid ""
 "\n"
@@ -398,586 +448,534 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ldlang.c:2364
+#: ldlang.c:2365
 msgid "%F%P: illegal use of `%s' section\n"
 msgstr ""
 
-#: ldlang.c:2373
+#: ldlang.c:2374
 msgid "%F%P: output format %s cannot represent section called %s: %E\n"
 msgstr ""
 
-#: ldlang.c:2974
+#: ldlang.c:2993
 msgid "%P: %pB: file not recognized: %E; matching formats:"
 msgstr ""
 
-#: ldlang.c:2982
+#: ldlang.c:3001
 msgid "%F%P: %pB: file not recognized: %E\n"
 msgstr ""
 
-#: ldlang.c:3053
+#: ldlang.c:3072
 msgid "%F%P: %pB: member %pB in archive is not an object\n"
 msgstr ""
 
-#: ldlang.c:3068 ldlang.c:3082 eaarch64cloudabi.c:776 eaarch64cloudabib.c:776
-#: eaarch64elf.c:776 eaarch64elf32.c:776 eaarch64elf32b.c:776
-#: eaarch64elfb.c:776 eaarch64fbsd.c:776 eaarch64fbsdb.c:776
-#: eaarch64linux.c:776 eaarch64linux32.c:776 eaarch64linux32b.c:776
-#: eaarch64linuxb.c:776 earcelf.c:461 earcelf_prof.c:461 earclinux.c:463
-#: earclinux_nps.c:463 earclinux_prof.c:463 earcv2elf.c:461 earcv2elfx.c:461
-#: earmelf.c:996 earmelf_fbsd.c:996 earmelf_fuchsia.c:996 earmelf_linux.c:996
-#: earmelf_linux_eabi.c:996 earmelf_linux_fdpiceabi.c:996 earmelf_nacl.c:996
-#: earmelf_nbsd.c:996 earmelf_phoenix.c:996 earmelf_vxworks.c:1026
-#: earmelfb.c:996 earmelfb_fbsd.c:996 earmelfb_fuchsia.c:996
-#: earmelfb_linux.c:996 earmelfb_linux_eabi.c:996
-#: earmelfb_linux_fdpiceabi.c:996 earmelfb_nacl.c:996 earmelfb_nbsd.c:996
-#: earmnto.c:996 earmsymbian.c:996 eavr1.c:664 eavr2.c:664 eavr25.c:664
-#: eavr3.c:664 eavr31.c:664 eavr35.c:664 eavr4.c:664 eavr5.c:664 eavr51.c:664
-#: eavr6.c:664 eavrtiny.c:664 eavrxmega1.c:664 eavrxmega2.c:664
-#: eavrxmega3.c:664 eavrxmega4.c:664 eavrxmega5.c:664 eavrxmega6.c:664
-#: eavrxmega7.c:664 ecriself.c:461 ecrislinux.c:461 ecskyelf.c:718
-#: ecskyelf_linux.c:718 ed10velf.c:461 eelf32_sparc.c:461
-#: eelf32_sparc_sol2.c:592 eelf32_sparc_vxworks.c:490 eelf32_spu.c:1131
-#: eelf32_tic6x_be.c:599 eelf32_tic6x_elf_be.c:599 eelf32_tic6x_elf_le.c:599
-#: eelf32_tic6x_le.c:599 eelf32_tic6x_linux_be.c:599
-#: eelf32_tic6x_linux_le.c:599 eelf32_x86_64.c:464 eelf32_x86_64_nacl.c:461
-#: eelf32am33lin.c:461 eelf32b4300.c:688 eelf32bfin.c:470 eelf32bfinfd.c:470
-#: eelf32bmip.c:688 eelf32bmipn32.c:706 eelf32bsmip.c:706 eelf32btsmip.c:688
-#: eelf32btsmip_fbsd.c:688 eelf32btsmipn32.c:688 eelf32btsmipn32_fbsd.c:688
-#: eelf32cr16.c:612 eelf32cr16c.c:461 eelf32crx.c:500 eelf32ebmip.c:688
-#: eelf32ebmipvxworks.c:717 eelf32elmip.c:688 eelf32elmipvxworks.c:717
-#: eelf32epiphany.c:461 eelf32epiphany_4x4.c:463 eelf32frvfd.c:461
-#: eelf32ip2k.c:461 eelf32l4300.c:688 eelf32lm32.c:461 eelf32lm32fd.c:461
-#: eelf32lmip.c:688 eelf32lppc.c:677 eelf32lppclinux.c:677 eelf32lppcnto.c:677
-#: eelf32lppcsim.c:677 eelf32lr5900.c:688 eelf32lr5900n32.c:688
-#: eelf32lriscv.c:526 eelf32lriscv_ilp32.c:526 eelf32lriscv_ilp32f.c:526
-#: eelf32lsmip.c:688 eelf32ltsmip.c:688 eelf32ltsmip_fbsd.c:688
-#: eelf32ltsmipn32.c:688 eelf32ltsmipn32_fbsd.c:688 eelf32m32c.c:472
-#: eelf32mb_linux.c:461 eelf32mbel_linux.c:461 eelf32mcore.c:461
-#: eelf32mep.c:461 eelf32metag.c:736 eelf32microblaze.c:461
-#: eelf32microblazeel.c:461 eelf32mipswindiss.c:688 eelf32or1k.c:461
-#: eelf32or1k_linux.c:461 eelf32ppc.c:677 eelf32ppc_fbsd.c:677
-#: eelf32ppclinux.c:677 eelf32ppcnto.c:677 eelf32ppcsim.c:677
-#: eelf32ppcvxworks.c:651 eelf32ppcwindiss.c:677 eelf32rl78.c:461
-#: eelf32rx.c:477 eelf32tilegx.c:461 eelf32tilegx_be.c:461 eelf32tilepro.c:461
-#: eelf32vax.c:461 eelf32visium.c:461 eelf32xc16x.c:461 eelf32xc16xl.c:461
-#: eelf32xc16xs.c:461 eelf32xstormy16.c:472 eelf32xtensa.c:2348
-#: eelf64_aix.c:461 eelf64_ia64.c:485 eelf64_ia64_fbsd.c:485 eelf64_s390.c:476
-#: eelf64_sparc.c:461 eelf64_sparc_fbsd.c:461 eelf64_sparc_sol2.c:592
-#: eelf64alpha.c:544 eelf64alpha_fbsd.c:544 eelf64alpha_nbsd.c:544
-#: eelf64bmip.c:706 eelf64btsmip.c:688 eelf64btsmip_fbsd.c:688 eelf64hppa.c:461
-#: eelf64lppc.c:1123 eelf64lriscv.c:526 eelf64lriscv_lp64.c:526
-#: eelf64lriscv_lp64f.c:526 eelf64ltsmip.c:688 eelf64ltsmip_fbsd.c:688
-#: eelf64mmix.c:572 eelf64ppc.c:1123 eelf64ppc_fbsd.c:1123 eelf64rdos.c:461
-#: eelf64tilegx.c:461 eelf64tilegx_be.c:461 eelf_i386.c:464 eelf_i386_be.c:461
-#: eelf_i386_chaos.c:461 eelf_i386_fbsd.c:461 eelf_i386_ldso.c:461
-#: eelf_i386_nacl.c:461 eelf_i386_sol2.c:592 eelf_i386_vxworks.c:490
-#: eelf_iamcu.c:461 eelf_k1om.c:464 eelf_k1om_fbsd.c:461 eelf_l1om.c:464
-#: eelf_l1om_fbsd.c:461 eelf_s390.c:461 eelf_x86_64.c:464
-#: eelf_x86_64_cloudabi.c:461 eelf_x86_64_fbsd.c:461 eelf_x86_64_nacl.c:461
-#: eelf_x86_64_sol2.c:592 eh8300elf.c:461 eh8300elf_linux.c:461
-#: eh8300helf.c:461 eh8300helf_linux.c:461 eh8300hnelf.c:461 eh8300self.c:461
-#: eh8300self_linux.c:461 eh8300snelf.c:461 eh8300sxelf.c:461
-#: eh8300sxelf_linux.c:461 eh8300sxnelf.c:461 ehppa64linux.c:461 ehppaelf.c:768
-#: ehppalinux.c:768 ehppanbsd.c:768 ehppaobsd.c:768 ei386lynx.c:461
-#: ei386moss.c:461 ei386nto.c:461 em32relf.c:461 em32relf_linux.c:461
-#: em32rlelf.c:461 em32rlelf_linux.c:461 em68hc11elf.c:761 em68hc11elfb.c:761
-#: em68hc12elf.c:761 em68hc12elfb.c:761 em68kelf.c:611 em68kelfnbsd.c:611
-#: em9s12zelf.c:461 emn10300.c:461 ends32belf.c:568 ends32belf16m.c:568
-#: ends32belf_linux.c:568 ends32elf.c:568 ends32elf16m.c:568
-#: ends32elf_linux.c:568 enios2elf.c:754 enios2linux.c:754 eppclynx.c:677
-#: epruelf.c:481 escore3_elf.c:481 escore7_elf.c:481 eshelf.c:461
-#: eshelf_fd.c:461 eshelf_linux.c:461 eshelf_nbsd.c:461 eshelf_nto.c:461
-#: eshelf_uclinux.c:461 eshelf_vxworks.c:490 eshlelf.c:461 eshlelf_fd.c:461
-#: eshlelf_linux.c:461 eshlelf_nbsd.c:461 eshlelf_nto.c:461
-#: eshlelf_vxworks.c:490 ev850.c:507 ev850_rh850.c:507
-msgid "%F%P: %pB: error adding symbols: %E\n"
-msgstr ""
-
-#: ldlang.c:3356
+#: ldlang.c:3375
 msgid ""
 "%P: warning: could not find any targets that match endianness requirement\n"
 msgstr ""
 
-#: ldlang.c:3370
+#: ldlang.c:3389
 msgid "%F%P: target %s not found\n"
 msgstr ""
 
-#: ldlang.c:3372
+#: ldlang.c:3391
 msgid "%F%P: cannot open output file %s: %E\n"
 msgstr ""
 
-#: ldlang.c:3378
+#: ldlang.c:3397
 msgid "%F%P: %s: can not make object file: %E\n"
 msgstr ""
 
-#: ldlang.c:3382
+#: ldlang.c:3401
 msgid "%F%P: %s: can not set architecture: %E\n"
 msgstr ""
 
-#: ldlang.c:3541
+#: ldlang.c:3581
 msgid "%P: warning: %s contains output sections; did you forget -T?\n"
 msgstr ""
 
-#: ldlang.c:3680
+#: ldlang.c:3637
+msgid ""
+"%P: warning: CTF section in `%pI' not loaded: its types will be discarded: `"
+"%s'\n"
+msgstr ""
+
+#: ldlang.c:3662
+msgid "%P: warning: CTF output not created: `s'\n"
+msgstr ""
+
+#: ldlang.c:3704
+msgid "%F%P: cannot link with CTF in %pB: %s\n"
+msgstr ""
+
+#: ldlang.c:3714
+msgid "%F%P: CTF linking failed; output will have no CTF section: %s\n"
+msgstr ""
+
+#: ldlang.c:3770
+msgid ""
+"%F%P: CTF section emission failed; output will have no CTF section: %s\n"
+msgstr ""
+
+#: ldlang.c:3900
 msgid "%X%P: required symbol `%s' not defined\n"
 msgstr ""
 
-#: ldlang.c:3970
+#: ldlang.c:4206
 msgid "%F%P: %s not found for insert\n"
 msgstr ""
 
-#: ldlang.c:4211
+#: ldlang.c:4446
 msgid " load address 0x%V"
 msgstr ""
 
-#: ldlang.c:4447
+#: ldlang.c:4679
 msgid "%W (size before relaxing)\n"
 msgstr ""
 
-#: ldlang.c:4540
+#: ldlang.c:4772
 #, c-format
 msgid "Address of section %s set to "
 msgstr ""
 
-#: ldlang.c:4738
+#: ldlang.c:4970
 #, c-format
 msgid "Fail with %d\n"
 msgstr ""
 
-#: ldlang.c:5012
+#: ldlang.c:5243
 msgid "%X%P: section %s VMA wraps around address space\n"
 msgstr ""
 
-#: ldlang.c:5018
+#: ldlang.c:5249
 msgid "%X%P: section %s LMA wraps around address space\n"
 msgstr ""
 
-#: ldlang.c:5069
+#: ldlang.c:5301
 msgid "%X%P: section %s LMA [%V,%V] overlaps section %s LMA [%V,%V]\n"
 msgstr ""
 
-#: ldlang.c:5112
+#: ldlang.c:5345
 msgid "%X%P: section %s VMA [%V,%V] overlaps section %s VMA [%V,%V]\n"
 msgstr ""
 
-#: ldlang.c:5135
+#: ldlang.c:5368
 msgid "%X%P: region `%s' overflowed by %lu byte\n"
 msgid_plural "%X%P: region `%s' overflowed by %lu bytes\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ldlang.c:5160
+#: ldlang.c:5393
 msgid "%X%P: address 0x%v of %pB section `%s' is not within region `%s'\n"
 msgstr ""
 
-#: ldlang.c:5171
+#: ldlang.c:5404
 msgid "%X%P: %pB section `%s' will not fit in region `%s'\n"
 msgstr ""
 
-#: ldlang.c:5252
+#: ldlang.c:5486
 msgid ""
 "%F%P:%pS: non constant or forward reference address expression for section "
 "%s\n"
 msgstr ""
 
-#: ldlang.c:5277
+#: ldlang.c:5511
 msgid "%X%P: internal error on COFF shared library section %s\n"
 msgstr ""
 
-#: ldlang.c:5336
+#: ldlang.c:5569
 msgid "%F%P: error: no memory region specified for loadable section `%s'\n"
 msgstr ""
 
-#: ldlang.c:5341
+#: ldlang.c:5573
 msgid "%P: warning: no memory region specified for loadable section `%s'\n"
 msgstr ""
 
-#: ldlang.c:5365
+#: ldlang.c:5596
 msgid "%P: warning: changing start of section %s by %lu byte\n"
 msgid_plural "%P: warning: changing start of section %s by %lu bytes\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ldlang.c:5460
+#: ldlang.c:5691
 msgid "%P: warning: dot moved backwards before `%s'\n"
 msgstr ""
 
-#: ldlang.c:5639
+#: ldlang.c:5872
 msgid "%F%P: can't relax section: %E\n"
 msgstr ""
 
-#: ldlang.c:6021
+#: ldlang.c:6255
 msgid "%F%P: invalid data statement\n"
 msgstr ""
 
-#: ldlang.c:6054
+#: ldlang.c:6288
 msgid "%F%P: invalid reloc statement\n"
 msgstr ""
 
-#: ldlang.c:6408
+#: ldlang.c:6642
 msgid "%F%P: gc-sections requires either an entry or an undefined symbol\n"
 msgstr ""
 
-#: ldlang.c:6433
+#: ldlang.c:6666
 msgid "%F%P: %s: can't set start address\n"
 msgstr ""
 
-#: ldlang.c:6446 ldlang.c:6465
+#: ldlang.c:6679 ldlang.c:6697
 msgid "%F%P: can't set start address\n"
 msgstr ""
 
-#: ldlang.c:6458
+#: ldlang.c:6691
 msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
 msgstr ""
 
-#: ldlang.c:6470
+#: ldlang.c:6702
 msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
 msgstr ""
 
-#: ldlang.c:6524
+#: ldlang.c:6758
 msgid ""
 "%F%P: relocatable linking with relocations from format %s (%pB) to format %s "
 "(%pB) is not supported\n"
 msgstr ""
 
-#: ldlang.c:6534
+#: ldlang.c:6768
 msgid ""
 "%X%P: %s architecture of input file `%pB' is incompatible with %s output\n"
 msgstr ""
 
-#: ldlang.c:6556
+#: ldlang.c:6790
 msgid "%X%P: failed to merge target specific data of file %pB\n"
 msgstr ""
 
-#: ldlang.c:6627
+#: ldlang.c:6861
 msgid "%F%P: could not define common symbol `%pT': %E\n"
 msgstr ""
 
-#: ldlang.c:6639
+#: ldlang.c:6873
 msgid ""
 "\n"
 "Allocating common symbols\n"
 msgstr ""
 
-#: ldlang.c:6640
+#: ldlang.c:6874
 msgid ""
 "Common symbol       size              file\n"
 "\n"
 msgstr ""
 
-#: ldlang.c:6714
+#: ldlang.c:6948
 msgid "%X%P: error: unplaced orphan section `%pA' from `%pB'\n"
 msgstr ""
 
-#: ldlang.c:6732
+#: ldlang.c:6966
 msgid ""
 "%P: warning: orphan section `%pA' from `%pB' being placed in section `%s'\n"
 msgstr ""
 
-#: ldlang.c:6823
+#: ldlang.c:7057
 msgid "%F%P: invalid character %c (%d) in flags\n"
 msgstr ""
 
-#: ldlang.c:6931
+#: ldlang.c:7165
 msgid "%F%P:%pS: error: align with input and explicit align specified\n"
 msgstr ""
 
-#: ldlang.c:7404
+#: ldlang.c:7671
 msgid "%F%P: %s: plugin reported error after all symbols read\n"
 msgstr ""
 
-#: ldlang.c:7809
+#: ldlang.c:8106
 msgid "%F%P: multiple STARTUP files\n"
 msgstr ""
 
-#: ldlang.c:7855
+#: ldlang.c:8152
 msgid "%X%P:%pS: section has both a load address and a load region\n"
 msgstr ""
 
-#: ldlang.c:7970
+#: ldlang.c:8258
 msgid ""
 "%X%P:%pS: PHDRS and FILEHDR are not supported when prior PT_LOAD headers "
 "lack them\n"
 msgstr ""
 
-#: ldlang.c:8043
+#: ldlang.c:8331
 msgid "%F%P: no sections assigned to phdrs\n"
 msgstr ""
 
-#: ldlang.c:8081
+#: ldlang.c:8369
 msgid "%F%P: bfd_record_phdr failed: %E\n"
 msgstr ""
 
-#: ldlang.c:8101
+#: ldlang.c:8389
 msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
 msgstr ""
 
-#: ldlang.c:8524
+#: ldlang.c:8812
 msgid "%X%P: unknown language `%s' in version information\n"
 msgstr ""
 
-#: ldlang.c:8669
+#: ldlang.c:8957
 msgid ""
 "%X%P: anonymous version tag cannot be combined with other version tags\n"
 msgstr ""
 
-#: ldlang.c:8678
+#: ldlang.c:8966
 msgid "%X%P: duplicate version tag `%s'\n"
 msgstr ""
 
-#: ldlang.c:8699 ldlang.c:8708 ldlang.c:8726 ldlang.c:8736
+#: ldlang.c:8987 ldlang.c:8996 ldlang.c:9014 ldlang.c:9024
 msgid "%X%P: duplicate expression `%s' in version information\n"
 msgstr ""
 
-#: ldlang.c:8776
+#: ldlang.c:9064
 msgid "%X%P: unable to find version dependency `%s'\n"
 msgstr ""
 
-#: ldlang.c:8799
+#: ldlang.c:9087
 msgid "%X%P: unable to read .exports section contents\n"
 msgstr ""
 
-#: ldlang.c:8837
+#: ldlang.c:9125
 msgid "%F%P: invalid origin for memory region %s\n"
 msgstr ""
 
-#: ldlang.c:8846
+#: ldlang.c:9134
 msgid "%F%P: invalid length for memory region %s\n"
 msgstr ""
 
-#: ldlang.c:8956
+#: ldlang.c:9244
 msgid "%X%P: unknown feature `%s'\n"
 msgstr ""
 
-#: ldmain.c:213
+#: ldmain.c:216
 msgid "%F%P: fatal error: libbfd ABI mismatch\n"
 msgstr ""
 
-#: ldmain.c:249
+#: ldmain.c:252
 msgid "%X%P: can't set BFD default target to `%s': %E\n"
 msgstr ""
 
-#: ldmain.c:348
+#: ldmain.c:352
 msgid "built in linker script"
 msgstr ""
 
-#: ldmain.c:358
+#: ldmain.c:362
 msgid "using external linker script:"
 msgstr ""
 
-#: ldmain.c:360
+#: ldmain.c:364
 msgid "using internal linker script:"
 msgstr ""
 
-#: ldmain.c:407
+#: ldmain.c:411
 msgid "%F%P: --no-define-common may not be used without -shared\n"
 msgstr ""
 
-#: ldmain.c:413
+#: ldmain.c:417
 msgid "%F%P: no input files\n"
 msgstr ""
 
-#: ldmain.c:417
+#: ldmain.c:421
 msgid "%P: mode %s\n"
 msgstr ""
 
-#: ldmain.c:433 ends32belf.c:2137 ends32belf16m.c:2137 ends32belf_linux.c:2266
-#: ends32elf.c:2137 ends32elf16m.c:2137 ends32elf_linux.c:2266
+#: ldmain.c:437 ends32belf.c:406 ends32belf16m.c:406 ends32belf_linux.c:535
+#: ends32elf.c:406 ends32elf16m.c:406 ends32elf_linux.c:535
 msgid "%F%P: cannot open map file %s: %E\n"
 msgstr ""
 
-#: ldmain.c:483
+#: ldmain.c:487
 msgid "%P: link errors found, deleting executable `%s'\n"
 msgstr ""
 
-#: ldmain.c:492
+#: ldmain.c:496
 msgid "%F%P: %pB: final close failed: %E\n"
 msgstr ""
 
-#: ldmain.c:519
+#: ldmain.c:523
 msgid "%F%P: unable to open for source of copy `%s'\n"
 msgstr ""
 
-#: ldmain.c:522
+#: ldmain.c:526
 msgid "%F%P: unable to open for destination of copy `%s'\n"
 msgstr ""
 
-#: ldmain.c:529
+#: ldmain.c:533
 msgid "%P: error writing file `%s'\n"
 msgstr ""
 
-#: ldmain.c:534 pe-dll.c:1925
+#: ldmain.c:538 pe-dll.c:1939
 #, c-format
 msgid "%P: error closing file `%s'\n"
 msgstr ""
 
-#: ldmain.c:548
+#: ldmain.c:552
 #, c-format
 msgid "%s: total time in link: %ld.%06ld\n"
 msgstr ""
 
-#: ldmain.c:635
+#: ldmain.c:639
 msgid "%F%P: missing argument to -m\n"
 msgstr ""
 
-#: ldmain.c:685 ldmain.c:702 ldmain.c:722 ldmain.c:754 pe-dll.c:1377
+#: ldmain.c:689 ldmain.c:706 ldmain.c:726 ldmain.c:758 pe-dll.c:1385
 msgid "%F%P: bfd_hash_table_init failed: %E\n"
 msgstr ""
 
-#: ldmain.c:689 ldmain.c:706 ldmain.c:726
+#: ldmain.c:693 ldmain.c:710 ldmain.c:730
 msgid "%F%P: bfd_hash_lookup failed: %E\n"
 msgstr ""
 
-#: ldmain.c:740
+#: ldmain.c:744
 msgid "%X%P: error: duplicate retain-symbols-file\n"
 msgstr ""
 
-#: ldmain.c:784
+#: ldmain.c:788
 msgid "%F%P: bfd_hash_lookup for insertion failed: %E\n"
 msgstr ""
 
-#: ldmain.c:789
+#: ldmain.c:793
 msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
 msgstr ""
 
-#: ldmain.c:892
+#: ldmain.c:896
 msgid ""
 "Archive member included to satisfy reference by file (symbol)\n"
 "\n"
 msgstr ""
 
-#: ldmain.c:1001
+#: ldmain.c:1005
 msgid "%X%P: %C: multiple definition of `%pT'"
 msgstr ""
 
-#: ldmain.c:1004
+#: ldmain.c:1008
 msgid "; %D: first defined here"
 msgstr ""
 
-#: ldmain.c:1009
+#: ldmain.c:1013
 msgid "%P: disabling relaxation; it will not work with multiple definitions\n"
 msgstr ""
 
-#: ldmain.c:1062
+#: ldmain.c:1066
 msgid "%P: %pB: warning: definition of `%pT' overriding common from %pB\n"
 msgstr ""
 
-#: ldmain.c:1066
+#: ldmain.c:1070
 msgid "%P: %pB: warning: definition of `%pT' overriding common\n"
 msgstr ""
 
-#: ldmain.c:1075
+#: ldmain.c:1079
 msgid "%P: %pB: warning: common of `%pT' overridden by definition from %pB\n"
 msgstr ""
 
-#: ldmain.c:1079
+#: ldmain.c:1083
 msgid "%P: %pB: warning: common of `%pT' overridden by definition\n"
 msgstr ""
 
-#: ldmain.c:1088
+#: ldmain.c:1092
 msgid ""
 "%P: %pB: warning: common of `%pT' overridden by larger common from %pB\n"
 msgstr ""
 
-#: ldmain.c:1092
+#: ldmain.c:1096
 msgid "%P: %pB: warning: common of `%pT' overridden by larger common\n"
 msgstr ""
 
-#: ldmain.c:1099
+#: ldmain.c:1103
 msgid "%P: %pB: warning: common of `%pT' overriding smaller common from %pB\n"
 msgstr ""
 
-#: ldmain.c:1103
+#: ldmain.c:1107
 msgid "%P: %pB: warning: common of `%pT' overriding smaller common\n"
 msgstr ""
 
-#: ldmain.c:1110
+#: ldmain.c:1114
 msgid "%P: %pB and %pB: warning: multiple common of `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1113
+#: ldmain.c:1117
 msgid "%P: %pB: warning: multiple common of `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1132 ldmain.c:1168
+#: ldmain.c:1136 ldmain.c:1172
 msgid "%P: warning: global constructor %s used\n"
 msgstr ""
 
-#: ldmain.c:1178
+#: ldmain.c:1182
 msgid "%F%P: BFD backend error: BFD_RELOC_CTOR unsupported\n"
 msgstr ""
 
 #. We found a reloc for the symbol we are looking for.
-#: ldmain.c:1250 ldmain.c:1252 ldmain.c:1254 ldmain.c:1262 ldmain.c:1305
+#: ldmain.c:1254 ldmain.c:1256 ldmain.c:1258 ldmain.c:1266 ldmain.c:1309
 msgid "warning: "
 msgstr ""
 
-#: ldmain.c:1358
+#: ldmain.c:1362
 msgid "%X%P: %C: undefined reference to `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1361
+#: ldmain.c:1365
 msgid "%P: %C: warning: undefined reference to `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1367
+#: ldmain.c:1371
 msgid "%X%P: %D: more undefined references to `%pT' follow\n"
 msgstr ""
 
-#: ldmain.c:1370
+#: ldmain.c:1374
 msgid "%P: %D: warning: more undefined references to `%pT' follow\n"
 msgstr ""
 
-#: ldmain.c:1381
+#: ldmain.c:1385
 msgid "%X%P: %pB: undefined reference to `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1384
+#: ldmain.c:1388
 msgid "%P: %pB: warning: undefined reference to `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1390
+#: ldmain.c:1394
 msgid "%X%P: %pB: more undefined references to `%pT' follow\n"
 msgstr ""
 
-#: ldmain.c:1393
+#: ldmain.c:1397
 msgid "%P: %pB: warning: more undefined references to `%pT' follow\n"
 msgstr ""
 
-#: ldmain.c:1430
+#: ldmain.c:1434
 msgid " additional relocation overflows omitted from the output\n"
 msgstr ""
 
-#: ldmain.c:1443
+#: ldmain.c:1447
 #, c-format
 msgid " relocation truncated to fit: %s against undefined symbol `%pT'"
 msgstr ""
 
-#: ldmain.c:1449
+#: ldmain.c:1453
 #, c-format
 msgid ""
 " relocation truncated to fit: %s against symbol `%pT' defined in %pA section "
 "in %pB"
 msgstr ""
 
-#: ldmain.c:1462
+#: ldmain.c:1466
 #, c-format
 msgid " relocation truncated to fit: %s against `%pT'"
 msgstr ""
 
-#: ldmain.c:1478
+#: ldmain.c:1482
 msgid "%X%H: dangerous relocation: %s\n"
 msgstr ""
 
-#: ldmain.c:1492
+#: ldmain.c:1496
 msgid "%X%H: reloc refers to symbol `%pT' which is not being output\n"
 msgstr ""
 
-#: ldmain.c:1526
+#: ldmain.c:1530
 msgid "%P: %pB: reference to %s\n"
 msgstr ""
 
-#: ldmain.c:1528
+#: ldmain.c:1532
 msgid "%P: %pB: definition of %s\n"
 msgstr ""
 
@@ -986,39 +984,39 @@ msgstr ""
 msgid "%pB: in function `%pT':\n"
 msgstr ""
 
-#: ldmisc.c:525
+#: ldmisc.c:518
 #, c-format
 msgid "no symbol"
 msgstr ""
 
-#: ldmisc.c:632
+#: ldmisc.c:625
 msgid "%F%P: internal error %s %d\n"
 msgstr ""
 
-#: ldmisc.c:696
+#: ldmisc.c:689
 msgid "%P: internal error: aborting at %s:%d in %s\n"
 msgstr ""
 
-#: ldmisc.c:699
+#: ldmisc.c:692
 msgid "%P: internal error: aborting at %s:%d\n"
 msgstr ""
 
-#: ldmisc.c:701
+#: ldmisc.c:694
 msgid "%F%P: please report this bug\n"
 msgstr ""
 
 #. Output for noisy == 2 is intended to follow the GNU standards.
-#: ldver.c:37
+#: ldver.c:38
 #, c-format
 msgid "GNU ld %s\n"
 msgstr ""
 
-#: ldver.c:41
+#: ldver.c:42
 #, c-format
-msgid "Copyright (C) 2019 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2020 Free Software Foundation, Inc.\n"
 msgstr ""
 
-#: ldver.c:42
+#: ldver.c:43
 #, c-format
 msgid ""
 "This program is free software; you may redistribute it under the terms of\n"
@@ -1027,666 +1025,666 @@ msgid ""
 "This program has absolutely no warranty.\n"
 msgstr ""
 
-#: ldver.c:52
+#: ldver.c:53
 #, c-format
 msgid "  Supported emulations:\n"
 msgstr ""
 
-#: ldwrite.c:60 ldwrite.c:206 ldwrite.c:258 ldwrite.c:299
+#: ldwrite.c:60 ldwrite.c:170 ldwrite.c:222 ldwrite.c:263
 msgid "%F%P: bfd_new_link_order failed\n"
 msgstr ""
 
-#: ldwrite.c:368
+#: ldwrite.c:332
 msgid "%F%P: cannot create split section name for %s\n"
 msgstr ""
 
-#: ldwrite.c:380
+#: ldwrite.c:344
 msgid "%F%P: clone section failed: %E\n"
 msgstr ""
 
-#: ldwrite.c:418
+#: ldwrite.c:382
 #, c-format
 msgid "%8x something else\n"
 msgstr ""
 
-#: ldwrite.c:588
+#: ldwrite.c:552
 msgid "%F%P: final link failed: %E\n"
 msgstr ""
 
-#: lexsup.c:102 lexsup.c:276
+#: lexsup.c:103 lexsup.c:277
 msgid "KEYWORD"
 msgstr ""
 
-#: lexsup.c:102
+#: lexsup.c:103
 msgid "Shared library control for HP/UX compatibility"
 msgstr ""
 
-#: lexsup.c:105
+#: lexsup.c:106
 msgid "ARCH"
 msgstr ""
 
-#: lexsup.c:105
+#: lexsup.c:106
 msgid "Set architecture"
 msgstr ""
 
-#: lexsup.c:107 lexsup.c:403
+#: lexsup.c:108 lexsup.c:404
 msgid "TARGET"
 msgstr ""
 
-#: lexsup.c:107
+#: lexsup.c:108
 msgid "Specify target for following input files"
 msgstr ""
 
-#: lexsup.c:110 lexsup.c:167 lexsup.c:171 lexsup.c:202 lexsup.c:215
-#: lexsup.c:217 lexsup.c:357 lexsup.c:421 lexsup.c:488 lexsup.c:501
+#: lexsup.c:111 lexsup.c:168 lexsup.c:172 lexsup.c:203 lexsup.c:216
+#: lexsup.c:218 lexsup.c:358 lexsup.c:422 lexsup.c:489 lexsup.c:502
 msgid "FILE"
 msgstr ""
 
-#: lexsup.c:110
+#: lexsup.c:111
 msgid "Read MRI format linker script"
 msgstr ""
 
-#: lexsup.c:112
+#: lexsup.c:113
 msgid "Force common symbols to be defined"
 msgstr ""
 
-#: lexsup.c:117
+#: lexsup.c:118
 msgid "Force group members out of groups"
 msgstr ""
 
-#: lexsup.c:119 lexsup.c:465 lexsup.c:467 lexsup.c:469 lexsup.c:471
-#: lexsup.c:473 lexsup.c:475
+#: lexsup.c:120 lexsup.c:466 lexsup.c:468 lexsup.c:470 lexsup.c:472
+#: lexsup.c:474 lexsup.c:476
 msgid "ADDRESS"
 msgstr ""
 
-#: lexsup.c:119
+#: lexsup.c:120
 msgid "Set start address"
 msgstr ""
 
-#: lexsup.c:121
+#: lexsup.c:122
 msgid "Export all dynamic symbols"
 msgstr ""
 
-#: lexsup.c:123
+#: lexsup.c:124
 msgid "Undo the effect of --export-dynamic"
 msgstr ""
 
-#: lexsup.c:125
+#: lexsup.c:126
 msgid "Link big-endian objects"
 msgstr ""
 
-#: lexsup.c:127
+#: lexsup.c:128
 msgid "Link little-endian objects"
 msgstr ""
 
-#: lexsup.c:129 lexsup.c:132
+#: lexsup.c:130 lexsup.c:133
 msgid "SHLIB"
 msgstr ""
 
-#: lexsup.c:129
+#: lexsup.c:130
 msgid "Auxiliary filter for shared object symbol table"
 msgstr ""
 
-#: lexsup.c:132
+#: lexsup.c:133
 msgid "Filter for shared object symbol table"
 msgstr ""
 
-#: lexsup.c:135
+#: lexsup.c:136
 msgid "Ignored"
 msgstr ""
 
-#: lexsup.c:137
+#: lexsup.c:138
 msgid "SIZE"
 msgstr ""
 
-#: lexsup.c:137
+#: lexsup.c:138
 msgid "Small data size (if no size, same as --shared)"
 msgstr ""
 
-#: lexsup.c:140
+#: lexsup.c:141
 msgid "FILENAME"
 msgstr ""
 
-#: lexsup.c:140
+#: lexsup.c:141
 msgid "Set internal name of shared library"
 msgstr ""
 
-#: lexsup.c:142
+#: lexsup.c:143
 msgid "PROGRAM"
 msgstr ""
 
-#: lexsup.c:142
+#: lexsup.c:143
 msgid "Set PROGRAM as the dynamic linker to use"
 msgstr ""
 
-#: lexsup.c:145
+#: lexsup.c:146
 msgid "Produce an executable with no program interpreter header"
 msgstr ""
 
-#: lexsup.c:148
+#: lexsup.c:149
 msgid "LIBNAME"
 msgstr ""
 
-#: lexsup.c:148
+#: lexsup.c:149
 msgid "Search for library LIBNAME"
 msgstr ""
 
-#: lexsup.c:150
+#: lexsup.c:151
 msgid "DIRECTORY"
 msgstr ""
 
-#: lexsup.c:150
+#: lexsup.c:151
 msgid "Add DIRECTORY to library search path"
 msgstr ""
 
-#: lexsup.c:153
+#: lexsup.c:154
 msgid "Override the default sysroot location"
 msgstr ""
 
-#: lexsup.c:155
+#: lexsup.c:156
 msgid "EMULATION"
 msgstr ""
 
-#: lexsup.c:155
+#: lexsup.c:156
 msgid "Set emulation"
 msgstr ""
 
-#: lexsup.c:157
+#: lexsup.c:158
 msgid "Print map file on standard output"
 msgstr ""
 
-#: lexsup.c:159
+#: lexsup.c:160
 msgid "Do not page align data"
 msgstr ""
 
-#: lexsup.c:161
+#: lexsup.c:162
 msgid "Do not page align data, do not make text readonly"
 msgstr ""
 
-#: lexsup.c:164
+#: lexsup.c:165
 msgid "Page align data, make text readonly"
 msgstr ""
 
-#: lexsup.c:167
+#: lexsup.c:168
 msgid "Set output file name"
 msgstr ""
 
-#: lexsup.c:169
+#: lexsup.c:170
 msgid "Optimize output file"
 msgstr ""
 
-#: lexsup.c:171
+#: lexsup.c:172
 msgid "Generate import library"
 msgstr ""
 
-#: lexsup.c:174
+#: lexsup.c:175
 msgid "PLUGIN"
 msgstr ""
 
-#: lexsup.c:174
+#: lexsup.c:175
 msgid "Load named plugin"
 msgstr ""
 
-#: lexsup.c:176
+#: lexsup.c:177
 msgid "ARG"
 msgstr ""
 
-#: lexsup.c:176
+#: lexsup.c:177
 msgid "Send arg to last-loaded plugin"
 msgstr ""
 
-#: lexsup.c:178 lexsup.c:181
+#: lexsup.c:179 lexsup.c:182
 msgid "Ignored for GCC LTO option compatibility"
 msgstr ""
 
-#: lexsup.c:185
+#: lexsup.c:186
 msgid "Ignored for GCC linker option compatibility"
 msgstr ""
 
-#: lexsup.c:188 lexsup.c:191
+#: lexsup.c:189 lexsup.c:192
 msgid "Ignored for gold option compatibility"
 msgstr ""
 
-#: lexsup.c:194
+#: lexsup.c:195
 msgid "Ignored for SVR4 compatibility"
 msgstr ""
 
-#: lexsup.c:198
+#: lexsup.c:199
 msgid "Generate relocatable output"
 msgstr ""
 
-#: lexsup.c:202
+#: lexsup.c:203
 msgid "Just link symbols (if directory, same as --rpath)"
 msgstr ""
 
-#: lexsup.c:205
+#: lexsup.c:206
 msgid "Strip all symbols"
 msgstr ""
 
-#: lexsup.c:207
+#: lexsup.c:208
 msgid "Strip debugging symbols"
 msgstr ""
 
-#: lexsup.c:209
+#: lexsup.c:210
 msgid "Strip symbols in discarded sections"
 msgstr ""
 
-#: lexsup.c:211
+#: lexsup.c:212
 msgid "Do not strip symbols in discarded sections"
 msgstr ""
 
-#: lexsup.c:213
+#: lexsup.c:214
 msgid "Trace file opens"
 msgstr ""
 
-#: lexsup.c:215
+#: lexsup.c:216
 msgid "Read linker script"
 msgstr ""
 
-#: lexsup.c:217
+#: lexsup.c:218
 msgid "Read default linker script"
 msgstr ""
 
-#: lexsup.c:221 lexsup.c:224 lexsup.c:242 lexsup.c:331 lexsup.c:355
-#: lexsup.c:458 lexsup.c:491 lexsup.c:530 lexsup.c:533
+#: lexsup.c:222 lexsup.c:225 lexsup.c:243 lexsup.c:332 lexsup.c:356
+#: lexsup.c:459 lexsup.c:492 lexsup.c:531 lexsup.c:534
 msgid "SYMBOL"
 msgstr ""
 
-#: lexsup.c:221
+#: lexsup.c:222
 msgid "Start with undefined reference to SYMBOL"
 msgstr ""
 
-#: lexsup.c:224
+#: lexsup.c:225
 msgid "Require SYMBOL be defined in the final output"
 msgstr ""
 
-#: lexsup.c:227
+#: lexsup.c:228
 msgid "[=SECTION]"
 msgstr ""
 
-#: lexsup.c:228
+#: lexsup.c:229
 msgid "Don't merge input [SECTION | orphan] sections"
 msgstr ""
 
-#: lexsup.c:230
+#: lexsup.c:231
 msgid "Build global constructor/destructor tables"
 msgstr ""
 
-#: lexsup.c:232
+#: lexsup.c:233
 msgid "Print version information"
 msgstr ""
 
-#: lexsup.c:234
+#: lexsup.c:235
 msgid "Print version and emulation information"
 msgstr ""
 
-#: lexsup.c:236
+#: lexsup.c:237
 msgid "Discard all local symbols"
 msgstr ""
 
-#: lexsup.c:238
+#: lexsup.c:239
 msgid "Discard temporary local symbols (default)"
 msgstr ""
 
-#: lexsup.c:240
+#: lexsup.c:241
 msgid "Don't discard any local symbols"
 msgstr ""
 
-#: lexsup.c:242
+#: lexsup.c:243
 msgid "Trace mentions of SYMBOL"
 msgstr ""
 
-#: lexsup.c:244 lexsup.c:423 lexsup.c:425
+#: lexsup.c:245 lexsup.c:424 lexsup.c:426
 msgid "PATH"
 msgstr ""
 
-#: lexsup.c:244
+#: lexsup.c:245
 msgid "Default search path for Solaris compatibility"
 msgstr ""
 
-#: lexsup.c:247
+#: lexsup.c:248
 msgid "Start a group"
 msgstr ""
 
-#: lexsup.c:249
+#: lexsup.c:250
 msgid "End a group"
 msgstr ""
 
-#: lexsup.c:253
+#: lexsup.c:254
 msgid "Accept input files whose architecture cannot be determined"
 msgstr ""
 
-#: lexsup.c:257
+#: lexsup.c:258
 msgid "Reject input files whose architecture is unknown"
 msgstr ""
 
-#: lexsup.c:269
+#: lexsup.c:270
 msgid "Only set DT_NEEDED for following dynamic libs if used"
 msgstr ""
 
-#: lexsup.c:272
+#: lexsup.c:273
 msgid ""
 "Always set DT_NEEDED for dynamic libraries mentioned on\n"
 "                                the command line"
 msgstr ""
 
-#: lexsup.c:276
+#: lexsup.c:277
 msgid "Ignored for SunOS compatibility"
 msgstr ""
 
-#: lexsup.c:278
+#: lexsup.c:279
 msgid "Link against shared libraries"
 msgstr ""
 
-#: lexsup.c:284
+#: lexsup.c:285
 msgid "Do not link against shared libraries"
 msgstr ""
 
-#: lexsup.c:292
+#: lexsup.c:293
 msgid "Bind global references locally"
 msgstr ""
 
-#: lexsup.c:294
+#: lexsup.c:295
 msgid "Bind global function references locally"
 msgstr ""
 
-#: lexsup.c:296
+#: lexsup.c:297
 msgid "Check section addresses for overlaps (default)"
 msgstr ""
 
-#: lexsup.c:299
+#: lexsup.c:300
 msgid "Do not check section addresses for overlaps"
 msgstr ""
 
-#: lexsup.c:303
+#: lexsup.c:304
 msgid "Copy DT_NEEDED links mentioned inside DSOs that follow"
 msgstr ""
 
-#: lexsup.c:307
+#: lexsup.c:308
 msgid "Do not copy DT_NEEDED links mentioned inside DSOs that follow"
 msgstr ""
 
-#: lexsup.c:311
+#: lexsup.c:312
 msgid "Output cross reference table"
 msgstr ""
 
-#: lexsup.c:313
+#: lexsup.c:314
 msgid "SYMBOL=EXPRESSION"
 msgstr ""
 
-#: lexsup.c:313
+#: lexsup.c:314
 msgid "Define a symbol"
 msgstr ""
 
-#: lexsup.c:315
+#: lexsup.c:316
 msgid "[=STYLE]"
 msgstr ""
 
-#: lexsup.c:315
+#: lexsup.c:316
 msgid "Demangle symbol names [using STYLE]"
 msgstr ""
 
-#: lexsup.c:319
+#: lexsup.c:320
 msgid ""
 "Do not allow multiple definitions with symbols included\n"
 "           in filename invoked by -R or --just-symbols"
 msgstr ""
 
-#: lexsup.c:323
+#: lexsup.c:324
 msgid "Generate embedded relocs"
 msgstr ""
 
-#: lexsup.c:325
+#: lexsup.c:326
 msgid "Treat warnings as errors"
 msgstr ""
 
-#: lexsup.c:328
+#: lexsup.c:329
 msgid "Do not treat warnings as errors (default)"
 msgstr ""
 
-#: lexsup.c:331
+#: lexsup.c:332
 msgid "Call SYMBOL at unload-time"
 msgstr ""
 
-#: lexsup.c:333
+#: lexsup.c:334
 msgid "Force generation of file with .exe suffix"
 msgstr ""
 
-#: lexsup.c:335
+#: lexsup.c:336
 msgid "Remove unused sections (on some targets)"
 msgstr ""
 
-#: lexsup.c:338
+#: lexsup.c:339
 msgid "Don't remove unused sections (default)"
 msgstr ""
 
-#: lexsup.c:341
+#: lexsup.c:342
 msgid "List removed unused sections on stderr"
 msgstr ""
 
-#: lexsup.c:344
+#: lexsup.c:345
 msgid "Do not list removed unused sections"
 msgstr ""
 
-#: lexsup.c:347
+#: lexsup.c:348
 msgid "Keep exported symbols when removing unused sections"
 msgstr ""
 
-#: lexsup.c:350
+#: lexsup.c:351
 msgid "Set default hash table size close to <NUMBER>"
 msgstr ""
 
-#: lexsup.c:353
+#: lexsup.c:354
 msgid "Print option help"
 msgstr ""
 
-#: lexsup.c:355
+#: lexsup.c:356
 msgid "Call SYMBOL at load-time"
 msgstr ""
 
-#: lexsup.c:357
+#: lexsup.c:358
 msgid "Write a map file"
 msgstr ""
 
-#: lexsup.c:359
+#: lexsup.c:360
 msgid "Do not define Common storage"
 msgstr ""
 
-#: lexsup.c:361
+#: lexsup.c:362
 msgid "Do not demangle symbol names"
 msgstr ""
 
-#: lexsup.c:363
+#: lexsup.c:364
 msgid "Use less memory and more disk I/O"
 msgstr ""
 
-#: lexsup.c:365
+#: lexsup.c:366
 msgid "Do not allow unresolved references in object files"
 msgstr ""
 
-#: lexsup.c:368
+#: lexsup.c:369
 msgid "Allow unresolved references in shared libraries"
 msgstr ""
 
-#: lexsup.c:372
+#: lexsup.c:373
 msgid "Do not allow unresolved references in shared libs"
 msgstr ""
 
-#: lexsup.c:376
+#: lexsup.c:377
 msgid "Allow multiple definitions"
 msgstr ""
 
-#: lexsup.c:378
+#: lexsup.c:379
 msgid "Disallow undefined version"
 msgstr ""
 
-#: lexsup.c:380
+#: lexsup.c:381
 msgid "Create default symbol version"
 msgstr ""
 
-#: lexsup.c:383
+#: lexsup.c:384
 msgid "Create default symbol version for imported symbols"
 msgstr ""
 
-#: lexsup.c:386
+#: lexsup.c:387
 msgid "Don't warn about mismatched input files"
 msgstr ""
 
-#: lexsup.c:389
+#: lexsup.c:390
 msgid "Don't warn on finding an incompatible library"
 msgstr ""
 
-#: lexsup.c:392
+#: lexsup.c:393
 msgid "Turn off --whole-archive"
 msgstr ""
 
-#: lexsup.c:394
+#: lexsup.c:395
 msgid "Create an output file even if errors occur"
 msgstr ""
 
-#: lexsup.c:399
+#: lexsup.c:400
 msgid ""
 "Only use library directories specified on\n"
 "                                the command line"
 msgstr ""
 
-#: lexsup.c:403
+#: lexsup.c:404
 msgid "Specify target of output file"
 msgstr ""
 
-#: lexsup.c:406
+#: lexsup.c:407
 msgid "Print default output format"
 msgstr ""
 
-#: lexsup.c:408
+#: lexsup.c:409
 msgid "Print current sysroot"
 msgstr ""
 
-#: lexsup.c:410
+#: lexsup.c:411
 msgid "Ignored for Linux compatibility"
 msgstr ""
 
-#: lexsup.c:413
+#: lexsup.c:414
 msgid "Reduce memory overheads, possibly taking much longer"
 msgstr ""
 
-#: lexsup.c:416
+#: lexsup.c:417
 msgid "Reduce code size by using target specific optimizations"
 msgstr ""
 
-#: lexsup.c:418
+#: lexsup.c:419
 msgid "Do not use relaxation techniques to reduce code size"
 msgstr ""
 
-#: lexsup.c:421
+#: lexsup.c:422
 msgid "Keep only symbols listed in FILE"
 msgstr ""
 
-#: lexsup.c:423
+#: lexsup.c:424
 msgid "Set runtime shared library search path"
 msgstr ""
 
-#: lexsup.c:425
+#: lexsup.c:426
 msgid "Set link time shared library search path"
 msgstr ""
 
-#: lexsup.c:428
+#: lexsup.c:429
 msgid "Create a shared library"
 msgstr ""
 
-#: lexsup.c:432
+#: lexsup.c:433
 msgid "Create a position independent executable"
 msgstr ""
 
-#: lexsup.c:436
+#: lexsup.c:437
 msgid "[=ascending|descending]"
 msgstr ""
 
-#: lexsup.c:437
+#: lexsup.c:438
 msgid "Sort common symbols by alignment [in specified order]"
 msgstr ""
 
-#: lexsup.c:442
+#: lexsup.c:443
 msgid "name|alignment"
 msgstr ""
 
-#: lexsup.c:443
+#: lexsup.c:444
 msgid "Sort sections by name or maximum alignment"
 msgstr ""
 
-#: lexsup.c:445
+#: lexsup.c:446
 msgid "COUNT"
 msgstr ""
 
-#: lexsup.c:445
+#: lexsup.c:446
 msgid "How many tags to reserve in .dynamic section"
 msgstr ""
 
-#: lexsup.c:448
+#: lexsup.c:449
 msgid "[=SIZE]"
 msgstr ""
 
-#: lexsup.c:448
+#: lexsup.c:449
 msgid "Split output sections every SIZE octets"
 msgstr ""
 
-#: lexsup.c:451
+#: lexsup.c:452
 msgid "[=COUNT]"
 msgstr ""
 
-#: lexsup.c:451
+#: lexsup.c:452
 msgid "Split output sections every COUNT relocs"
 msgstr ""
 
-#: lexsup.c:454
+#: lexsup.c:455
 msgid "Print memory usage statistics"
 msgstr ""
 
-#: lexsup.c:456
+#: lexsup.c:457
 msgid "Display target specific options"
 msgstr ""
 
-#: lexsup.c:458
+#: lexsup.c:459
 msgid "Do task level linking"
 msgstr ""
 
-#: lexsup.c:460
+#: lexsup.c:461
 msgid "Use same format as native linker"
 msgstr ""
 
-#: lexsup.c:462
+#: lexsup.c:463
 msgid "SECTION=ADDRESS"
 msgstr ""
 
-#: lexsup.c:462
+#: lexsup.c:463
 msgid "Set address of named section"
 msgstr ""
 
-#: lexsup.c:465
+#: lexsup.c:466
 msgid "Set address of .bss section"
 msgstr ""
 
-#: lexsup.c:467
+#: lexsup.c:468
 msgid "Set address of .data section"
 msgstr ""
 
-#: lexsup.c:469
+#: lexsup.c:470
 msgid "Set address of .text section"
 msgstr ""
 
-#: lexsup.c:471
+#: lexsup.c:472
 msgid "Set address of text segment"
 msgstr ""
 
-#: lexsup.c:473
+#: lexsup.c:474
 msgid "Set address of rodata segment"
 msgstr ""
 
-#: lexsup.c:475
+#: lexsup.c:476
 msgid "Set address of ldata segment"
 msgstr ""
 
-#: lexsup.c:478
+#: lexsup.c:479
 msgid ""
 "How to handle unresolved symbols.  <method> is:\n"
 "                                ignore-all, report-all, ignore-in-object-"
@@ -1694,154 +1692,162 @@ msgid ""
 "                                ignore-in-shared-libs"
 msgstr ""
 
-#: lexsup.c:483
+#: lexsup.c:484
 msgid "[=NUMBER]"
 msgstr ""
 
-#: lexsup.c:484
+#: lexsup.c:485
 msgid "Output lots of information during link"
 msgstr ""
 
-#: lexsup.c:488
+#: lexsup.c:489
 msgid "Read version information script"
 msgstr ""
 
-#: lexsup.c:491
+#: lexsup.c:492
 msgid ""
 "Take export symbols list from .exports, using\n"
 "                                SYMBOL as the version."
 msgstr ""
 
-#: lexsup.c:495
+#: lexsup.c:496
 msgid "Add data symbols to dynamic list"
 msgstr ""
 
-#: lexsup.c:497
+#: lexsup.c:498
 msgid "Use C++ operator new/delete dynamic list"
 msgstr ""
 
-#: lexsup.c:499
+#: lexsup.c:500
 msgid "Use C++ typeinfo dynamic list"
 msgstr ""
 
-#: lexsup.c:501
+#: lexsup.c:502
 msgid "Read dynamic list"
 msgstr ""
 
-#: lexsup.c:503
+#: lexsup.c:504
 msgid "Warn about duplicate common symbols"
 msgstr ""
 
-#: lexsup.c:505
+#: lexsup.c:506
 msgid "Warn if global constructors/destructors are seen"
 msgstr ""
 
-#: lexsup.c:508
+#: lexsup.c:509
 msgid "Warn if the multiple GP values are used"
 msgstr ""
 
-#: lexsup.c:510
+#: lexsup.c:511
 msgid "Warn only once per undefined symbol"
 msgstr ""
 
-#: lexsup.c:512
+#: lexsup.c:513
 msgid "Warn if start of section changes due to alignment"
 msgstr ""
 
-#: lexsup.c:515
+#: lexsup.c:516
 msgid "Warn if shared object has DT_TEXTREL"
 msgstr ""
 
-#: lexsup.c:518
+#: lexsup.c:519
 msgid "Warn if an object has alternate ELF machine code"
 msgstr ""
 
-#: lexsup.c:522
+#: lexsup.c:523
 msgid "Report unresolved symbols as warnings"
 msgstr ""
 
-#: lexsup.c:525
+#: lexsup.c:526
 msgid "Report unresolved symbols as errors"
 msgstr ""
 
-#: lexsup.c:527
+#: lexsup.c:528
 msgid "Include all objects from following archives"
 msgstr ""
 
-#: lexsup.c:530
+#: lexsup.c:531
 msgid "Use wrapper functions for SYMBOL"
 msgstr ""
 
-#: lexsup.c:534
+#: lexsup.c:535
 msgid "Unresolved SYMBOL will not cause an error or warning"
 msgstr ""
 
-#: lexsup.c:536
+#: lexsup.c:537
 msgid "Push state of flags governing input file handling"
 msgstr ""
 
-#: lexsup.c:539
+#: lexsup.c:540
 msgid "Pop state of flags governing input file handling"
 msgstr ""
 
-#: lexsup.c:542
+#: lexsup.c:543
 msgid "Report target memory usage"
 msgstr ""
 
-#: lexsup.c:544
+#: lexsup.c:545
 msgid "=MODE"
 msgstr ""
 
-#: lexsup.c:544
+#: lexsup.c:545
 msgid "Control how orphan sections are handled."
 msgstr ""
 
-#: lexsup.c:710
+#: lexsup.c:548
+msgid "Show discarded sections in map file output (default)"
+msgstr ""
+
+#: lexsup.c:551
+msgid "Do not show discarded sections in map file output"
+msgstr ""
+
+#: lexsup.c:729
 msgid "%P: %s: missing argument\n"
 msgstr ""
 
-#: lexsup.c:715
+#: lexsup.c:734
 msgid "%P: unrecognized option '%s'\n"
 msgstr ""
 
-#: lexsup.c:720
+#: lexsup.c:739
 msgid "%F%P: use the --help option for usage information\n"
 msgstr ""
 
-#: lexsup.c:739
+#: lexsup.c:758
 msgid "%F%P: unrecognized -a option `%s'\n"
 msgstr ""
 
-#: lexsup.c:752
+#: lexsup.c:771
 msgid "%F%P: unrecognized -assert option `%s'\n"
 msgstr ""
 
-#: lexsup.c:796
+#: lexsup.c:815
 msgid "%F%P: unknown demangling style `%s'\n"
 msgstr ""
 
-#: lexsup.c:866 lexsup.c:1339 eaarch64cloudabi.c:2512 eaarch64cloudabib.c:2512
-#: eaarch64elf.c:2512 eaarch64elf32.c:2512 eaarch64elf32b.c:2512
-#: eaarch64elfb.c:2512 eaarch64fbsd.c:2512 eaarch64fbsdb.c:2512
-#: eaarch64linux.c:2519 eaarch64linux32.c:2519 eaarch64linux32b.c:2519
-#: eaarch64linuxb.c:2519 earmelf.c:2806 earmelf_fbsd.c:2813
-#: earmelf_fuchsia.c:2806 earmelf_linux.c:2806 earmelf_linux_eabi.c:2806
-#: earmelf_linux_fdpiceabi.c:2806 earmelf_nacl.c:2806 earmelf_nbsd.c:2806
-#: earmelf_phoenix.c:2806 earmelf_vxworks.c:2842 earmelfb.c:2806
-#: earmelfb_fbsd.c:2813 earmelfb_fuchsia.c:2806 earmelfb_linux.c:2806
-#: earmelfb_linux_eabi.c:2806 earmelfb_linux_fdpiceabi.c:2806
-#: earmelfb_nacl.c:2806 earmelfb_nbsd.c:2806 earmnto.c:2781 earmsymbian.c:2806
-#: ecskyelf.c:2262 ecskyelf_linux.c:2424 eelf32metag.c:2430 eelf64lppc.c:2888
-#: eelf64ppc.c:2888 eelf64ppc_fbsd.c:2895 ehppaelf.c:2291 ehppalinux.c:2468
-#: ehppanbsd.c:2468 ehppaobsd.c:2468
+#: lexsup.c:885 lexsup.c:1358 eaarch64cloudabi.c:791 eaarch64cloudabib.c:791
+#: eaarch64elf.c:791 eaarch64elf32.c:791 eaarch64elf32b.c:791
+#: eaarch64elfb.c:791 eaarch64fbsd.c:791 eaarch64fbsdb.c:791
+#: eaarch64linux.c:791 eaarch64linux32.c:791 eaarch64linux32b.c:791
+#: eaarch64linuxb.c:791 earmelf.c:1056 earmelf_fbsd.c:1056
+#: earmelf_fuchsia.c:1056 earmelf_linux.c:1056 earmelf_linux_eabi.c:1056
+#: earmelf_linux_fdpiceabi.c:1056 earmelf_nacl.c:1056 earmelf_nbsd.c:1056
+#: earmelf_phoenix.c:1056 earmelf_vxworks.c:1092 earmelfb.c:1056
+#: earmelfb_fbsd.c:1056 earmelfb_fuchsia.c:1056 earmelfb_linux.c:1056
+#: earmelfb_linux_eabi.c:1056 earmelfb_linux_fdpiceabi.c:1056
+#: earmelfb_nacl.c:1056 earmelfb_nbsd.c:1056 earmnto.c:1031 earmsymbian.c:1056
+#: ecskyelf.c:519 ecskyelf_linux.c:681 eelf32metag.c:678 eelf64lppc.c:1134
+#: eelf64ppc.c:1134 eelf64ppc_fbsd.c:1134 ehppaelf.c:539 ehppalinux.c:716
+#: ehppanbsd.c:716 ehppaobsd.c:716
 msgid "%F%P: invalid number `%s'\n"
 msgstr ""
 
-#: lexsup.c:967
+#: lexsup.c:986
 msgid "%F%P: bad --unresolved-symbols option: %s\n"
 msgstr ""
 
-#: lexsup.c:1044
+#: lexsup.c:1063
 msgid "%F%P: bad -plugin-opt option\n"
 msgstr ""
 
@@ -1853,131 +1859,135 @@ msgstr ""
 #. an error message here.  We cannot just make this a warning,
 #. increment optind, and continue because getopt is too confused
 #. and will seg-fault the next time around.
-#: lexsup.c:1061
+#: lexsup.c:1080
 msgid "%F%P: unrecognised option: %s\n"
 msgstr ""
 
-#: lexsup.c:1064 lexsup.c:1174 lexsup.c:1192 lexsup.c:1308
+#: lexsup.c:1083 lexsup.c:1193 lexsup.c:1211 lexsup.c:1327
 msgid "%F%P: -r and %s may not be used together\n"
 msgstr ""
 
-#: lexsup.c:1186
+#: lexsup.c:1205
 msgid "%F%P: -shared not supported\n"
 msgstr ""
 
-#: lexsup.c:1197
+#: lexsup.c:1216
 msgid "%F%P: -pie not supported\n"
 msgstr ""
 
-#: lexsup.c:1203
+#: lexsup.c:1222
 msgid "%P: SONAME must not be empty string; keeping previous one\n"
 msgstr ""
 
-#: lexsup.c:1209
+#: lexsup.c:1228
 msgid "descending"
 msgstr ""
 
-#: lexsup.c:1211
+#: lexsup.c:1230
 msgid "ascending"
 msgstr ""
 
-#: lexsup.c:1214
+#: lexsup.c:1233
 msgid "%F%P: invalid common section sorting option: %s\n"
 msgstr ""
 
-#: lexsup.c:1218
+#: lexsup.c:1237
 msgid "name"
 msgstr ""
 
-#: lexsup.c:1220
+#: lexsup.c:1239
 msgid "alignment"
 msgstr ""
 
-#: lexsup.c:1223
+#: lexsup.c:1242
 msgid "%F%P: invalid section sorting option: %s\n"
 msgstr ""
 
-#: lexsup.c:1257
+#: lexsup.c:1276
 msgid "%F%P: invalid argument to option \"--section-start\"\n"
 msgstr ""
 
-#: lexsup.c:1264
+#: lexsup.c:1283
 msgid "%F%P: missing argument(s) to option \"--section-start\"\n"
 msgstr ""
 
-#: lexsup.c:1514
+#: lexsup.c:1533
 msgid "%F%P: group ended before it began (--help for usage)\n"
 msgstr ""
 
-#: lexsup.c:1542
+#: lexsup.c:1561
 msgid "%X%P: --hash-size needs a numeric argument\n"
 msgstr ""
 
-#: lexsup.c:1554
+#: lexsup.c:1573
 msgid "%F%P: no state pushed before popping\n"
 msgstr ""
 
-#: lexsup.c:1577
+#: lexsup.c:1596
 msgid "%F%P: invalid argument to option \"--orphan-handling\"\n"
 msgstr ""
 
-#: lexsup.c:1585
+#: lexsup.c:1612
 msgid "%P: SONAME must not be empty string; ignored\n"
 msgstr ""
 
-#: lexsup.c:1653
+#: lexsup.c:1618
+msgid "%P: missing --end-group; added as last command line option\n"
+msgstr ""
+
+#: lexsup.c:1682
 msgid "%F%P: -F may not be used without -shared\n"
 msgstr ""
 
-#: lexsup.c:1655
+#: lexsup.c:1684
 msgid "%F%P: -f may not be used without -shared\n"
 msgstr ""
 
-#: lexsup.c:1696 lexsup.c:1709
+#: lexsup.c:1725 lexsup.c:1738
 msgid "%F%P: invalid hex number `%s'\n"
 msgstr ""
 
-#: lexsup.c:1739
+#: lexsup.c:1768
 #, c-format
 msgid "  --audit=AUDITLIB            Specify a library to use for auditing\n"
 msgstr ""
 
-#: lexsup.c:1741
+#: lexsup.c:1770
 #, c-format
 msgid "  -Bgroup                     Selects group name lookup rules for DSO\n"
 msgstr ""
 
-#: lexsup.c:1743
+#: lexsup.c:1772
 #, c-format
 msgid "  --disable-new-dtags         Disable new dynamic tags\n"
 msgstr ""
 
-#: lexsup.c:1745
+#: lexsup.c:1774
 #, c-format
 msgid "  --enable-new-dtags          Enable new dynamic tags\n"
 msgstr ""
 
-#: lexsup.c:1747
+#: lexsup.c:1776
 #, c-format
 msgid "  --eh-frame-hdr              Create .eh_frame_hdr section\n"
 msgstr ""
 
-#: lexsup.c:1749
+#: lexsup.c:1778
 #, c-format
 msgid "  --no-eh-frame-hdr           Do not create .eh_frame_hdr section\n"
 msgstr ""
 
-#: lexsup.c:1751
+#: lexsup.c:1780
 #, c-format
 msgid "  --exclude-libs=LIBS         Make all symbols in LIBS hidden\n"
 msgstr ""
 
-#: lexsup.c:1753
+#: lexsup.c:1782
 #, c-format
 msgid "  --hash-style=STYLE          Set hash style to sysv, gnu or both\n"
 msgstr ""
 
-#: lexsup.c:1755
+#: lexsup.c:1784
 #, c-format
 msgid ""
 "  -P AUDITLIB, --depaudit=AUDITLIB\n"
@@ -1985,20 +1995,20 @@ msgid ""
 "dependencies\n"
 msgstr ""
 
-#: lexsup.c:1758
+#: lexsup.c:1787
 #, c-format
 msgid ""
 "  -z combreloc                Merge dynamic relocs into one section and "
 "sort\n"
 msgstr ""
 
-#: lexsup.c:1760
+#: lexsup.c:1789
 #, c-format
 msgid ""
 "  -z nocombreloc              Don't merge dynamic relocs into one section\n"
 msgstr ""
 
-#: lexsup.c:1762
+#: lexsup.c:1791
 #, c-format
 msgid ""
 "  -z global                   Make symbols in DSO available for "
@@ -2006,219 +2016,219 @@ msgid ""
 "                               loaded objects\n"
 msgstr ""
 
-#: lexsup.c:1765
+#: lexsup.c:1794
 #, c-format
 msgid ""
 "  -z initfirst                Mark DSO to be initialized first at runtime\n"
 msgstr ""
 
-#: lexsup.c:1767
+#: lexsup.c:1796
 #, c-format
 msgid ""
 "  -z interpose                Mark object to interpose all DSOs but "
 "executable\n"
 msgstr ""
 
-#: lexsup.c:1769
+#: lexsup.c:1798
 #, c-format
 msgid ""
 "  -z lazy                     Mark object lazy runtime binding (default)\n"
 msgstr ""
 
-#: lexsup.c:1771
+#: lexsup.c:1800
 #, c-format
 msgid "  -z loadfltr                 Mark object requiring immediate process\n"
 msgstr ""
 
-#: lexsup.c:1773
+#: lexsup.c:1802
 #, c-format
 msgid "  -z nocopyreloc              Don't create copy relocs\n"
 msgstr ""
 
-#: lexsup.c:1775
+#: lexsup.c:1804
 #, c-format
 msgid ""
 "  -z nodefaultlib             Mark object not to use default search paths\n"
 msgstr ""
 
-#: lexsup.c:1777
+#: lexsup.c:1806
 #, c-format
 msgid "  -z nodelete                 Mark DSO non-deletable at runtime\n"
 msgstr ""
 
-#: lexsup.c:1779
+#: lexsup.c:1808
 #, c-format
 msgid "  -z nodlopen                 Mark DSO not available to dlopen\n"
 msgstr ""
 
-#: lexsup.c:1781
+#: lexsup.c:1810
 #, c-format
 msgid "  -z nodump                   Mark DSO not available to dldump\n"
 msgstr ""
 
-#: lexsup.c:1783
+#: lexsup.c:1812
 #, c-format
 msgid "  -z now                      Mark object non-lazy runtime binding\n"
 msgstr ""
 
-#: lexsup.c:1785
+#: lexsup.c:1814
 #, c-format
 msgid ""
 "  -z origin                   Mark object requiring immediate $ORIGIN\n"
 "                                processing at runtime\n"
 msgstr ""
 
-#: lexsup.c:1789
+#: lexsup.c:1818
 #, c-format
 msgid "  -z relro                    Create RELRO program header (default)\n"
 msgstr ""
 
-#: lexsup.c:1791
+#: lexsup.c:1820
 #, c-format
 msgid "  -z norelro                  Don't create RELRO program header\n"
 msgstr ""
 
-#: lexsup.c:1794
+#: lexsup.c:1823
 #, c-format
 msgid "  -z relro                    Create RELRO program header\n"
 msgstr ""
 
-#: lexsup.c:1796
+#: lexsup.c:1825
 #, c-format
 msgid ""
 "  -z norelro                  Don't create RELRO program header (default)\n"
 msgstr ""
 
-#: lexsup.c:1800
+#: lexsup.c:1829
 #, c-format
 msgid ""
 "  -z separate-code            Create separate code program header (default)\n"
 msgstr ""
 
-#: lexsup.c:1802
+#: lexsup.c:1831
 #, c-format
 msgid ""
 "  -z noseparate-code          Don't create separate code program header\n"
 msgstr ""
 
-#: lexsup.c:1805
+#: lexsup.c:1834
 #, c-format
 msgid "  -z separate-code            Create separate code program header\n"
 msgstr ""
 
-#: lexsup.c:1807
+#: lexsup.c:1836
 #, c-format
 msgid ""
 "  -z noseparate-code          Don't create separate code program header "
 "(default)\n"
 msgstr ""
 
-#: lexsup.c:1810
+#: lexsup.c:1839
 #, c-format
 msgid ""
 "  -z common                   Generate common symbols with STT_COMMON type\n"
 msgstr ""
 
-#: lexsup.c:1812
+#: lexsup.c:1841
 #, c-format
 msgid ""
 "  -z nocommon                 Generate common symbols with STT_OBJECT type\n"
 msgstr ""
 
-#: lexsup.c:1814
+#: lexsup.c:1843
 #, c-format
 msgid "  -z stack-size=SIZE          Set size of stack segment\n"
 msgstr ""
 
-#: lexsup.c:1816
+#: lexsup.c:1845
 #, c-format
 msgid ""
 "  -z text                     Treat DT_TEXTREL in shared object as error\n"
 msgstr ""
 
-#: lexsup.c:1818
+#: lexsup.c:1847
 #, c-format
 msgid ""
 "  -z notext                   Don't treat DT_TEXTREL in shared object as "
 "error\n"
 msgstr ""
 
-#: lexsup.c:1820
+#: lexsup.c:1849
 #, c-format
 msgid ""
 "  -z textoff                  Don't treat DT_TEXTREL in shared object as "
 "error\n"
 msgstr ""
 
-#: lexsup.c:1827
+#: lexsup.c:1856
 #, c-format
 msgid "  --build-id[=STYLE]          Generate build ID note\n"
 msgstr ""
 
-#: lexsup.c:1829
+#: lexsup.c:1858
 #, c-format
 msgid ""
 "  --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]\n"
 "                              Compress DWARF debug sections using zlib\n"
 msgstr ""
 
-#: lexsup.c:1833
+#: lexsup.c:1862
 #, c-format
 msgid "                               Default: zlib-gabi\n"
 msgstr ""
 
-#: lexsup.c:1836
+#: lexsup.c:1865
 #, c-format
 msgid "                               Default: none\n"
 msgstr ""
 
-#: lexsup.c:1839
+#: lexsup.c:1868
 #, c-format
 msgid "  -z common-page-size=SIZE    Set common page size to SIZE\n"
 msgstr ""
 
-#: lexsup.c:1841
+#: lexsup.c:1870
 #, c-format
 msgid "  -z max-page-size=SIZE       Set maximum page size to SIZE\n"
 msgstr ""
 
-#: lexsup.c:1843
+#: lexsup.c:1872
 #, c-format
 msgid ""
 "  -z defs                     Report unresolved symbols in object files\n"
 msgstr ""
 
-#: lexsup.c:1845
+#: lexsup.c:1874
 #, c-format
 msgid "  -z muldefs                  Allow multiple definitions\n"
 msgstr ""
 
-#: lexsup.c:1847
+#: lexsup.c:1876
 #, c-format
 msgid ""
 "  -z execstack                Mark executable as requiring executable stack\n"
 msgstr ""
 
-#: lexsup.c:1849
+#: lexsup.c:1878
 #, c-format
 msgid ""
 "  -z noexecstack              Mark executable as not requiring executable "
 "stack\n"
 msgstr ""
 
-#: lexsup.c:1851
+#: lexsup.c:1880
 #, c-format
 msgid ""
 "  -z globalaudit              Mark executable requiring global auditing\n"
 msgstr ""
 
-#: lexsup.c:1858
+#: lexsup.c:1887
 #, c-format
 msgid ""
 "  --ld-generated-unwind-info  Generate exception handling info for PLT\n"
 msgstr ""
 
-#: lexsup.c:1860
+#: lexsup.c:1889
 #, c-format
 msgid ""
 "  --no-ld-generated-unwind-info\n"
@@ -2226,143 +2236,143 @@ msgid ""
 "PLT\n"
 msgstr ""
 
-#: lexsup.c:1871
+#: lexsup.c:1900
 #, c-format
 msgid "ELF emulations:\n"
 msgstr ""
 
-#: lexsup.c:1889
+#: lexsup.c:1918
 #, c-format
 msgid "Usage: %s [options] file...\n"
 msgstr ""
 
-#: lexsup.c:1891
+#: lexsup.c:1920
 #, c-format
 msgid "Options:\n"
 msgstr ""
 
-#: lexsup.c:1969
+#: lexsup.c:1998
 #, c-format
 msgid "  @FILE"
 msgstr ""
 
-#: lexsup.c:1972
+#: lexsup.c:2001
 #, c-format
 msgid "Read options from FILE\n"
 msgstr ""
 
 #. Note: Various tools (such as libtool) depend upon the
 #. format of the listings below - do not change them.
-#: lexsup.c:1977
+#: lexsup.c:2006
 #, c-format
 msgid "%s: supported targets:"
 msgstr ""
 
-#: lexsup.c:1985
+#: lexsup.c:2014
 #, c-format
 msgid "%s: supported emulations: "
 msgstr ""
 
-#: lexsup.c:1990
+#: lexsup.c:2019
 #, c-format
 msgid "%s: emulation specific options:\n"
 msgstr ""
 
-#: lexsup.c:1997
+#: lexsup.c:2026
 #, c-format
 msgid "Report bugs to %s\n"
 msgstr ""
 
-#: mri.c:289
+#: mri.c:291
 msgid "%F%P: unknown format type %s\n"
 msgstr ""
 
-#: pe-dll.c:435
+#: pe-dll.c:436
 msgid "%X%P: unsupported PEI architecture: %s\n"
 msgstr ""
 
-#: pe-dll.c:804
+#: pe-dll.c:814
 msgid "%X%P: cannot export %s: invalid export name\n"
 msgstr ""
 
-#: pe-dll.c:856
+#: pe-dll.c:866
 #, c-format
 msgid "%X%P: error, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
 msgstr ""
 
-#: pe-dll.c:863
+#: pe-dll.c:873
 #, c-format
 msgid "%P: warning, duplicate EXPORT: %s\n"
 msgstr ""
 
-#: pe-dll.c:973
+#: pe-dll.c:983
 #, c-format
 msgid "%X%P: cannot export %s: symbol not defined\n"
 msgstr ""
 
-#: pe-dll.c:979
+#: pe-dll.c:989
 #, c-format
 msgid "%X%P: cannot export %s: symbol wrong type (%d vs %d)\n"
 msgstr ""
 
-#: pe-dll.c:986
+#: pe-dll.c:996
 #, c-format
 msgid "%X%P: cannot export %s: symbol not found\n"
 msgstr ""
 
-#: pe-dll.c:1009 eaarch64cloudabi.c:404 eaarch64cloudabib.c:404
-#: eaarch64elf.c:404 eaarch64elf32.c:404 eaarch64elf32b.c:404
-#: eaarch64elfb.c:404 eaarch64fbsd.c:404 eaarch64fbsdb.c:404
-#: eaarch64linux.c:404 eaarch64linux32.c:404 eaarch64linux32b.c:404
-#: eaarch64linuxb.c:404 eaix5ppc.c:1431 eaix5ppc.c:1441 eaix5rs6.c:1431
-#: eaix5rs6.c:1441 eaixppc.c:1431 eaixppc.c:1441 eaixrs6.c:1431 eaixrs6.c:1441
-#: earmelf.c:620 earmelf_fbsd.c:620 earmelf_fuchsia.c:620 earmelf_linux.c:620
-#: earmelf_linux_eabi.c:620 earmelf_linux_fdpiceabi.c:620 earmelf_nacl.c:620
-#: earmelf_nbsd.c:620 earmelf_phoenix.c:620 earmelf_vxworks.c:620
-#: earmelfb.c:620 earmelfb_fbsd.c:620 earmelfb_fuchsia.c:620
-#: earmelfb_linux.c:620 earmelfb_linux_eabi.c:620
-#: earmelfb_linux_fdpiceabi.c:620 earmelfb_nacl.c:620 earmelfb_nbsd.c:620
-#: earmnto.c:620 earmsymbian.c:620 ecskyelf.c:208 ecskyelf_linux.c:208
-#: eelf32b4300.c:238 eelf32bmip.c:238 eelf32bmipn32.c:256 eelf32bsmip.c:256
-#: eelf32btsmip.c:238 eelf32btsmip_fbsd.c:238 eelf32btsmipn32.c:238
-#: eelf32btsmipn32_fbsd.c:238 eelf32ebmip.c:238 eelf32ebmipvxworks.c:238
-#: eelf32elmip.c:238 eelf32elmipvxworks.c:238 eelf32l4300.c:238
-#: eelf32lmip.c:238 eelf32lr5900.c:238 eelf32lr5900n32.c:238 eelf32lsmip.c:238
-#: eelf32ltsmip.c:238 eelf32ltsmip_fbsd.c:238 eelf32ltsmipn32.c:238
-#: eelf32ltsmipn32_fbsd.c:238 eelf32metag.c:139 eelf32mipswindiss.c:238
-#: eelf64bmip.c:256 eelf64btsmip.c:238 eelf64btsmip_fbsd.c:238 eelf64lppc.c:169
-#: eelf64ltsmip.c:238 eelf64ltsmip_fbsd.c:238 eelf64ppc.c:169
-#: eelf64ppc_fbsd.c:169 ehppaelf.c:162 ehppalinux.c:162 ehppanbsd.c:162
-#: ehppaobsd.c:162 em68hc11elf.c:222 em68hc11elfb.c:222 em68hc12elf.c:222
-#: em68hc12elfb.c:222 enios2elf.c:144 enios2linux.c:144 eppcmacos.c:1431
-#: eppcmacos.c:1441
+#: pe-dll.c:1019 eaarch64cloudabi.c:360 eaarch64cloudabib.c:360
+#: eaarch64elf.c:360 eaarch64elf32.c:360 eaarch64elf32b.c:360
+#: eaarch64elfb.c:360 eaarch64fbsd.c:360 eaarch64fbsdb.c:360
+#: eaarch64linux.c:360 eaarch64linux32.c:360 eaarch64linux32b.c:360
+#: eaarch64linuxb.c:360 eaix5ppc.c:1432 eaix5ppc.c:1442 eaix5rs6.c:1432
+#: eaix5rs6.c:1442 eaixppc.c:1432 eaixppc.c:1442 eaixrs6.c:1432 eaixrs6.c:1442
+#: earmelf.c:568 earmelf_fbsd.c:568 earmelf_fuchsia.c:568 earmelf_linux.c:568
+#: earmelf_linux_eabi.c:568 earmelf_linux_fdpiceabi.c:568 earmelf_nacl.c:568
+#: earmelf_nbsd.c:568 earmelf_phoenix.c:568 earmelf_vxworks.c:568
+#: earmelfb.c:568 earmelfb_fbsd.c:568 earmelfb_fuchsia.c:568
+#: earmelfb_linux.c:568 earmelfb_linux_eabi.c:568
+#: earmelfb_linux_fdpiceabi.c:568 earmelfb_nacl.c:568 earmelfb_nbsd.c:568
+#: earmnto.c:568 earmsymbian.c:568 ecskyelf.c:163 ecskyelf_linux.c:163
+#: eelf32b4300.c:172 eelf32bmip.c:172 eelf32bmipn32.c:186 eelf32bsmip.c:186
+#: eelf32btsmip.c:172 eelf32btsmip_fbsd.c:172 eelf32btsmipn32.c:172
+#: eelf32btsmipn32_fbsd.c:172 eelf32ebmip.c:172 eelf32ebmipvxworks.c:172
+#: eelf32elmip.c:172 eelf32elmipvxworks.c:172 eelf32l4300.c:172
+#: eelf32lmip.c:172 eelf32lr5900.c:172 eelf32lr5900n32.c:172 eelf32lsmip.c:172
+#: eelf32ltsmip.c:172 eelf32ltsmip_fbsd.c:172 eelf32ltsmipn32.c:172
+#: eelf32ltsmipn32_fbsd.c:172 eelf32metag.c:87 eelf32mipswindiss.c:172
+#: eelf64bmip.c:186 eelf64btsmip.c:172 eelf64btsmip_fbsd.c:172 eelf64lppc.c:117
+#: eelf64ltsmip.c:172 eelf64ltsmip_fbsd.c:172 eelf64ppc.c:117
+#: eelf64ppc_fbsd.c:117 ehppaelf.c:110 ehppalinux.c:110 ehppanbsd.c:110
+#: ehppaobsd.c:110 em68hc11elf.c:170 em68hc11elfb.c:170 em68hc12elf.c:170
+#: em68hc12elfb.c:170 enios2elf.c:92 enios2linux.c:92 eppcmacos.c:1432
+#: eppcmacos.c:1442
 msgid "%F%P: can not create BFD: %E\n"
 msgstr ""
 
-#: pe-dll.c:1024
+#: pe-dll.c:1033
 msgid "%X%P: can not create .edata section: %E\n"
 msgstr ""
 
-#: pe-dll.c:1039
+#: pe-dll.c:1047
 msgid "%X%P: can not create .reloc section: %E\n"
 msgstr ""
 
-#: pe-dll.c:1100
+#: pe-dll.c:1108
 #, c-format
 msgid "%X%P: error: ordinal used twice: %d (%s vs %s)\n"
 msgstr ""
 
-#: pe-dll.c:1136
+#: pe-dll.c:1144
 #, c-format
 msgid "%X%P: error: export ordinal too large: %d\n"
 msgstr ""
 
-#: pe-dll.c:1452
+#: pe-dll.c:1465
 #, c-format
 msgid "Info: resolving %s by linking to %s (auto-import)\n"
 msgstr ""
 
-#: pe-dll.c:1458
+#: pe-dll.c:1471
 msgid ""
 "%P: warning: auto-importing has been activated without --enable-auto-import "
 "specified on the command line; this should work unless it involves constant "
@@ -2370,457 +2380,314 @@ msgid ""
 msgstr ""
 
 #. Huh?  Shouldn't happen, but punt if it does.
-#: pe-dll.c:1527
+#: pe-dll.c:1540
 msgid "%P: zero vma section reloc detected: `%s' #%d f=%d\n"
 msgstr ""
 
-#: pe-dll.c:1642
+#: pe-dll.c:1656
 #, c-format
 msgid "%X%P: error: %d-bit reloc in dll\n"
 msgstr ""
 
-#: pe-dll.c:1770
+#: pe-dll.c:1784
 #, c-format
 msgid "%P: can't open output def file %s\n"
 msgstr ""
 
-#: pe-dll.c:1921
+#: pe-dll.c:1935
 #, c-format
 msgid "; no contents available\n"
 msgstr ""
 
-#: pe-dll.c:2780
+#: pe-dll.c:2794
 msgid ""
 "%X%P: %C: variable '%pT' can't be auto-imported; please read the "
 "documentation for ld's --enable-auto-import for details\n"
 msgstr ""
 
-#: pe-dll.c:2807
+#: pe-dll.c:2821
 #, c-format
 msgid "%X%P: can't open .lib file: %s\n"
 msgstr ""
 
-#: pe-dll.c:2813
+#: pe-dll.c:2827
 #, c-format
 msgid "Creating library file: %s\n"
 msgstr ""
 
-#: pe-dll.c:2842
+#: pe-dll.c:2856
 msgid "%X%P: bfd_openr %s: %E\n"
 msgstr ""
 
-#: pe-dll.c:2854
+#: pe-dll.c:2868
 msgid "%X%P: %s(%s): can't find member in non-archive file"
 msgstr ""
 
-#: pe-dll.c:2866
+#: pe-dll.c:2880
 msgid "%X%P: %s(%s): can't find member in archive"
 msgstr ""
 
-#: pe-dll.c:3128
+#: pe-dll.c:3142
 msgid "%X%P: add symbols %s: %E\n"
 msgstr ""
 
-#: pe-dll.c:3315
+#: pe-dll.c:3329
 msgid "%X%P: open %s: %E\n"
 msgstr ""
 
-#: pe-dll.c:3322
+#: pe-dll.c:3336
 msgid "%X%P: %s: this doesn't appear to be a DLL\n"
 msgstr ""
 
-#: pe-dll.c:3527
+#: pe-dll.c:3541
 msgid "%X%P: error: can't use long section names on this arch\n"
 msgstr ""
 
-#: plugin.c:231 plugin.c:277
+#: plugin.c:232 plugin.c:278
 msgid "<no plugin>"
 msgstr ""
 
-#: plugin.c:246 plugin.c:1010
+#: plugin.c:247 plugin.c:1099
 msgid "%F%P: %s: error loading plugin: %s\n"
 msgstr ""
 
-#: plugin.c:253
+#: plugin.c:254
 msgid "%P: %s: duplicated plugin\n"
 msgstr ""
 
-#: plugin.c:339
+#: plugin.c:340
 msgid "%F%P: could not create dummy IR bfd: %E\n"
 msgstr ""
 
-#: plugin.c:427
+#: plugin.c:421
 msgid "%F%P: %s: non-ELF symbol in ELF BFD!\n"
 msgstr ""
 
-#: plugin.c:431
+#: plugin.c:432
 msgid "%F%P: unknown ELF symbol visibility: %d!\n"
 msgstr ""
 
-#: plugin.c:542
+#: plugin.c:541
 msgid "%F%P: unsupported input file size: %s (%ld bytes)\n"
 msgstr ""
 
+#: plugin.c:678
+#, c-format
+msgid "unknown LTO kind value %x"
+msgstr ""
+
+#: plugin.c:704
+#, c-format
+msgid "unknown LTO resolution value %x"
+msgstr ""
+
+#: plugin.c:724
+#, c-format
+msgid "unknown LTO visibility value %x"
+msgstr ""
+
 #. We should not have a new, indirect or warning symbol here.
-#: plugin.c:719
+#: plugin.c:804
 msgid "%F%P: %s: plugin symbol table corrupt (sym type %d)\n"
 msgstr ""
 
-#: plugin.c:779
-msgid "%P: %pB: symbol `%s' definition: %d, visibility: %d, resolution: %d\n"
+#: plugin.c:866
+msgid "%P: %pB: symbol `%s' definition: %s, visibility: %s, resolution: %s\n"
 msgstr ""
 
-#: plugin.c:854
+#: plugin.c:943
 msgid "%P: warning: "
 msgstr ""
 
-#: plugin.c:865
+#: plugin.c:954
 msgid "%P: error: "
 msgstr ""
 
-#: plugin.c:1017
+#: plugin.c:1106
 msgid "%F%P: %s: plugin error: %d\n"
 msgstr ""
 
-#: plugin.c:1072
+#: plugin.c:1161
 msgid "%F%P: plugin_strdup failed to allocate memory: %s\n"
 msgstr ""
 
-#: plugin.c:1104
+#: plugin.c:1193
 msgid "%F%P: plugin failed to allocate memory for input: %s\n"
 msgstr ""
 
-#: plugin.c:1131
+#: plugin.c:1220
 msgid "%F%P: %s: plugin reported error claiming file\n"
 msgstr ""
 
-#: plugin.c:1241
+#: plugin.c:1330
 msgid "%P: %s: error in plugin cleanup: %d (ignored)\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:81 eaarch64cloudabib.c:81 eaarch64elf.c:81
-#: eaarch64elf32.c:81 eaarch64elf32b.c:81 eaarch64elfb.c:81 eaarch64fbsd.c:81
-#: eaarch64fbsdb.c:81 eaarch64linux.c:81 eaarch64linux32.c:81
-#: eaarch64linux32b.c:81 eaarch64linuxb.c:81 earcelf.c:81 earcelf_prof.c:81
-#: earclinux.c:81 earclinux_nps.c:81 earclinux_prof.c:81 earcv2elf.c:81
-#: earcv2elfx.c:81 earmelf.c:81 earmelf_fbsd.c:81 earmelf_fuchsia.c:81
-#: earmelf_linux.c:81 earmelf_linux_eabi.c:81 earmelf_linux_fdpiceabi.c:81
-#: earmelf_nacl.c:81 earmelf_nbsd.c:81 earmelf_phoenix.c:81
-#: earmelf_vxworks.c:81 earmelfb.c:81 earmelfb_fbsd.c:81 earmelfb_fuchsia.c:81
-#: earmelfb_linux.c:81 earmelfb_linux_eabi.c:81 earmelfb_linux_fdpiceabi.c:81
-#: earmelfb_nacl.c:81 earmelfb_nbsd.c:81 earmnto.c:81 earmsymbian.c:81
-#: eavr1.c:81 eavr2.c:81 eavr25.c:81 eavr3.c:81 eavr31.c:81 eavr35.c:81
-#: eavr4.c:81 eavr5.c:81 eavr51.c:81 eavr6.c:81 eavrtiny.c:81 eavrxmega1.c:81
-#: eavrxmega2.c:81 eavrxmega3.c:81 eavrxmega4.c:81 eavrxmega5.c:81
-#: eavrxmega6.c:81 eavrxmega7.c:81 ecriself.c:81 ecrislinux.c:81 ecskyelf.c:81
-#: ecskyelf_linux.c:81 ed10velf.c:81 ed30v_e.c:64 ed30v_o.c:64 ed30velf.c:64
-#: eelf32_dlx.c:64 eelf32_sparc.c:81 eelf32_sparc_sol2.c:81
-#: eelf32_sparc_vxworks.c:81 eelf32_spu.c:81 eelf32_tic6x_be.c:81
-#: eelf32_tic6x_elf_be.c:81 eelf32_tic6x_elf_le.c:81 eelf32_tic6x_le.c:81
-#: eelf32_tic6x_linux_be.c:81 eelf32_tic6x_linux_le.c:81 eelf32_x86_64.c:84
-#: eelf32_x86_64_nacl.c:81 eelf32am33lin.c:81 eelf32b4300.c:81 eelf32bfin.c:81
-#: eelf32bfinfd.c:81 eelf32bmip.c:81 eelf32bmipn32.c:81 eelf32bsmip.c:81
-#: eelf32btsmip.c:81 eelf32btsmip_fbsd.c:81 eelf32btsmipn32.c:81
-#: eelf32btsmipn32_fbsd.c:81 eelf32cr16.c:81 eelf32cr16c.c:81 eelf32crx.c:81
-#: eelf32ebmip.c:81 eelf32ebmipvxworks.c:81 eelf32elmip.c:81
-#: eelf32elmipvxworks.c:81 eelf32epiphany.c:81 eelf32epiphany_4x4.c:81
-#: eelf32fr30.c:64 eelf32frv.c:64 eelf32frvfd.c:81 eelf32ft32.c:64
-#: eelf32ip2k.c:81 eelf32iq10.c:64 eelf32iq2000.c:64 eelf32l4300.c:81
-#: eelf32lm32.c:81 eelf32lm32fd.c:81 eelf32lmip.c:81 eelf32lppc.c:81
-#: eelf32lppclinux.c:81 eelf32lppcnto.c:81 eelf32lppcsim.c:81 eelf32lr5900.c:81
-#: eelf32lr5900n32.c:81 eelf32lriscv.c:81 eelf32lriscv_ilp32.c:81
-#: eelf32lriscv_ilp32f.c:81 eelf32lsmip.c:81 eelf32ltsmip.c:81
-#: eelf32ltsmip_fbsd.c:81 eelf32ltsmipn32.c:81 eelf32ltsmipn32_fbsd.c:81
-#: eelf32m32c.c:81 eelf32mb_linux.c:81 eelf32mbel_linux.c:81 eelf32mcore.c:81
-#: eelf32mep.c:81 eelf32metag.c:81 eelf32microblaze.c:81
-#: eelf32microblazeel.c:81 eelf32mipswindiss.c:81 eelf32moxie.c:64
-#: eelf32mt.c:64 eelf32or1k.c:81 eelf32or1k_linux.c:81 eelf32ppc.c:81
-#: eelf32ppc_fbsd.c:81 eelf32ppclinux.c:81 eelf32ppcnto.c:81 eelf32ppcsim.c:81
-#: eelf32ppcvxworks.c:81 eelf32ppcwindiss.c:81 eelf32rl78.c:81 eelf32rx.c:81
-#: eelf32tilegx.c:81 eelf32tilegx_be.c:81 eelf32tilepro.c:81 eelf32vax.c:81
-#: eelf32visium.c:81 eelf32xc16x.c:81 eelf32xc16xl.c:81 eelf32xc16xs.c:81
-#: eelf32xstormy16.c:81 eelf32xtensa.c:81 eelf64_aix.c:81 eelf64_ia64.c:81
-#: eelf64_ia64_fbsd.c:81 eelf64_ia64_vms.c:209 eelf64_s390.c:81
-#: eelf64_sparc.c:81 eelf64_sparc_fbsd.c:81 eelf64_sparc_sol2.c:81
-#: eelf64alpha.c:81 eelf64alpha_fbsd.c:81 eelf64alpha_nbsd.c:81 eelf64bmip.c:81
-#: eelf64btsmip.c:81 eelf64btsmip_fbsd.c:81 eelf64hppa.c:81 eelf64lppc.c:81
-#: eelf64lriscv.c:81 eelf64lriscv_lp64.c:81 eelf64lriscv_lp64f.c:81
-#: eelf64ltsmip.c:81 eelf64ltsmip_fbsd.c:81 eelf64mmix.c:81 eelf64ppc.c:81
-#: eelf64ppc_fbsd.c:81 eelf64rdos.c:81 eelf64tilegx.c:81 eelf64tilegx_be.c:81
-#: eelf_i386.c:84 eelf_i386_be.c:81 eelf_i386_chaos.c:81 eelf_i386_fbsd.c:81
-#: eelf_i386_ldso.c:81 eelf_i386_nacl.c:81 eelf_i386_sol2.c:81
-#: eelf_i386_vxworks.c:81 eelf_iamcu.c:81 eelf_k1om.c:84 eelf_k1om_fbsd.c:81
-#: eelf_l1om.c:84 eelf_l1om_fbsd.c:81 eelf_s390.c:81 eelf_x86_64.c:84
-#: eelf_x86_64_cloudabi.c:81 eelf_x86_64_fbsd.c:81 eelf_x86_64_nacl.c:81
-#: eelf_x86_64_sol2.c:81 eh8300elf.c:81 eh8300elf_linux.c:81 eh8300helf.c:81
-#: eh8300helf_linux.c:81 eh8300hnelf.c:81 eh8300self.c:81 eh8300self_linux.c:81
-#: eh8300snelf.c:81 eh8300sxelf.c:81 eh8300sxelf_linux.c:81 eh8300sxnelf.c:81
-#: ehppa64linux.c:81 ehppaelf.c:81 ehppalinux.c:81 ehppanbsd.c:81
-#: ehppaobsd.c:81 ei386lynx.c:81 ei386moss.c:81 ei386nto.c:81 em32relf.c:81
-#: em32relf_linux.c:81 em32rlelf.c:81 em32rlelf_linux.c:81 em68hc11elf.c:81
-#: em68hc11elfb.c:81 em68hc12elf.c:81 em68hc12elfb.c:81 em68kelf.c:81
-#: em68kelfnbsd.c:81 em9s12zelf.c:81 emmo.c:76 emn10200.c:64 emn10300.c:81
-#: emoxiebox.c:64 emsp430X.c:89 emsp430elf.c:89 ends32belf.c:81
-#: ends32belf16m.c:81 ends32belf_linux.c:81 ends32elf.c:81 ends32elf16m.c:81
-#: ends32elf_linux.c:81 enios2elf.c:81 enios2linux.c:81 epjelf.c:64
-#: epjlelf.c:64 eppclynx.c:81 epruelf.c:81 escore3_elf.c:81 escore7_elf.c:81
-#: eshelf.c:81 eshelf_fd.c:81 eshelf_linux.c:81 eshelf_nbsd.c:81
-#: eshelf_nto.c:81 eshelf_uclinux.c:81 eshelf_vxworks.c:81 eshlelf.c:81
-#: eshlelf_fd.c:81 eshlelf_linux.c:81 eshlelf_nbsd.c:81 eshlelf_nto.c:81
-#: eshlelf_vxworks.c:81 ev850.c:81 ev850_rh850.c:81 exgateelf.c:64
-msgid "%F%P: map sections to segments failed: %E\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:101 eaarch64cloudabib.c:101 eaarch64elf.c:101
-#: eaarch64elf32.c:101 eaarch64elf32b.c:101 eaarch64elfb.c:101
-#: eaarch64fbsd.c:101 eaarch64fbsdb.c:101 eaarch64linux.c:101
-#: eaarch64linux32.c:101 eaarch64linux32b.c:101 eaarch64linuxb.c:101
-#: earcelf.c:101 earcelf_prof.c:101 earclinux.c:101 earclinux_nps.c:101
-#: earclinux_prof.c:101 earcv2elf.c:101 earcv2elfx.c:101 earmelf.c:101
-#: earmelf_fbsd.c:101 earmelf_fuchsia.c:101 earmelf_linux.c:101
-#: earmelf_linux_eabi.c:101 earmelf_linux_fdpiceabi.c:101 earmelf_nacl.c:101
-#: earmelf_nbsd.c:101 earmelf_phoenix.c:101 earmelf_vxworks.c:101
-#: earmelfb.c:101 earmelfb_fbsd.c:101 earmelfb_fuchsia.c:101
-#: earmelfb_linux.c:101 earmelfb_linux_eabi.c:101
-#: earmelfb_linux_fdpiceabi.c:101 earmelfb_nacl.c:101 earmelfb_nbsd.c:101
-#: earmnto.c:101 earmsymbian.c:101 eavr1.c:101 eavr2.c:101 eavr25.c:101
-#: eavr3.c:101 eavr31.c:101 eavr35.c:101 eavr4.c:101 eavr5.c:101 eavr51.c:101
-#: eavr6.c:101 eavrtiny.c:101 eavrxmega1.c:101 eavrxmega2.c:101
-#: eavrxmega3.c:101 eavrxmega4.c:101 eavrxmega5.c:101 eavrxmega6.c:101
-#: eavrxmega7.c:101 ecriself.c:101 ecrislinux.c:101 ecskyelf.c:101
-#: ecskyelf_linux.c:101 ed10velf.c:101 ed30v_e.c:84 ed30v_o.c:84 ed30velf.c:84
-#: eelf32_dlx.c:84 eelf32_sparc.c:101 eelf32_sparc_sol2.c:101
-#: eelf32_sparc_vxworks.c:101 eelf32_spu.c:101 eelf32_tic6x_be.c:101
-#: eelf32_tic6x_elf_be.c:101 eelf32_tic6x_elf_le.c:101 eelf32_tic6x_le.c:101
-#: eelf32_tic6x_linux_be.c:101 eelf32_tic6x_linux_le.c:101 eelf32_x86_64.c:104
-#: eelf32_x86_64_nacl.c:101 eelf32am33lin.c:101 eelf32b4300.c:101
-#: eelf32bfin.c:101 eelf32bfinfd.c:101 eelf32bmip.c:101 eelf32bmipn32.c:101
-#: eelf32bsmip.c:101 eelf32btsmip.c:101 eelf32btsmip_fbsd.c:101
-#: eelf32btsmipn32.c:101 eelf32btsmipn32_fbsd.c:101 eelf32cr16.c:101
-#: eelf32cr16c.c:101 eelf32crx.c:101 eelf32ebmip.c:101 eelf32ebmipvxworks.c:101
-#: eelf32elmip.c:101 eelf32elmipvxworks.c:101 eelf32epiphany.c:101
-#: eelf32epiphany_4x4.c:101 eelf32fr30.c:84 eelf32frv.c:84 eelf32frvfd.c:101
-#: eelf32ft32.c:84 eelf32ip2k.c:101 eelf32iq10.c:84 eelf32iq2000.c:84
-#: eelf32l4300.c:101 eelf32lm32.c:101 eelf32lm32fd.c:101 eelf32lmip.c:101
-#: eelf32lppc.c:101 eelf32lppclinux.c:101 eelf32lppcnto.c:101
-#: eelf32lppcsim.c:101 eelf32lr5900.c:101 eelf32lr5900n32.c:101
-#: eelf32lriscv.c:101 eelf32lriscv_ilp32.c:101 eelf32lriscv_ilp32f.c:101
-#: eelf32lsmip.c:101 eelf32ltsmip.c:101 eelf32ltsmip_fbsd.c:101
-#: eelf32ltsmipn32.c:101 eelf32ltsmipn32_fbsd.c:101 eelf32m32c.c:101
-#: eelf32mb_linux.c:101 eelf32mbel_linux.c:101 eelf32mcore.c:101
-#: eelf32mep.c:101 eelf32metag.c:101 eelf32microblaze.c:101
-#: eelf32microblazeel.c:101 eelf32mipswindiss.c:101 eelf32moxie.c:84
-#: eelf32mt.c:84 eelf32or1k.c:101 eelf32or1k_linux.c:101 eelf32ppc.c:101
-#: eelf32ppc_fbsd.c:101 eelf32ppclinux.c:101 eelf32ppcnto.c:101
-#: eelf32ppcsim.c:101 eelf32ppcvxworks.c:101 eelf32ppcwindiss.c:101
-#: eelf32rl78.c:101 eelf32rx.c:101 eelf32tilegx.c:101 eelf32tilegx_be.c:101
-#: eelf32tilepro.c:101 eelf32vax.c:101 eelf32visium.c:101 eelf32xc16x.c:101
-#: eelf32xc16xl.c:101 eelf32xc16xs.c:101 eelf32xstormy16.c:101
-#: eelf32xtensa.c:101 eelf64_aix.c:101 eelf64_ia64.c:101 eelf64_ia64_fbsd.c:101
-#: eelf64_ia64_vms.c:229 eelf64_s390.c:101 eelf64_sparc.c:101
-#: eelf64_sparc_fbsd.c:101 eelf64_sparc_sol2.c:101 eelf64alpha.c:101
-#: eelf64alpha_fbsd.c:101 eelf64alpha_nbsd.c:101 eelf64bmip.c:101
-#: eelf64btsmip.c:101 eelf64btsmip_fbsd.c:101 eelf64hppa.c:101 eelf64lppc.c:101
-#: eelf64lriscv.c:101 eelf64lriscv_lp64.c:101 eelf64lriscv_lp64f.c:101
-#: eelf64ltsmip.c:101 eelf64ltsmip_fbsd.c:101 eelf64mmix.c:101 eelf64ppc.c:101
-#: eelf64ppc_fbsd.c:101 eelf64rdos.c:101 eelf64tilegx.c:101
-#: eelf64tilegx_be.c:101 eelf_i386.c:104 eelf_i386_be.c:101
-#: eelf_i386_chaos.c:101 eelf_i386_fbsd.c:101 eelf_i386_ldso.c:101
-#: eelf_i386_nacl.c:101 eelf_i386_sol2.c:101 eelf_i386_vxworks.c:101
-#: eelf_iamcu.c:101 eelf_k1om.c:104 eelf_k1om_fbsd.c:101 eelf_l1om.c:104
-#: eelf_l1om_fbsd.c:101 eelf_s390.c:101 eelf_x86_64.c:104
-#: eelf_x86_64_cloudabi.c:101 eelf_x86_64_fbsd.c:101 eelf_x86_64_nacl.c:101
-#: eelf_x86_64_sol2.c:101 eh8300elf.c:101 eh8300elf_linux.c:101
-#: eh8300helf.c:101 eh8300helf_linux.c:101 eh8300hnelf.c:101 eh8300self.c:101
-#: eh8300self_linux.c:101 eh8300snelf.c:101 eh8300sxelf.c:101
-#: eh8300sxelf_linux.c:101 eh8300sxnelf.c:101 ehppa64linux.c:101 ehppaelf.c:101
-#: ehppalinux.c:101 ehppanbsd.c:101 ehppaobsd.c:101 ei386lynx.c:101
-#: ei386moss.c:101 ei386nto.c:101 em32relf.c:101 em32relf_linux.c:101
-#: em32rlelf.c:101 em32rlelf_linux.c:101 em68hc11elf.c:101 em68hc11elfb.c:101
-#: em68hc12elf.c:101 em68hc12elfb.c:101 em68kelf.c:101 em68kelfnbsd.c:101
-#: em9s12zelf.c:101 emmo.c:96 emn10200.c:84 emn10300.c:101 emoxiebox.c:84
-#: emsp430X.c:109 emsp430elf.c:109 ends32belf.c:101 ends32belf16m.c:101
-#: ends32belf_linux.c:101 ends32elf.c:101 ends32elf16m.c:101
-#: ends32elf_linux.c:101 enios2elf.c:101 enios2linux.c:101 epjelf.c:84
-#: epjlelf.c:84 eppclynx.c:101 epruelf.c:101 escore3_elf.c:101
-#: escore7_elf.c:101 eshelf.c:101 eshelf_fd.c:101 eshelf_linux.c:101
-#: eshelf_nbsd.c:101 eshelf_nto.c:101 eshelf_uclinux.c:101 eshelf_vxworks.c:101
-#: eshlelf.c:101 eshlelf_fd.c:101 eshlelf_linux.c:101 eshlelf_nbsd.c:101
-#: eshlelf_nto.c:101 eshlelf_vxworks.c:101 ev850.c:101 ev850_rh850.c:101
-#: exgateelf.c:84
-msgid "%F%P: looping in map_segments"
-msgstr ""
-
-#: eaarch64cloudabi.c:272 eaarch64cloudabib.c:272 eaarch64elf.c:272
-#: eaarch64elf32.c:272 eaarch64elf32b.c:272 eaarch64elfb.c:272
-#: eaarch64fbsd.c:272 eaarch64fbsdb.c:272 eaarch64linux.c:272
-#: eaarch64linux32.c:272 eaarch64linux32b.c:272 eaarch64linuxb.c:272
-#: earmelf.c:343 earmelf_fbsd.c:343 earmelf_fuchsia.c:343 earmelf_linux.c:343
-#: earmelf_linux_eabi.c:343 earmelf_linux_fdpiceabi.c:343 earmelf_nacl.c:343
-#: earmelf_nbsd.c:343 earmelf_phoenix.c:343 earmelf_vxworks.c:343
-#: earmelfb.c:343 earmelfb_fbsd.c:343 earmelfb_fuchsia.c:343
-#: earmelfb_linux.c:343 earmelfb_linux_eabi.c:343
-#: earmelfb_linux_fdpiceabi.c:343 earmelfb_nacl.c:343 earmelfb_nbsd.c:343
-#: earmnto.c:343 earmsymbian.c:343 eavr1.c:230 eavr2.c:230 eavr25.c:230
-#: eavr3.c:230 eavr31.c:230 eavr35.c:230 eavr4.c:230 eavr5.c:230 eavr51.c:230
-#: eavr6.c:230 eavrtiny.c:230 eavrxmega1.c:230 eavrxmega2.c:230
-#: eavrxmega3.c:230 eavrxmega4.c:230 eavrxmega5.c:230 eavrxmega6.c:230
-#: eavrxmega7.c:230 ecskyelf.c:254 ecskyelf_linux.c:254 eelf32b4300.c:271
-#: eelf32bmip.c:271 eelf32bmipn32.c:289 eelf32bsmip.c:289 eelf32btsmip.c:271
-#: eelf32btsmip_fbsd.c:271 eelf32btsmipn32.c:271 eelf32btsmipn32_fbsd.c:271
-#: eelf32ebmip.c:271 eelf32ebmipvxworks.c:271 eelf32elmip.c:271
-#: eelf32elmipvxworks.c:271 eelf32l4300.c:271 eelf32lmip.c:271
-#: eelf32lr5900.c:271 eelf32lr5900n32.c:271 eelf32lsmip.c:271
-#: eelf32ltsmip.c:271 eelf32ltsmip_fbsd.c:271 eelf32ltsmipn32.c:271
-#: eelf32ltsmipn32_fbsd.c:271 eelf32metag.c:258 eelf32mipswindiss.c:271
-#: eelf64bmip.c:289 eelf64btsmip.c:271 eelf64btsmip_fbsd.c:271 eelf64lppc.c:523
-#: eelf64ltsmip.c:271 eelf64ltsmip_fbsd.c:271 eelf64ppc.c:523
-#: eelf64ppc_fbsd.c:523 ehppaelf.c:282 ehppalinux.c:282 ehppanbsd.c:282
-#: ehppaobsd.c:282 em68hc11elf.c:349 em68hc11elfb.c:349 em68hc12elf.c:349
-#: em68hc12elfb.c:349 enios2elf.c:275 enios2linux.c:275
+#: eaarch64cloudabi.c:223 eaarch64cloudabib.c:223 eaarch64elf.c:223
+#: eaarch64elf32.c:223 eaarch64elf32b.c:223 eaarch64elfb.c:223
+#: eaarch64fbsd.c:223 eaarch64fbsdb.c:223 eaarch64linux.c:223
+#: eaarch64linux32.c:223 eaarch64linux32b.c:223 eaarch64linuxb.c:223
+#: earmelf.c:292 earmelf_fbsd.c:292 earmelf_fuchsia.c:292 earmelf_linux.c:292
+#: earmelf_linux_eabi.c:292 earmelf_linux_fdpiceabi.c:292 earmelf_nacl.c:292
+#: earmelf_nbsd.c:292 earmelf_phoenix.c:292 earmelf_vxworks.c:292
+#: earmelfb.c:292 earmelfb_fbsd.c:292 earmelfb_fuchsia.c:292
+#: earmelfb_linux.c:292 earmelfb_linux_eabi.c:292
+#: earmelfb_linux_fdpiceabi.c:292 earmelfb_nacl.c:292 earmelfb_nbsd.c:292
+#: earmnto.c:292 earmsymbian.c:292 eavr1.c:178 eavr2.c:178 eavr25.c:178
+#: eavr3.c:178 eavr31.c:178 eavr35.c:178 eavr4.c:178 eavr5.c:178 eavr51.c:178
+#: eavr6.c:178 eavrtiny.c:178 eavrxmega1.c:178 eavrxmega2.c:178
+#: eavrxmega3.c:178 eavrxmega4.c:178 eavrxmega5.c:178 eavrxmega6.c:178
+#: eavrxmega7.c:178 ecskyelf.c:210 ecskyelf_linux.c:210 eelf32b4300.c:205
+#: eelf32bmip.c:205 eelf32bmipn32.c:219 eelf32bsmip.c:219 eelf32btsmip.c:205
+#: eelf32btsmip_fbsd.c:205 eelf32btsmipn32.c:205 eelf32btsmipn32_fbsd.c:205
+#: eelf32ebmip.c:205 eelf32ebmipvxworks.c:205 eelf32elmip.c:205
+#: eelf32elmipvxworks.c:205 eelf32l4300.c:205 eelf32lmip.c:205
+#: eelf32lr5900.c:205 eelf32lr5900n32.c:205 eelf32lsmip.c:205
+#: eelf32ltsmip.c:205 eelf32ltsmip_fbsd.c:205 eelf32ltsmipn32.c:205
+#: eelf32ltsmipn32_fbsd.c:205 eelf32metag.c:206 eelf32mipswindiss.c:205
+#: eelf64bmip.c:219 eelf64btsmip.c:205 eelf64btsmip_fbsd.c:205 eelf64lppc.c:470
+#: eelf64ltsmip.c:205 eelf64ltsmip_fbsd.c:205 eelf64ppc.c:470
+#: eelf64ppc_fbsd.c:470 ehppaelf.c:230 ehppalinux.c:230 ehppanbsd.c:230
+#: ehppaobsd.c:230 em68hc11elf.c:295 em68hc11elfb.c:295 em68hc12elf.c:295
+#: em68hc12elfb.c:295 enios2elf.c:223 enios2linux.c:223
 msgid "%X%P: can not make stub section: %E\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:315 eaarch64cloudabib.c:315 eaarch64elf.c:315
-#: eaarch64elf32.c:315 eaarch64elf32b.c:315 eaarch64elfb.c:315
-#: eaarch64fbsd.c:315 eaarch64fbsdb.c:315 eaarch64linux.c:315
-#: eaarch64linux32.c:315 eaarch64linux32b.c:315 eaarch64linuxb.c:315
-#: earcelf.c:1828 earcelf_prof.c:1828 earclinux.c:1830 earclinux_nps.c:1830
-#: earclinux_prof.c:1830 earcv2elf.c:1828 earcv2elfx.c:1828 earmelf.c:455
-#: earmelf_fbsd.c:455 earmelf_fuchsia.c:455 earmelf_linux.c:455
-#: earmelf_linux_eabi.c:455 earmelf_linux_fdpiceabi.c:455 earmelf_nacl.c:455
-#: earmelf_nbsd.c:455 earmelf_phoenix.c:455 earmelf_vxworks.c:455
-#: earmelfb.c:455 earmelfb_fbsd.c:455 earmelfb_fuchsia.c:455
-#: earmelfb_linux.c:455 earmelfb_linux_eabi.c:455
-#: earmelfb_linux_fdpiceabi.c:455 earmelfb_nacl.c:455 earmelfb_nbsd.c:455
-#: earmnto.c:455 earmsymbian.c:455 eavr1.c:2031 eavr2.c:2031 eavr25.c:2031
-#: eavr3.c:2031 eavr31.c:2031 eavr35.c:2031 eavr4.c:2031 eavr5.c:2031
-#: eavr51.c:2031 eavr6.c:2031 eavrtiny.c:2031 eavrxmega1.c:2031
-#: eavrxmega2.c:2031 eavrxmega3.c:2031 eavrxmega4.c:2031 eavrxmega5.c:2031
-#: eavrxmega6.c:2031 eavrxmega7.c:2031 ecriself.c:1828 ecrislinux.c:1828
-#: ed10velf.c:1828 eelf32_sparc.c:1828 eelf32_sparc_sol2.c:1959
-#: eelf32_sparc_vxworks.c:1857 eelf32_spu.c:2498 eelf32_tic6x_be.c:233
-#: eelf32_tic6x_elf_be.c:233 eelf32_tic6x_elf_le.c:233 eelf32_tic6x_le.c:233
-#: eelf32_tic6x_linux_be.c:233 eelf32_tic6x_linux_le.c:233 eelf32_x86_64.c:2160
-#: eelf32_x86_64_nacl.c:1828 eelf32am33lin.c:1828 eelf32b4300.c:2055
-#: eelf32bfin.c:1837 eelf32bfinfd.c:1837 eelf32bmip.c:2055 eelf32bmipn32.c:2073
-#: eelf32bsmip.c:2073 eelf32btsmip.c:2055 eelf32btsmip_fbsd.c:2062
-#: eelf32btsmipn32.c:2055 eelf32btsmipn32_fbsd.c:2062 eelf32cr16.c:1979
-#: eelf32cr16c.c:1828 eelf32crx.c:1867 eelf32ebmip.c:2055
-#: eelf32ebmipvxworks.c:2084 eelf32elmip.c:2055 eelf32elmipvxworks.c:2084
-#: eelf32epiphany.c:1828 eelf32epiphany_4x4.c:1830 eelf32frvfd.c:1828
-#: eelf32ip2k.c:1828 eelf32l4300.c:2055 eelf32lm32.c:1828 eelf32lm32fd.c:1828
-#: eelf32lmip.c:2055 eelf32lppc.c:2044 eelf32lppclinux.c:2044
-#: eelf32lppcnto.c:2044 eelf32lppcsim.c:2044 eelf32lr5900.c:2055
-#: eelf32lr5900n32.c:2055 eelf32lriscv.c:141 eelf32lriscv_ilp32.c:141
-#: eelf32lriscv_ilp32f.c:141 eelf32lsmip.c:2055 eelf32ltsmip.c:2055
-#: eelf32ltsmip_fbsd.c:2062 eelf32ltsmipn32.c:2055 eelf32ltsmipn32_fbsd.c:2062
-#: eelf32m32c.c:1839 eelf32mb_linux.c:1828 eelf32mbel_linux.c:1828
-#: eelf32mcore.c:1828 eelf32mep.c:1828 eelf32metag.c:308
-#: eelf32microblaze.c:1828 eelf32microblazeel.c:1828 eelf32mipswindiss.c:2055
-#: eelf32or1k.c:1828 eelf32or1k_linux.c:1828 eelf32ppc.c:2044
-#: eelf32ppc_fbsd.c:2051 eelf32ppclinux.c:2044 eelf32ppcnto.c:2044
-#: eelf32ppcsim.c:2044 eelf32ppcvxworks.c:2018 eelf32ppcwindiss.c:2044
-#: eelf32rl78.c:1828 eelf32rx.c:1844 eelf32tilegx.c:1828 eelf32tilegx_be.c:1828
-#: eelf32tilepro.c:1828 eelf32vax.c:1828 eelf32visium.c:1828 eelf32xc16x.c:1828
-#: eelf32xc16xl.c:1828 eelf32xc16xs.c:1828 eelf32xstormy16.c:1839
-#: eelf32xtensa.c:3715 eelf64_aix.c:1828 eelf64_ia64.c:1852
-#: eelf64_ia64_fbsd.c:1859 eelf64_ia64_vms.c:262 eelf64_s390.c:1843
-#: eelf64_sparc.c:1828 eelf64_sparc_fbsd.c:1835 eelf64_sparc_sol2.c:1959
-#: eelf64alpha.c:1911 eelf64alpha_fbsd.c:1918 eelf64alpha_nbsd.c:1911
-#: eelf64bmip.c:2073 eelf64btsmip.c:2055 eelf64btsmip_fbsd.c:2062
-#: eelf64hppa.c:1828 eelf64lppc.c:633 eelf64lriscv.c:141
-#: eelf64lriscv_lp64.c:141 eelf64lriscv_lp64f.c:141 eelf64ltsmip.c:2055
-#: eelf64ltsmip_fbsd.c:2062 eelf64mmix.c:1939 eelf64ppc.c:633
-#: eelf64ppc_fbsd.c:633 eelf64rdos.c:1828 eelf64tilegx.c:1828
-#: eelf64tilegx_be.c:1828 eelf_i386.c:2160 eelf_i386_be.c:1828
-#: eelf_i386_chaos.c:1828 eelf_i386_fbsd.c:1835 eelf_i386_ldso.c:1835
-#: eelf_i386_nacl.c:1828 eelf_i386_sol2.c:1966 eelf_i386_vxworks.c:1857
-#: eelf_iamcu.c:1828 eelf_k1om.c:2160 eelf_k1om_fbsd.c:1835 eelf_l1om.c:2160
-#: eelf_l1om_fbsd.c:1835 eelf_s390.c:1828 eelf_x86_64.c:2160
-#: eelf_x86_64_cloudabi.c:1828 eelf_x86_64_fbsd.c:1835 eelf_x86_64_nacl.c:1828
-#: eelf_x86_64_sol2.c:1959 eh8300elf.c:1828 eh8300elf_linux.c:1828
-#: eh8300helf.c:1828 eh8300helf_linux.c:1828 eh8300hnelf.c:1828
-#: eh8300self.c:1828 eh8300self_linux.c:1828 eh8300snelf.c:1828
-#: eh8300sxelf.c:1828 eh8300sxelf_linux.c:1828 eh8300sxnelf.c:1828
-#: ehppa64linux.c:1828 ehppaelf.c:332 ehppalinux.c:332 ehppanbsd.c:332
-#: ehppaobsd.c:332 ei386lynx.c:1835 ei386moss.c:1828 ei386nto.c:1828
-#: em32relf.c:1828 em32relf_linux.c:1828 em32rlelf.c:1828
-#: em32rlelf_linux.c:1828 em68hc11elf.c:2128 em68hc11elfb.c:2128
-#: em68hc12elf.c:2128 em68hc12elfb.c:2128 em68kelf.c:1978 em68kelfnbsd.c:1978
-#: em9s12zelf.c:1828 emn10300.c:1828 ends32belf.c:1935 ends32belf16m.c:1935
-#: ends32belf_linux.c:1935 ends32elf.c:1935 ends32elf16m.c:1935
-#: ends32elf_linux.c:1935 enios2elf.c:325 enios2linux.c:325 eppclynx.c:2051
-#: epruelf.c:1848 escore3_elf.c:1848 escore7_elf.c:1848 eshelf.c:1828
-#: eshelf_fd.c:1828 eshelf_linux.c:1828 eshelf_nbsd.c:1828 eshelf_nto.c:1828
-#: eshelf_uclinux.c:1828 eshelf_vxworks.c:1857 eshlelf.c:1828 eshlelf_fd.c:1828
-#: eshlelf_linux.c:1828 eshlelf_nbsd.c:1828 eshlelf_nto.c:1828
-#: eshlelf_vxworks.c:1857 ev850.c:1874 ev850_rh850.c:1874
+#: eaarch64cloudabi.c:266 eaarch64cloudabib.c:266 eaarch64elf.c:266
+#: eaarch64elf32.c:266 eaarch64elf32b.c:266 eaarch64elfb.c:266
+#: eaarch64fbsd.c:266 eaarch64fbsdb.c:266 eaarch64linux.c:266
+#: eaarch64linux32.c:266 eaarch64linux32b.c:266 eaarch64linuxb.c:266
+#: earcelf.c:97 earcelf_prof.c:97 earclinux.c:97 earclinux_nps.c:97
+#: earclinux_prof.c:97 earcv2elf.c:97 earcv2elfx.c:97 earmelf.c:404
+#: earmelf_fbsd.c:404 earmelf_fuchsia.c:404 earmelf_linux.c:404
+#: earmelf_linux_eabi.c:404 earmelf_linux_fdpiceabi.c:404 earmelf_nacl.c:404
+#: earmelf_nbsd.c:404 earmelf_phoenix.c:404 earmelf_vxworks.c:404
+#: earmelfb.c:404 earmelfb_fbsd.c:404 earmelfb_fuchsia.c:404
+#: earmelfb_linux.c:404 earmelfb_linux_eabi.c:404
+#: earmelfb_linux_fdpiceabi.c:404 earmelfb_nacl.c:404 earmelfb_nbsd.c:404
+#: earmnto.c:404 earmsymbian.c:404 eavr1.c:300 eavr2.c:300 eavr25.c:300
+#: eavr3.c:300 eavr31.c:300 eavr35.c:300 eavr4.c:300 eavr5.c:300 eavr51.c:300
+#: eavr6.c:300 eavrtiny.c:300 eavrxmega1.c:300 eavrxmega2.c:300
+#: eavrxmega3.c:300 eavrxmega4.c:300 eavrxmega5.c:300 eavrxmega6.c:300
+#: eavrxmega7.c:300 ecriself.c:97 ecrislinux.c:97 ed10velf.c:97
+#: eelf32_sparc.c:97 eelf32_sparc_sol2.c:228 eelf32_sparc_vxworks.c:126
+#: eelf32_spu.c:767 eelf32_tic6x_be.c:181 eelf32_tic6x_elf_be.c:181
+#: eelf32_tic6x_elf_le.c:181 eelf32_tic6x_le.c:181 eelf32_tic6x_linux_be.c:181
+#: eelf32_tic6x_linux_le.c:181 eelf32_x86_64.c:120 eelf32_x86_64_nacl.c:120
+#: eelf32am33lin.c:97 eelf32b4300.c:293 eelf32bfin.c:107 eelf32bfinfd.c:107
+#: eelf32bmip.c:293 eelf32bmipn32.c:307 eelf32bsmip.c:307 eelf32btsmip.c:293
+#: eelf32btsmip_fbsd.c:293 eelf32btsmipn32.c:293 eelf32btsmipn32_fbsd.c:293
+#: eelf32cr16.c:247 eelf32crx.c:134 eelf32ebmip.c:293 eelf32ebmipvxworks.c:322
+#: eelf32elmip.c:293 eelf32elmipvxworks.c:322 eelf32epiphany.c:97
+#: eelf32epiphany_4x4.c:99 eelf32frvfd.c:97 eelf32ip2k.c:97 eelf32l4300.c:293
+#: eelf32lm32.c:97 eelf32lm32fd.c:97 eelf32lmip.c:293 eelf32lppc.c:317
+#: eelf32lppclinux.c:317 eelf32lppcnto.c:317 eelf32lppcsim.c:317
+#: eelf32lr5900.c:293 eelf32lr5900n32.c:293 eelf32lriscv.c:89
+#: eelf32lriscv_ilp32.c:89 eelf32lriscv_ilp32f.c:89 eelf32lsmip.c:293
+#: eelf32ltsmip.c:293 eelf32ltsmip_fbsd.c:293 eelf32ltsmipn32.c:293
+#: eelf32ltsmipn32_fbsd.c:293 eelf32m32c.c:108 eelf32mb_linux.c:97
+#: eelf32mbel_linux.c:97 eelf32mcore.c:97 eelf32mep.c:97 eelf32metag.c:256
+#: eelf32microblaze.c:97 eelf32microblazeel.c:97 eelf32mipswindiss.c:293
+#: eelf32moxie.c:97 eelf32or1k.c:97 eelf32or1k_linux.c:97 eelf32ppc.c:317
+#: eelf32ppc_fbsd.c:317 eelf32ppclinux.c:317 eelf32ppcnto.c:317
+#: eelf32ppcsim.c:317 eelf32ppcvxworks.c:291 eelf32ppcwindiss.c:317
+#: eelf32rl78.c:97 eelf32rx.c:113 eelf32tilegx.c:97 eelf32tilegx_be.c:97
+#: eelf32tilepro.c:97 eelf32vax.c:97 eelf32visium.c:97 eelf32xc16x.c:97
+#: eelf32xc16xl.c:97 eelf32xc16xs.c:97 eelf32xstormy16.c:108
+#: eelf32xtensa.c:1988 eelf32z80.c:204 eelf64_aix.c:97 eelf64_ia64.c:123
+#: eelf64_ia64_fbsd.c:123 eelf64_ia64_vms.c:220 eelf64_s390.c:112
+#: eelf64_sparc.c:97 eelf64_sparc_fbsd.c:97 eelf64_sparc_sol2.c:228
+#: eelf64alpha.c:180 eelf64alpha_fbsd.c:180 eelf64alpha_nbsd.c:180
+#: eelf64bmip.c:307 eelf64bpf.c:97 eelf64btsmip.c:293 eelf64btsmip_fbsd.c:293
+#: eelf64hppa.c:97 eelf64lppc.c:580 eelf64lriscv.c:89 eelf64lriscv_lp64.c:89
+#: eelf64lriscv_lp64f.c:89 eelf64ltsmip.c:293 eelf64ltsmip_fbsd.c:293
+#: eelf64mmix.c:208 eelf64ppc.c:580 eelf64ppc_fbsd.c:580 eelf64rdos.c:111
+#: eelf64tilegx.c:97 eelf64tilegx_be.c:97 eelf_i386.c:120 eelf_i386_be.c:120
+#: eelf_i386_fbsd.c:120 eelf_i386_ldso.c:120 eelf_i386_nacl.c:120
+#: eelf_i386_sol2.c:251 eelf_i386_vxworks.c:149 eelf_iamcu.c:120
+#: eelf_k1om.c:120 eelf_k1om_fbsd.c:120 eelf_l1om.c:120 eelf_l1om_fbsd.c:120
+#: eelf_s390.c:97 eelf_x86_64.c:120 eelf_x86_64_cloudabi.c:120
+#: eelf_x86_64_fbsd.c:120 eelf_x86_64_nacl.c:120 eelf_x86_64_sol2.c:251
+#: eh8300elf.c:97 eh8300elf_linux.c:97 eh8300helf.c:97 eh8300helf_linux.c:97
+#: eh8300hnelf.c:97 eh8300self.c:97 eh8300self_linux.c:97 eh8300snelf.c:97
+#: eh8300sxelf.c:97 eh8300sxelf_linux.c:97 eh8300sxnelf.c:97 ehppa64linux.c:97
+#: ehppaelf.c:280 ehppalinux.c:280 ehppanbsd.c:280 ehppaobsd.c:280
+#: ei386lynx.c:111 ei386moss.c:111 ei386nto.c:111 em32relf.c:97
+#: em32relf_linux.c:97 em32rlelf.c:97 em32rlelf_linux.c:97 em68hc11elf.c:374
+#: em68hc11elfb.c:374 em68hc12elf.c:374 em68hc12elfb.c:374 em68kelf.c:248
+#: em68kelfnbsd.c:248 emn10300.c:97 ends32belf.c:204 ends32belf16m.c:204
+#: ends32belf_linux.c:204 ends32elf.c:204 ends32elf16m.c:204
+#: ends32elf_linux.c:204 enios2elf.c:273 enios2linux.c:273 eppclynx.c:317
+#: epruelf.c:117 escore3_elf.c:118 escore7_elf.c:118 eshelf.c:97 eshelf_fd.c:97
+#: eshelf_linux.c:97 eshelf_nbsd.c:97 eshelf_nto.c:97 eshelf_uclinux.c:97
+#: eshelf_vxworks.c:126 eshlelf.c:97 eshlelf_fd.c:97 eshlelf_linux.c:97
+#: eshlelf_nbsd.c:97 eshlelf_nto.c:97 eshlelf_vxworks.c:126 ev850.c:144
+#: ev850_rh850.c:144
 msgid "%X%P: .eh_frame/.stab edit: %E\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:331 eaarch64cloudabib.c:331 eaarch64elf.c:331
-#: eaarch64elf32.c:331 eaarch64elf32b.c:331 eaarch64elfb.c:331
-#: eaarch64fbsd.c:331 eaarch64fbsdb.c:331 eaarch64linux.c:331
-#: eaarch64linux32.c:331 eaarch64linux32b.c:331 eaarch64linuxb.c:331
-#: earmelf.c:470 earmelf_fbsd.c:470 earmelf_fuchsia.c:470 earmelf_linux.c:470
-#: earmelf_linux_eabi.c:470 earmelf_linux_fdpiceabi.c:470 earmelf_nacl.c:470
-#: earmelf_nbsd.c:470 earmelf_phoenix.c:470 earmelf_vxworks.c:470
-#: earmelfb.c:470 earmelfb_fbsd.c:470 earmelfb_fuchsia.c:470
-#: earmelfb_linux.c:470 earmelfb_linux_eabi.c:470
-#: earmelfb_linux_fdpiceabi.c:470 earmelfb_nacl.c:470 earmelfb_nbsd.c:470
-#: earmnto.c:470 earmsymbian.c:470 ecskyelf.c:304 ecskyelf_linux.c:304
+#: eaarch64cloudabi.c:282 eaarch64cloudabib.c:282 eaarch64elf.c:282
+#: eaarch64elf32.c:282 eaarch64elf32b.c:282 eaarch64elfb.c:282
+#: eaarch64fbsd.c:282 eaarch64fbsdb.c:282 eaarch64linux.c:282
+#: eaarch64linux32.c:282 eaarch64linux32b.c:282 eaarch64linuxb.c:282
+#: earmelf.c:419 earmelf_fbsd.c:419 earmelf_fuchsia.c:419 earmelf_linux.c:419
+#: earmelf_linux_eabi.c:419 earmelf_linux_fdpiceabi.c:419 earmelf_nacl.c:419
+#: earmelf_nbsd.c:419 earmelf_phoenix.c:419 earmelf_vxworks.c:419
+#: earmelfb.c:419 earmelfb_fbsd.c:419 earmelfb_fuchsia.c:419
+#: earmelfb_linux.c:419 earmelfb_linux_eabi.c:419
+#: earmelfb_linux_fdpiceabi.c:419 earmelfb_nacl.c:419 earmelfb_nbsd.c:419
+#: earmnto.c:419 earmsymbian.c:419 ecskyelf.c:260 ecskyelf_linux.c:260
 msgid "%X%P: could not compute sections lists for stub generation: %E\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:346 eaarch64cloudabib.c:346 eaarch64elf.c:346
-#: eaarch64elf32.c:346 eaarch64elf32b.c:346 eaarch64elfb.c:346
-#: eaarch64fbsd.c:346 eaarch64fbsdb.c:346 eaarch64linux.c:346
-#: eaarch64linux32.c:346 eaarch64linux32b.c:346 eaarch64linuxb.c:346
-#: earmelf.c:485 earmelf_fbsd.c:485 earmelf_fuchsia.c:485 earmelf_linux.c:485
-#: earmelf_linux_eabi.c:485 earmelf_linux_fdpiceabi.c:485 earmelf_nacl.c:485
-#: earmelf_nbsd.c:485 earmelf_phoenix.c:485 earmelf_vxworks.c:485
-#: earmelfb.c:485 earmelfb_fbsd.c:485 earmelfb_fuchsia.c:485
-#: earmelfb_linux.c:485 earmelfb_linux_eabi.c:485
-#: earmelfb_linux_fdpiceabi.c:485 earmelfb_nacl.c:485 earmelfb_nbsd.c:485
-#: earmnto.c:485 earmsymbian.c:485 eavr1.c:181 eavr1.c:244 eavr2.c:181
-#: eavr2.c:244 eavr25.c:181 eavr25.c:244 eavr3.c:181 eavr3.c:244 eavr31.c:181
-#: eavr31.c:244 eavr35.c:181 eavr35.c:244 eavr4.c:181 eavr4.c:244 eavr5.c:181
-#: eavr5.c:244 eavr51.c:181 eavr51.c:244 eavr6.c:181 eavr6.c:244 eavrtiny.c:181
-#: eavrtiny.c:244 eavrxmega1.c:181 eavrxmega1.c:244 eavrxmega2.c:181
-#: eavrxmega2.c:244 eavrxmega3.c:181 eavrxmega3.c:244 eavrxmega4.c:181
-#: eavrxmega4.c:244 eavrxmega5.c:181 eavrxmega5.c:244 eavrxmega6.c:181
-#: eavrxmega6.c:244 eavrxmega7.c:181 eavrxmega7.c:244 eelf32metag.c:323
-#: eelf32metag.c:337 eelf64lppc.c:576 eelf64lppc.c:595 eelf64lppc.c:622
-#: eelf64ppc.c:576 eelf64ppc.c:595 eelf64ppc.c:622 eelf64ppc_fbsd.c:576
-#: eelf64ppc_fbsd.c:595 eelf64ppc_fbsd.c:622 ehppaelf.c:347 ehppaelf.c:362
-#: ehppalinux.c:347 ehppalinux.c:362 ehppanbsd.c:347 ehppanbsd.c:362
-#: ehppaobsd.c:347 ehppaobsd.c:362 em68hc11elf.c:142 em68hc11elf.c:152
-#: em68hc11elf.c:371 em68hc11elfb.c:142 em68hc11elfb.c:152 em68hc11elfb.c:371
-#: em68hc12elf.c:142 em68hc12elf.c:152 em68hc12elf.c:371 em68hc12elfb.c:142
-#: em68hc12elfb.c:152 em68hc12elfb.c:371 enios2elf.c:342 enios2elf.c:355
-#: enios2linux.c:342 enios2linux.c:355
+#: eaarch64cloudabi.c:297 eaarch64cloudabib.c:297 eaarch64elf.c:297
+#: eaarch64elf32.c:297 eaarch64elf32b.c:297 eaarch64elfb.c:297
+#: eaarch64fbsd.c:297 eaarch64fbsdb.c:297 eaarch64linux.c:297
+#: eaarch64linux32.c:297 eaarch64linux32b.c:297 eaarch64linuxb.c:297
+#: earmelf.c:434 earmelf_fbsd.c:434 earmelf_fuchsia.c:434 earmelf_linux.c:434
+#: earmelf_linux_eabi.c:434 earmelf_linux_fdpiceabi.c:434 earmelf_nacl.c:434
+#: earmelf_nbsd.c:434 earmelf_phoenix.c:434 earmelf_vxworks.c:434
+#: earmelfb.c:434 earmelfb_fbsd.c:434 earmelfb_fuchsia.c:434
+#: earmelfb_linux.c:434 earmelfb_linux_eabi.c:434
+#: earmelfb_linux_fdpiceabi.c:434 earmelfb_nacl.c:434 earmelfb_nbsd.c:434
+#: earmnto.c:434 earmsymbian.c:434 eavr1.c:129 eavr1.c:192 eavr2.c:129
+#: eavr2.c:192 eavr25.c:129 eavr25.c:192 eavr3.c:129 eavr3.c:192 eavr31.c:129
+#: eavr31.c:192 eavr35.c:129 eavr35.c:192 eavr4.c:129 eavr4.c:192 eavr5.c:129
+#: eavr5.c:192 eavr51.c:129 eavr51.c:192 eavr6.c:129 eavr6.c:192 eavrtiny.c:129
+#: eavrtiny.c:192 eavrxmega1.c:129 eavrxmega1.c:192 eavrxmega2.c:129
+#: eavrxmega2.c:192 eavrxmega3.c:129 eavrxmega3.c:192 eavrxmega4.c:129
+#: eavrxmega4.c:192 eavrxmega5.c:129 eavrxmega5.c:192 eavrxmega6.c:129
+#: eavrxmega6.c:192 eavrxmega7.c:129 eavrxmega7.c:192 eelf32metag.c:271
+#: eelf32metag.c:285 eelf64lppc.c:523 eelf64lppc.c:542 eelf64lppc.c:569
+#: eelf64ppc.c:523 eelf64ppc.c:542 eelf64ppc.c:569 eelf64ppc_fbsd.c:523
+#: eelf64ppc_fbsd.c:542 eelf64ppc_fbsd.c:569 ehppaelf.c:295 ehppaelf.c:310
+#: ehppalinux.c:295 ehppalinux.c:310 ehppanbsd.c:295 ehppanbsd.c:310
+#: ehppaobsd.c:295 ehppaobsd.c:310 em68hc11elf.c:90 em68hc11elf.c:100
+#: em68hc11elf.c:317 em68hc11elfb.c:90 em68hc11elfb.c:100 em68hc11elfb.c:317
+#: em68hc12elf.c:90 em68hc12elf.c:100 em68hc12elf.c:317 em68hc12elfb.c:90
+#: em68hc12elfb.c:100 em68hc12elfb.c:317 enios2elf.c:290 enios2elf.c:303
+#: enios2linux.c:290 enios2linux.c:303
 msgid "%X%P: can not size stub section: %E\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:365 eaarch64cloudabib.c:365 eaarch64elf.c:365
-#: eaarch64elf32.c:365 eaarch64elf32b.c:365 eaarch64elfb.c:365
-#: eaarch64fbsd.c:365 eaarch64fbsdb.c:365 eaarch64linux.c:365
-#: eaarch64linux32.c:365 eaarch64linux32b.c:365 eaarch64linuxb.c:365
-#: earmelf.c:519 earmelf_fbsd.c:519 earmelf_fuchsia.c:519 earmelf_linux.c:519
-#: earmelf_linux_eabi.c:519 earmelf_linux_fdpiceabi.c:519 earmelf_nacl.c:519
-#: earmelf_nbsd.c:519 earmelf_phoenix.c:519 earmelf_vxworks.c:519
-#: earmelfb.c:519 earmelfb_fbsd.c:519 earmelfb_fuchsia.c:519
-#: earmelfb_linux.c:519 earmelfb_linux_eabi.c:519
-#: earmelfb_linux_fdpiceabi.c:519 earmelfb_nacl.c:519 earmelfb_nbsd.c:519
-#: earmnto.c:519 earmsymbian.c:519 eavr1.c:253 eavr2.c:253 eavr25.c:253
-#: eavr3.c:253 eavr31.c:253 eavr35.c:253 eavr4.c:253 eavr5.c:253 eavr51.c:253
-#: eavr6.c:253 eavrtiny.c:253 eavrxmega1.c:253 eavrxmega2.c:253
-#: eavrxmega3.c:253 eavrxmega4.c:253 eavrxmega5.c:253 eavrxmega6.c:253
-#: eavrxmega7.c:253 eelf32metag.c:352 eelf64lppc.c:672 eelf64ppc.c:672
-#: eelf64ppc_fbsd.c:672 ehppaelf.c:384 ehppalinux.c:384 ehppanbsd.c:384
-#: ehppaobsd.c:384 em68hc11elf.c:375 em68hc11elfb.c:375 em68hc12elf.c:375
-#: em68hc12elfb.c:375 enios2elf.c:370 enios2linux.c:370
+#: eaarch64cloudabi.c:316 eaarch64cloudabib.c:316 eaarch64elf.c:316
+#: eaarch64elf32.c:316 eaarch64elf32b.c:316 eaarch64elfb.c:316
+#: eaarch64fbsd.c:316 eaarch64fbsdb.c:316 eaarch64linux.c:316
+#: eaarch64linux32.c:316 eaarch64linux32b.c:316 eaarch64linuxb.c:316
+#: earmelf.c:468 earmelf_fbsd.c:468 earmelf_fuchsia.c:468 earmelf_linux.c:468
+#: earmelf_linux_eabi.c:468 earmelf_linux_fdpiceabi.c:468 earmelf_nacl.c:468
+#: earmelf_nbsd.c:468 earmelf_phoenix.c:468 earmelf_vxworks.c:468
+#: earmelfb.c:468 earmelfb_fbsd.c:468 earmelfb_fuchsia.c:468
+#: earmelfb_linux.c:468 earmelfb_linux_eabi.c:468
+#: earmelfb_linux_fdpiceabi.c:468 earmelfb_nacl.c:468 earmelfb_nbsd.c:468
+#: earmnto.c:468 earmsymbian.c:468 eavr1.c:201 eavr2.c:201 eavr25.c:201
+#: eavr3.c:201 eavr31.c:201 eavr35.c:201 eavr4.c:201 eavr5.c:201 eavr51.c:201
+#: eavr6.c:201 eavrtiny.c:201 eavrxmega1.c:201 eavrxmega2.c:201
+#: eavrxmega3.c:201 eavrxmega4.c:201 eavrxmega5.c:201 eavrxmega6.c:201
+#: eavrxmega7.c:201 eelf32metag.c:300 eelf64lppc.c:619 eelf64ppc.c:619
+#: eelf64ppc_fbsd.c:619 ehppaelf.c:332 ehppalinux.c:332 ehppanbsd.c:332
+#: ehppaobsd.c:332 em68hc11elf.c:321 em68hc11elfb.c:321 em68hc12elf.c:321
+#: em68hc12elfb.c:321 enios2elf.c:318 enios2linux.c:318
 msgid "%X%P: can not build stubs: %E\n"
 msgstr ""
 
@@ -2853,2172 +2720,527 @@ msgstr ""
 #. These will only be created if the output format is an arm format,
 #. hence we do not support linking and changing output formats at the
 #. same time.  Use a link followed by objcopy to change output formats.
-#: eaarch64cloudabi.c:383 eaarch64cloudabib.c:383 eaarch64elf.c:383
-#: eaarch64elf32.c:383 eaarch64elf32b.c:383 eaarch64elfb.c:383
-#: eaarch64fbsd.c:383 eaarch64fbsdb.c:383 eaarch64linux.c:383
-#: eaarch64linux32.c:383 eaarch64linux32b.c:383 eaarch64linuxb.c:383
-#: earm_wince_pe.c:1370 earmelf.c:592 earmelf_fbsd.c:592 earmelf_fuchsia.c:592
-#: earmelf_linux.c:592 earmelf_linux_eabi.c:592 earmelf_linux_fdpiceabi.c:592
-#: earmelf_nacl.c:592 earmelf_nbsd.c:592 earmelf_phoenix.c:592
-#: earmelf_vxworks.c:592 earmelfb.c:592 earmelfb_fbsd.c:592
-#: earmelfb_fuchsia.c:592 earmelfb_linux.c:592 earmelfb_linux_eabi.c:592
-#: earmelfb_linux_fdpiceabi.c:592 earmelfb_nacl.c:592 earmelfb_nbsd.c:592
-#: earmnto.c:592 earmpe.c:1370 earmsymbian.c:592 eavr1.c:194 eavr2.c:194
-#: eavr25.c:194 eavr3.c:194 eavr31.c:194 eavr35.c:194 eavr4.c:194 eavr5.c:194
-#: eavr51.c:194 eavr6.c:194 eavrtiny.c:194 eavrxmega1.c:194 eavrxmega2.c:194
-#: eavrxmega3.c:194 eavrxmega4.c:194 eavrxmega5.c:194 eavrxmega6.c:194
-#: eavrxmega7.c:194 eelf32lriscv.c:162 eelf32lriscv_ilp32.c:162
-#: eelf32lriscv_ilp32f.c:162 eelf64lriscv.c:162 eelf64lriscv_lp64.c:162
-#: eelf64lriscv_lp64f.c:162 ei386pe.c:1370 ei386pe_posix.c:1370 emcorepe.c:1370
-#: ends32belf.c:126 ends32belf16m.c:126 ends32belf_linux.c:126 ends32elf.c:126
-#: ends32elf16m.c:126 ends32elf_linux.c:126 eppcpe.c:1370 escore3_elf.c:128
-#: escore7_elf.c:128 eshpe.c:1370 ev850.c:142 ev850_rh850.c:142
+#: eaarch64cloudabi.c:334 eaarch64cloudabib.c:334 eaarch64elf.c:334
+#: eaarch64elf32.c:334 eaarch64elf32b.c:334 eaarch64elfb.c:334
+#: eaarch64fbsd.c:334 eaarch64fbsdb.c:334 eaarch64linux.c:334
+#: eaarch64linux32.c:334 eaarch64linux32b.c:334 eaarch64linuxb.c:334
+#: earm_wince_pe.c:1371 earmelf.c:540 earmelf_fbsd.c:540 earmelf_fuchsia.c:540
+#: earmelf_linux.c:540 earmelf_linux_eabi.c:540 earmelf_linux_fdpiceabi.c:540
+#: earmelf_nacl.c:540 earmelf_nbsd.c:540 earmelf_phoenix.c:540
+#: earmelf_vxworks.c:540 earmelfb.c:540 earmelfb_fbsd.c:540
+#: earmelfb_fuchsia.c:540 earmelfb_linux.c:540 earmelfb_linux_eabi.c:540
+#: earmelfb_linux_fdpiceabi.c:540 earmelfb_nacl.c:540 earmelfb_nbsd.c:540
+#: earmnto.c:540 earmpe.c:1371 earmsymbian.c:540 eavr1.c:142 eavr2.c:142
+#: eavr25.c:142 eavr3.c:142 eavr31.c:142 eavr35.c:142 eavr4.c:142 eavr5.c:142
+#: eavr51.c:142 eavr6.c:142 eavrtiny.c:142 eavrxmega1.c:142 eavrxmega2.c:142
+#: eavrxmega3.c:142 eavrxmega4.c:142 eavrxmega5.c:142 eavrxmega6.c:142
+#: eavrxmega7.c:142 eelf32lriscv.c:110 eelf32lriscv_ilp32.c:110
+#: eelf32lriscv_ilp32f.c:110 eelf64lriscv.c:110 eelf64lriscv_lp64.c:110
+#: eelf64lriscv_lp64f.c:110 ei386pe.c:1371 ei386pe_posix.c:1371 emcorepe.c:1371
+#: ends32belf.c:74 ends32belf16m.c:74 ends32belf_linux.c:74 ends32elf.c:74
+#: ends32elf16m.c:74 ends32elf_linux.c:74 eppcpe.c:1371 escore3_elf.c:76
+#: escore7_elf.c:76 eshpe.c:1371 ev850.c:91 ev850_rh850.c:91
 msgid "%F%P: error: cannot change output format whilst linking %s binaries\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:443 eaarch64cloudabib.c:443 eaarch64elf.c:443
-#: eaarch64elf32.c:443 eaarch64elf32b.c:443 eaarch64elfb.c:443
-#: eaarch64fbsd.c:443 eaarch64fbsdb.c:443 eaarch64linux.c:443
-#: eaarch64linux32.c:443 eaarch64linux32b.c:443 eaarch64linuxb.c:443
-#: earcelf.c:128 earcelf_prof.c:128 earclinux.c:130 earclinux_nps.c:130
-#: earclinux_prof.c:130 earcv2elf.c:128 earcv2elfx.c:128 earmelf.c:663
-#: earmelf_fbsd.c:663 earmelf_fuchsia.c:663 earmelf_linux.c:663
-#: earmelf_linux_eabi.c:663 earmelf_linux_fdpiceabi.c:663 earmelf_nacl.c:663
-#: earmelf_nbsd.c:663 earmelf_phoenix.c:663 earmelf_vxworks.c:693
-#: earmelfb.c:663 earmelfb_fbsd.c:663 earmelfb_fuchsia.c:663
-#: earmelfb_linux.c:663 earmelfb_linux_eabi.c:663
-#: earmelfb_linux_fdpiceabi.c:663 earmelfb_nacl.c:663 earmelfb_nbsd.c:663
-#: earmnto.c:663 earmsymbian.c:663 eavr1.c:331 eavr2.c:331 eavr25.c:331
-#: eavr3.c:331 eavr31.c:331 eavr35.c:331 eavr4.c:331 eavr5.c:331 eavr51.c:331
-#: eavr6.c:331 eavrtiny.c:331 eavrxmega1.c:331 eavrxmega2.c:331
-#: eavrxmega3.c:331 eavrxmega4.c:331 eavrxmega5.c:331 eavrxmega6.c:331
-#: eavrxmega7.c:331 ecriself.c:128 ecrislinux.c:128 ecskyelf.c:385
-#: ecskyelf_linux.c:385 ed10velf.c:128 eelf32_sparc.c:128
-#: eelf32_sparc_sol2.c:259 eelf32_sparc_vxworks.c:157 eelf32_spu.c:798
-#: eelf32_tic6x_be.c:266 eelf32_tic6x_elf_be.c:266 eelf32_tic6x_elf_le.c:266
-#: eelf32_tic6x_le.c:266 eelf32_tic6x_linux_be.c:266
-#: eelf32_tic6x_linux_le.c:266 eelf32_x86_64.c:131 eelf32_x86_64_nacl.c:128
-#: eelf32am33lin.c:128 eelf32b4300.c:355 eelf32bfin.c:137 eelf32bfinfd.c:137
-#: eelf32bmip.c:355 eelf32bmipn32.c:373 eelf32bsmip.c:373 eelf32btsmip.c:355
-#: eelf32btsmip_fbsd.c:355 eelf32btsmipn32.c:355 eelf32btsmipn32_fbsd.c:355
-#: eelf32cr16.c:279 eelf32cr16c.c:128 eelf32crx.c:167 eelf32ebmip.c:355
-#: eelf32ebmipvxworks.c:384 eelf32elmip.c:355 eelf32elmipvxworks.c:384
-#: eelf32epiphany.c:128 eelf32epiphany_4x4.c:130 eelf32frvfd.c:128
-#: eelf32ip2k.c:128 eelf32l4300.c:355 eelf32lm32.c:128 eelf32lm32fd.c:128
-#: eelf32lmip.c:355 eelf32lppc.c:344 eelf32lppclinux.c:344 eelf32lppcnto.c:344
-#: eelf32lppcsim.c:344 eelf32lr5900.c:355 eelf32lr5900n32.c:355
-#: eelf32lriscv.c:193 eelf32lriscv_ilp32.c:193 eelf32lriscv_ilp32f.c:193
-#: eelf32lsmip.c:355 eelf32ltsmip.c:355 eelf32ltsmip_fbsd.c:355
-#: eelf32ltsmipn32.c:355 eelf32ltsmipn32_fbsd.c:355 eelf32m32c.c:139
-#: eelf32mb_linux.c:128 eelf32mbel_linux.c:128 eelf32mcore.c:128
-#: eelf32mep.c:128 eelf32metag.c:403 eelf32microblaze.c:128
-#: eelf32microblazeel.c:128 eelf32mipswindiss.c:355 eelf32or1k.c:128
-#: eelf32or1k_linux.c:128 eelf32ppc.c:344 eelf32ppc_fbsd.c:344
-#: eelf32ppclinux.c:344 eelf32ppcnto.c:344 eelf32ppcsim.c:344
-#: eelf32ppcvxworks.c:318 eelf32ppcwindiss.c:344 eelf32rl78.c:128
-#: eelf32rx.c:144 eelf32tilegx.c:128 eelf32tilegx_be.c:128 eelf32tilepro.c:128
-#: eelf32vax.c:128 eelf32visium.c:128 eelf32xc16x.c:128 eelf32xc16xl.c:128
-#: eelf32xc16xs.c:128 eelf32xstormy16.c:139 eelf32xtensa.c:2015
-#: eelf64_aix.c:128 eelf64_ia64.c:152 eelf64_ia64_fbsd.c:152 eelf64_s390.c:143
-#: eelf64_sparc.c:128 eelf64_sparc_fbsd.c:128 eelf64_sparc_sol2.c:259
-#: eelf64alpha.c:211 eelf64alpha_fbsd.c:211 eelf64alpha_nbsd.c:211
-#: eelf64bmip.c:373 eelf64btsmip.c:355 eelf64btsmip_fbsd.c:355 eelf64hppa.c:128
-#: eelf64lppc.c:790 eelf64lriscv.c:193 eelf64lriscv_lp64.c:193
-#: eelf64lriscv_lp64f.c:193 eelf64ltsmip.c:355 eelf64ltsmip_fbsd.c:355
-#: eelf64mmix.c:239 eelf64ppc.c:790 eelf64ppc_fbsd.c:790 eelf64rdos.c:128
-#: eelf64tilegx.c:128 eelf64tilegx_be.c:128 eelf_i386.c:131 eelf_i386_be.c:128
-#: eelf_i386_chaos.c:128 eelf_i386_fbsd.c:128 eelf_i386_ldso.c:128
-#: eelf_i386_nacl.c:128 eelf_i386_sol2.c:259 eelf_i386_vxworks.c:157
-#: eelf_iamcu.c:128 eelf_k1om.c:131 eelf_k1om_fbsd.c:128 eelf_l1om.c:131
-#: eelf_l1om_fbsd.c:128 eelf_s390.c:128 eelf_x86_64.c:131
-#: eelf_x86_64_cloudabi.c:128 eelf_x86_64_fbsd.c:128 eelf_x86_64_nacl.c:128
-#: eelf_x86_64_sol2.c:259 eh8300elf.c:128 eh8300elf_linux.c:128
-#: eh8300helf.c:128 eh8300helf_linux.c:128 eh8300hnelf.c:128 eh8300self.c:128
-#: eh8300self_linux.c:128 eh8300snelf.c:128 eh8300sxelf.c:128
-#: eh8300sxelf_linux.c:128 eh8300sxnelf.c:128 ehppa64linux.c:128 ehppaelf.c:435
-#: ehppalinux.c:435 ehppanbsd.c:435 ehppaobsd.c:435 ei386lynx.c:128
-#: ei386moss.c:128 ei386nto.c:128 em32relf.c:128 em32relf_linux.c:128
-#: em32rlelf.c:128 em32rlelf_linux.c:128 em68hc11elf.c:428 em68hc11elfb.c:428
-#: em68hc12elf.c:428 em68hc12elfb.c:428 em68kelf.c:278 em68kelfnbsd.c:278
-#: em9s12zelf.c:128 emn10300.c:128 ends32belf.c:235 ends32belf16m.c:235
-#: ends32belf_linux.c:235 ends32elf.c:235 ends32elf16m.c:235
-#: ends32elf_linux.c:235 enios2elf.c:421 enios2linux.c:421 eppclynx.c:344
-#: epruelf.c:148 escore3_elf.c:148 escore7_elf.c:148 eshelf.c:128
-#: eshelf_fd.c:128 eshelf_linux.c:128 eshelf_nbsd.c:128 eshelf_nto.c:128
-#: eshelf_uclinux.c:128 eshelf_vxworks.c:157 eshlelf.c:128 eshlelf_fd.c:128
-#: eshlelf_linux.c:128 eshlelf_nbsd.c:128 eshlelf_nto.c:128
-#: eshlelf_vxworks.c:157 ev850.c:174 ev850_rh850.c:174
-msgid "%P: warning: -z dynamic-undefined-weak ignored\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:470 eaarch64cloudabib.c:470 eaarch64elf.c:470
-#: eaarch64elf32.c:470 eaarch64elf32b.c:470 eaarch64elfb.c:470
-#: eaarch64fbsd.c:470 eaarch64fbsdb.c:470 eaarch64linux.c:470
-#: eaarch64linux32.c:470 eaarch64linux32b.c:470 eaarch64linuxb.c:470
-#: earcelf.c:155 earcelf_prof.c:155 earclinux.c:157 earclinux_nps.c:157
-#: earclinux_prof.c:157 earcv2elf.c:155 earcv2elfx.c:155 earmelf.c:690
-#: earmelf_fbsd.c:690 earmelf_fuchsia.c:690 earmelf_linux.c:690
-#: earmelf_linux_eabi.c:690 earmelf_linux_fdpiceabi.c:690 earmelf_nacl.c:690
-#: earmelf_nbsd.c:690 earmelf_phoenix.c:690 earmelf_vxworks.c:720
-#: earmelfb.c:690 earmelfb_fbsd.c:690 earmelfb_fuchsia.c:690
-#: earmelfb_linux.c:690 earmelfb_linux_eabi.c:690
-#: earmelfb_linux_fdpiceabi.c:690 earmelfb_nacl.c:690 earmelfb_nbsd.c:690
-#: earmnto.c:690 earmsymbian.c:690 eavr1.c:358 eavr2.c:358 eavr25.c:358
-#: eavr3.c:358 eavr31.c:358 eavr35.c:358 eavr4.c:358 eavr5.c:358 eavr51.c:358
-#: eavr6.c:358 eavrtiny.c:358 eavrxmega1.c:358 eavrxmega2.c:358
-#: eavrxmega3.c:358 eavrxmega4.c:358 eavrxmega5.c:358 eavrxmega6.c:358
-#: eavrxmega7.c:358 ecriself.c:155 ecrislinux.c:155 ecskyelf.c:412
-#: ecskyelf_linux.c:412 ed10velf.c:155 eelf32_sparc.c:155
-#: eelf32_sparc_sol2.c:286 eelf32_sparc_vxworks.c:184 eelf32_spu.c:825
-#: eelf32_tic6x_be.c:293 eelf32_tic6x_elf_be.c:293 eelf32_tic6x_elf_le.c:293
-#: eelf32_tic6x_le.c:293 eelf32_tic6x_linux_be.c:293
-#: eelf32_tic6x_linux_le.c:293 eelf32_x86_64.c:158 eelf32_x86_64_nacl.c:155
-#: eelf32am33lin.c:155 eelf32b4300.c:382 eelf32bfin.c:164 eelf32bfinfd.c:164
-#: eelf32bmip.c:382 eelf32bmipn32.c:400 eelf32bsmip.c:400 eelf32btsmip.c:382
-#: eelf32btsmip_fbsd.c:382 eelf32btsmipn32.c:382 eelf32btsmipn32_fbsd.c:382
-#: eelf32cr16.c:306 eelf32cr16c.c:155 eelf32crx.c:194 eelf32ebmip.c:382
-#: eelf32ebmipvxworks.c:411 eelf32elmip.c:382 eelf32elmipvxworks.c:411
-#: eelf32epiphany.c:155 eelf32epiphany_4x4.c:157 eelf32frvfd.c:155
-#: eelf32ip2k.c:155 eelf32l4300.c:382 eelf32lm32.c:155 eelf32lm32fd.c:155
-#: eelf32lmip.c:382 eelf32lppc.c:371 eelf32lppclinux.c:371 eelf32lppcnto.c:371
-#: eelf32lppcsim.c:371 eelf32lr5900.c:382 eelf32lr5900n32.c:382
-#: eelf32lriscv.c:220 eelf32lriscv_ilp32.c:220 eelf32lriscv_ilp32f.c:220
-#: eelf32lsmip.c:382 eelf32ltsmip.c:382 eelf32ltsmip_fbsd.c:382
-#: eelf32ltsmipn32.c:382 eelf32ltsmipn32_fbsd.c:382 eelf32m32c.c:166
-#: eelf32mb_linux.c:155 eelf32mbel_linux.c:155 eelf32mcore.c:155
-#: eelf32mep.c:155 eelf32metag.c:430 eelf32microblaze.c:155
-#: eelf32microblazeel.c:155 eelf32mipswindiss.c:382 eelf32or1k.c:155
-#: eelf32or1k_linux.c:155 eelf32ppc.c:371 eelf32ppc_fbsd.c:371
-#: eelf32ppclinux.c:371 eelf32ppcnto.c:371 eelf32ppcsim.c:371
-#: eelf32ppcvxworks.c:345 eelf32ppcwindiss.c:371 eelf32rl78.c:155
-#: eelf32rx.c:171 eelf32tilegx.c:155 eelf32tilegx_be.c:155 eelf32tilepro.c:155
-#: eelf32vax.c:155 eelf32visium.c:155 eelf32xc16x.c:155 eelf32xc16xl.c:155
-#: eelf32xc16xs.c:155 eelf32xstormy16.c:166 eelf32xtensa.c:2042
-#: eelf64_aix.c:155 eelf64_ia64.c:179 eelf64_ia64_fbsd.c:179 eelf64_s390.c:170
-#: eelf64_sparc.c:155 eelf64_sparc_fbsd.c:155 eelf64_sparc_sol2.c:286
-#: eelf64alpha.c:238 eelf64alpha_fbsd.c:238 eelf64alpha_nbsd.c:238
-#: eelf64bmip.c:400 eelf64btsmip.c:382 eelf64btsmip_fbsd.c:382 eelf64hppa.c:155
-#: eelf64lppc.c:817 eelf64lriscv.c:220 eelf64lriscv_lp64.c:220
-#: eelf64lriscv_lp64f.c:220 eelf64ltsmip.c:382 eelf64ltsmip_fbsd.c:382
-#: eelf64mmix.c:266 eelf64ppc.c:817 eelf64ppc_fbsd.c:817 eelf64rdos.c:155
-#: eelf64tilegx.c:155 eelf64tilegx_be.c:155 eelf_i386.c:158 eelf_i386_be.c:155
-#: eelf_i386_chaos.c:155 eelf_i386_fbsd.c:155 eelf_i386_ldso.c:155
-#: eelf_i386_nacl.c:155 eelf_i386_sol2.c:286 eelf_i386_vxworks.c:184
-#: eelf_iamcu.c:155 eelf_k1om.c:158 eelf_k1om_fbsd.c:155 eelf_l1om.c:158
-#: eelf_l1om_fbsd.c:155 eelf_s390.c:155 eelf_x86_64.c:158
-#: eelf_x86_64_cloudabi.c:155 eelf_x86_64_fbsd.c:155 eelf_x86_64_nacl.c:155
-#: eelf_x86_64_sol2.c:286 eh8300elf.c:155 eh8300elf_linux.c:155
-#: eh8300helf.c:155 eh8300helf_linux.c:155 eh8300hnelf.c:155 eh8300self.c:155
-#: eh8300self_linux.c:155 eh8300snelf.c:155 eh8300sxelf.c:155
-#: eh8300sxelf_linux.c:155 eh8300sxnelf.c:155 ehppa64linux.c:155 ehppaelf.c:462
-#: ehppalinux.c:462 ehppanbsd.c:462 ehppaobsd.c:462 ei386lynx.c:155
-#: ei386moss.c:155 ei386nto.c:155 em32relf.c:155 em32relf_linux.c:155
-#: em32rlelf.c:155 em32rlelf_linux.c:155 em68hc11elf.c:455 em68hc11elfb.c:455
-#: em68hc12elf.c:455 em68hc12elfb.c:455 em68kelf.c:305 em68kelfnbsd.c:305
-#: em9s12zelf.c:155 emn10300.c:155 ends32belf.c:262 ends32belf16m.c:262
-#: ends32belf_linux.c:262 ends32elf.c:262 ends32elf16m.c:262
-#: ends32elf_linux.c:262 enios2elf.c:448 enios2linux.c:448 eppclynx.c:371
-#: epruelf.c:175 escore3_elf.c:175 escore7_elf.c:175 eshelf.c:155
-#: eshelf_fd.c:155 eshelf_linux.c:155 eshelf_nbsd.c:155 eshelf_nto.c:155
-#: eshelf_uclinux.c:155 eshelf_vxworks.c:184 eshlelf.c:155 eshlelf_fd.c:155
-#: eshlelf_linux.c:155 eshlelf_nbsd.c:155 eshlelf_nto.c:155
-#: eshlelf_vxworks.c:184 ev850.c:201 ev850_rh850.c:201
-msgid "%F%P: %pB: --just-symbols may not be used on DSO\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:589 eaarch64cloudabib.c:589 eaarch64elf.c:589
-#: eaarch64elf32.c:589 eaarch64elf32b.c:589 eaarch64elfb.c:589
-#: eaarch64fbsd.c:589 eaarch64fbsdb.c:589 eaarch64linux.c:589
-#: eaarch64linux32.c:589 eaarch64linux32b.c:589 eaarch64linuxb.c:589
-#: earcelf.c:274 earcelf_prof.c:274 earclinux.c:276 earclinux_nps.c:276
-#: earclinux_prof.c:276 earcv2elf.c:274 earcv2elfx.c:274 earmelf.c:809
-#: earmelf_fbsd.c:809 earmelf_fuchsia.c:809 earmelf_linux.c:809
-#: earmelf_linux_eabi.c:809 earmelf_linux_fdpiceabi.c:809 earmelf_nacl.c:809
-#: earmelf_nbsd.c:809 earmelf_phoenix.c:809 earmelf_vxworks.c:839
-#: earmelfb.c:809 earmelfb_fbsd.c:809 earmelfb_fuchsia.c:809
-#: earmelfb_linux.c:809 earmelfb_linux_eabi.c:809
-#: earmelfb_linux_fdpiceabi.c:809 earmelfb_nacl.c:809 earmelfb_nbsd.c:809
-#: earmnto.c:809 earmsymbian.c:809 eavr1.c:477 eavr2.c:477 eavr25.c:477
-#: eavr3.c:477 eavr31.c:477 eavr35.c:477 eavr4.c:477 eavr5.c:477 eavr51.c:477
-#: eavr6.c:477 eavrtiny.c:477 eavrxmega1.c:477 eavrxmega2.c:477
-#: eavrxmega3.c:477 eavrxmega4.c:477 eavrxmega5.c:477 eavrxmega6.c:477
-#: eavrxmega7.c:477 ecriself.c:274 ecrislinux.c:274 ecskyelf.c:531
-#: ecskyelf_linux.c:531 ed10velf.c:274 eelf32_sparc.c:274
-#: eelf32_sparc_sol2.c:405 eelf32_sparc_vxworks.c:303 eelf32_spu.c:944
-#: eelf32_tic6x_be.c:412 eelf32_tic6x_elf_be.c:412 eelf32_tic6x_elf_le.c:412
-#: eelf32_tic6x_le.c:412 eelf32_tic6x_linux_be.c:412
-#: eelf32_tic6x_linux_le.c:412 eelf32_x86_64.c:277 eelf32_x86_64_nacl.c:274
-#: eelf32am33lin.c:274 eelf32b4300.c:501 eelf32bfin.c:283 eelf32bfinfd.c:283
-#: eelf32bmip.c:501 eelf32bmipn32.c:519 eelf32bsmip.c:519 eelf32btsmip.c:501
-#: eelf32btsmip_fbsd.c:501 eelf32btsmipn32.c:501 eelf32btsmipn32_fbsd.c:501
-#: eelf32cr16.c:425 eelf32cr16c.c:274 eelf32crx.c:313 eelf32ebmip.c:501
-#: eelf32ebmipvxworks.c:530 eelf32elmip.c:501 eelf32elmipvxworks.c:530
-#: eelf32epiphany.c:274 eelf32epiphany_4x4.c:276 eelf32frvfd.c:274
-#: eelf32ip2k.c:274 eelf32l4300.c:501 eelf32lm32.c:274 eelf32lm32fd.c:274
-#: eelf32lmip.c:501 eelf32lppc.c:490 eelf32lppclinux.c:490 eelf32lppcnto.c:490
-#: eelf32lppcsim.c:490 eelf32lr5900.c:501 eelf32lr5900n32.c:501
-#: eelf32lriscv.c:339 eelf32lriscv_ilp32.c:339 eelf32lriscv_ilp32f.c:339
-#: eelf32lsmip.c:501 eelf32ltsmip.c:501 eelf32ltsmip_fbsd.c:501
-#: eelf32ltsmipn32.c:501 eelf32ltsmipn32_fbsd.c:501 eelf32m32c.c:285
-#: eelf32mb_linux.c:274 eelf32mbel_linux.c:274 eelf32mcore.c:274
-#: eelf32mep.c:274 eelf32metag.c:549 eelf32microblaze.c:274
-#: eelf32microblazeel.c:274 eelf32mipswindiss.c:501 eelf32or1k.c:274
-#: eelf32or1k_linux.c:274 eelf32ppc.c:490 eelf32ppc_fbsd.c:490
-#: eelf32ppclinux.c:490 eelf32ppcnto.c:490 eelf32ppcsim.c:490
-#: eelf32ppcvxworks.c:464 eelf32ppcwindiss.c:490 eelf32rl78.c:274
-#: eelf32rx.c:290 eelf32tilegx.c:274 eelf32tilegx_be.c:274 eelf32tilepro.c:274
-#: eelf32vax.c:274 eelf32visium.c:274 eelf32xc16x.c:274 eelf32xc16xl.c:274
-#: eelf32xc16xs.c:274 eelf32xstormy16.c:285 eelf32xtensa.c:2161
-#: eelf64_aix.c:274 eelf64_ia64.c:298 eelf64_ia64_fbsd.c:298 eelf64_s390.c:289
-#: eelf64_sparc.c:274 eelf64_sparc_fbsd.c:274 eelf64_sparc_sol2.c:405
-#: eelf64alpha.c:357 eelf64alpha_fbsd.c:357 eelf64alpha_nbsd.c:357
-#: eelf64bmip.c:519 eelf64btsmip.c:501 eelf64btsmip_fbsd.c:501 eelf64hppa.c:274
-#: eelf64lppc.c:936 eelf64lriscv.c:339 eelf64lriscv_lp64.c:339
-#: eelf64lriscv_lp64f.c:339 eelf64ltsmip.c:501 eelf64ltsmip_fbsd.c:501
-#: eelf64mmix.c:385 eelf64ppc.c:936 eelf64ppc_fbsd.c:936 eelf64rdos.c:274
-#: eelf64tilegx.c:274 eelf64tilegx_be.c:274 eelf_i386.c:277 eelf_i386_be.c:274
-#: eelf_i386_chaos.c:274 eelf_i386_fbsd.c:274 eelf_i386_ldso.c:274
-#: eelf_i386_nacl.c:274 eelf_i386_sol2.c:405 eelf_i386_vxworks.c:303
-#: eelf_iamcu.c:274 eelf_k1om.c:277 eelf_k1om_fbsd.c:274 eelf_l1om.c:277
-#: eelf_l1om_fbsd.c:274 eelf_s390.c:274 eelf_x86_64.c:277
-#: eelf_x86_64_cloudabi.c:274 eelf_x86_64_fbsd.c:274 eelf_x86_64_nacl.c:274
-#: eelf_x86_64_sol2.c:405 eh8300elf.c:274 eh8300elf_linux.c:274
-#: eh8300helf.c:274 eh8300helf_linux.c:274 eh8300hnelf.c:274 eh8300self.c:274
-#: eh8300self_linux.c:274 eh8300snelf.c:274 eh8300sxelf.c:274
-#: eh8300sxelf_linux.c:274 eh8300sxnelf.c:274 ehppa64linux.c:274 ehppaelf.c:581
-#: ehppalinux.c:581 ehppanbsd.c:581 ehppaobsd.c:581 ei386lynx.c:274
-#: ei386moss.c:274 ei386nto.c:274 em32relf.c:274 em32relf_linux.c:274
-#: em32rlelf.c:274 em32rlelf_linux.c:274 em68hc11elf.c:574 em68hc11elfb.c:574
-#: em68hc12elf.c:574 em68hc12elfb.c:574 em68kelf.c:424 em68kelfnbsd.c:424
-#: em9s12zelf.c:274 emn10300.c:274 ends32belf.c:381 ends32belf16m.c:381
-#: ends32belf_linux.c:381 ends32elf.c:381 ends32elf16m.c:381
-#: ends32elf_linux.c:381 enios2elf.c:567 enios2linux.c:567 eppclynx.c:490
-#: epruelf.c:294 escore3_elf.c:294 escore7_elf.c:294 eshelf.c:274
-#: eshelf_fd.c:274 eshelf_linux.c:274 eshelf_nbsd.c:274 eshelf_nto.c:274
-#: eshelf_uclinux.c:274 eshelf_vxworks.c:303 eshlelf.c:274 eshlelf_fd.c:274
-#: eshlelf_linux.c:274 eshlelf_nbsd.c:274 eshlelf_nto.c:274
-#: eshlelf_vxworks.c:303 ev850.c:320 ev850_rh850.c:320
-msgid "%P: %pB: bfd_stat failed: %E\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:629 eaarch64cloudabib.c:629 eaarch64elf.c:629
-#: eaarch64elf32.c:629 eaarch64elf32b.c:629 eaarch64elfb.c:629
-#: eaarch64fbsd.c:629 eaarch64fbsdb.c:629 eaarch64linux.c:629
-#: eaarch64linux32.c:629 eaarch64linux32b.c:629 eaarch64linuxb.c:629
-#: earcelf.c:314 earcelf_prof.c:314 earclinux.c:316 earclinux_nps.c:316
-#: earclinux_prof.c:316 earcv2elf.c:314 earcv2elfx.c:314 earmelf.c:849
-#: earmelf_fbsd.c:849 earmelf_fuchsia.c:849 earmelf_linux.c:849
-#: earmelf_linux_eabi.c:849 earmelf_linux_fdpiceabi.c:849 earmelf_nacl.c:849
-#: earmelf_nbsd.c:849 earmelf_phoenix.c:849 earmelf_vxworks.c:879
-#: earmelfb.c:849 earmelfb_fbsd.c:849 earmelfb_fuchsia.c:849
-#: earmelfb_linux.c:849 earmelfb_linux_eabi.c:849
-#: earmelfb_linux_fdpiceabi.c:849 earmelfb_nacl.c:849 earmelfb_nbsd.c:849
-#: earmnto.c:849 earmsymbian.c:849 eavr1.c:517 eavr2.c:517 eavr25.c:517
-#: eavr3.c:517 eavr31.c:517 eavr35.c:517 eavr4.c:517 eavr5.c:517 eavr51.c:517
-#: eavr6.c:517 eavrtiny.c:517 eavrxmega1.c:517 eavrxmega2.c:517
-#: eavrxmega3.c:517 eavrxmega4.c:517 eavrxmega5.c:517 eavrxmega6.c:517
-#: eavrxmega7.c:517 ecriself.c:314 ecrislinux.c:314 ecskyelf.c:571
-#: ecskyelf_linux.c:571 ed10velf.c:314 eelf32_sparc.c:314
-#: eelf32_sparc_sol2.c:445 eelf32_sparc_vxworks.c:343 eelf32_spu.c:984
-#: eelf32_tic6x_be.c:452 eelf32_tic6x_elf_be.c:452 eelf32_tic6x_elf_le.c:452
-#: eelf32_tic6x_le.c:452 eelf32_tic6x_linux_be.c:452
-#: eelf32_tic6x_linux_le.c:452 eelf32_x86_64.c:317 eelf32_x86_64_nacl.c:314
-#: eelf32am33lin.c:314 eelf32b4300.c:541 eelf32bfin.c:323 eelf32bfinfd.c:323
-#: eelf32bmip.c:541 eelf32bmipn32.c:559 eelf32bsmip.c:559 eelf32btsmip.c:541
-#: eelf32btsmip_fbsd.c:541 eelf32btsmipn32.c:541 eelf32btsmipn32_fbsd.c:541
-#: eelf32cr16.c:465 eelf32cr16c.c:314 eelf32crx.c:353 eelf32ebmip.c:541
-#: eelf32ebmipvxworks.c:570 eelf32elmip.c:541 eelf32elmipvxworks.c:570
-#: eelf32epiphany.c:314 eelf32epiphany_4x4.c:316 eelf32frvfd.c:314
-#: eelf32ip2k.c:314 eelf32l4300.c:541 eelf32lm32.c:314 eelf32lm32fd.c:314
-#: eelf32lmip.c:541 eelf32lppc.c:530 eelf32lppclinux.c:530 eelf32lppcnto.c:530
-#: eelf32lppcsim.c:530 eelf32lr5900.c:541 eelf32lr5900n32.c:541
-#: eelf32lriscv.c:379 eelf32lriscv_ilp32.c:379 eelf32lriscv_ilp32f.c:379
-#: eelf32lsmip.c:541 eelf32ltsmip.c:541 eelf32ltsmip_fbsd.c:541
-#: eelf32ltsmipn32.c:541 eelf32ltsmipn32_fbsd.c:541 eelf32m32c.c:325
-#: eelf32mb_linux.c:314 eelf32mbel_linux.c:314 eelf32mcore.c:314
-#: eelf32mep.c:314 eelf32metag.c:589 eelf32microblaze.c:314
-#: eelf32microblazeel.c:314 eelf32mipswindiss.c:541 eelf32or1k.c:314
-#: eelf32or1k_linux.c:314 eelf32ppc.c:530 eelf32ppc_fbsd.c:530
-#: eelf32ppclinux.c:530 eelf32ppcnto.c:530 eelf32ppcsim.c:530
-#: eelf32ppcvxworks.c:504 eelf32ppcwindiss.c:530 eelf32rl78.c:314
-#: eelf32rx.c:330 eelf32tilegx.c:314 eelf32tilegx_be.c:314 eelf32tilepro.c:314
-#: eelf32vax.c:314 eelf32visium.c:314 eelf32xc16x.c:314 eelf32xc16xl.c:314
-#: eelf32xc16xs.c:314 eelf32xstormy16.c:325 eelf32xtensa.c:2201
-#: eelf64_aix.c:314 eelf64_ia64.c:338 eelf64_ia64_fbsd.c:338 eelf64_s390.c:329
-#: eelf64_sparc.c:314 eelf64_sparc_fbsd.c:314 eelf64_sparc_sol2.c:445
-#: eelf64alpha.c:397 eelf64alpha_fbsd.c:397 eelf64alpha_nbsd.c:397
-#: eelf64bmip.c:559 eelf64btsmip.c:541 eelf64btsmip_fbsd.c:541 eelf64hppa.c:314
-#: eelf64lppc.c:976 eelf64lriscv.c:379 eelf64lriscv_lp64.c:379
-#: eelf64lriscv_lp64f.c:379 eelf64ltsmip.c:541 eelf64ltsmip_fbsd.c:541
-#: eelf64mmix.c:425 eelf64ppc.c:976 eelf64ppc_fbsd.c:976 eelf64rdos.c:314
-#: eelf64tilegx.c:314 eelf64tilegx_be.c:314 eelf_i386.c:317 eelf_i386_be.c:314
-#: eelf_i386_chaos.c:314 eelf_i386_fbsd.c:314 eelf_i386_ldso.c:314
-#: eelf_i386_nacl.c:314 eelf_i386_sol2.c:445 eelf_i386_vxworks.c:343
-#: eelf_iamcu.c:314 eelf_k1om.c:317 eelf_k1om_fbsd.c:314 eelf_l1om.c:317
-#: eelf_l1om_fbsd.c:314 eelf_s390.c:314 eelf_x86_64.c:317
-#: eelf_x86_64_cloudabi.c:314 eelf_x86_64_fbsd.c:314 eelf_x86_64_nacl.c:314
-#: eelf_x86_64_sol2.c:445 eh8300elf.c:314 eh8300elf_linux.c:314
-#: eh8300helf.c:314 eh8300helf_linux.c:314 eh8300hnelf.c:314 eh8300self.c:314
-#: eh8300self_linux.c:314 eh8300snelf.c:314 eh8300sxelf.c:314
-#: eh8300sxelf_linux.c:314 eh8300sxnelf.c:314 ehppa64linux.c:314 ehppaelf.c:621
-#: ehppalinux.c:621 ehppanbsd.c:621 ehppaobsd.c:621 ei386lynx.c:314
-#: ei386moss.c:314 ei386nto.c:314 em32relf.c:314 em32relf_linux.c:314
-#: em32rlelf.c:314 em32rlelf_linux.c:314 em68hc11elf.c:614 em68hc11elfb.c:614
-#: em68hc12elf.c:614 em68hc12elfb.c:614 em68kelf.c:464 em68kelfnbsd.c:464
-#: em9s12zelf.c:314 emn10300.c:314 ends32belf.c:421 ends32belf16m.c:421
-#: ends32belf_linux.c:421 ends32elf.c:421 ends32elf16m.c:421
-#: ends32elf_linux.c:421 enios2elf.c:607 enios2linux.c:607 eppclynx.c:530
-#: epruelf.c:334 escore3_elf.c:334 escore7_elf.c:334 eshelf.c:314
-#: eshelf_fd.c:314 eshelf_linux.c:314 eshelf_nbsd.c:314 eshelf_nto.c:314
-#: eshelf_uclinux.c:314 eshelf_vxworks.c:343 eshlelf.c:314 eshlelf_fd.c:314
-#: eshlelf_linux.c:314 eshlelf_nbsd.c:314 eshlelf_nto.c:314
-#: eshlelf_vxworks.c:343 ev850.c:360 ev850_rh850.c:360
-msgid "%P: warning: %s, needed by %pB, may conflict with %s\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:691 eaarch64cloudabib.c:691 eaarch64elf.c:691
-#: eaarch64elf32.c:691 eaarch64elf32b.c:691 eaarch64elfb.c:691
-#: eaarch64fbsd.c:691 eaarch64fbsdb.c:691 eaarch64linux.c:691
-#: eaarch64linux32.c:691 eaarch64linux32b.c:691 eaarch64linuxb.c:691
-#: earcelf.c:376 earcelf_prof.c:376 earclinux.c:378 earclinux_nps.c:378
-#: earclinux_prof.c:378 earcv2elf.c:376 earcv2elfx.c:376 earmelf.c:911
-#: earmelf_fbsd.c:911 earmelf_fuchsia.c:911 earmelf_linux.c:911
-#: earmelf_linux_eabi.c:911 earmelf_linux_fdpiceabi.c:911 earmelf_nacl.c:911
-#: earmelf_nbsd.c:911 earmelf_phoenix.c:911 earmelf_vxworks.c:941
-#: earmelfb.c:911 earmelfb_fbsd.c:911 earmelfb_fuchsia.c:911
-#: earmelfb_linux.c:911 earmelfb_linux_eabi.c:911
-#: earmelfb_linux_fdpiceabi.c:911 earmelfb_nacl.c:911 earmelfb_nbsd.c:911
-#: earmnto.c:911 earmsymbian.c:911 eavr1.c:579 eavr2.c:579 eavr25.c:579
-#: eavr3.c:579 eavr31.c:579 eavr35.c:579 eavr4.c:579 eavr5.c:579 eavr51.c:579
-#: eavr6.c:579 eavrtiny.c:579 eavrxmega1.c:579 eavrxmega2.c:579
-#: eavrxmega3.c:579 eavrxmega4.c:579 eavrxmega5.c:579 eavrxmega6.c:579
-#: eavrxmega7.c:579 ecriself.c:376 ecrislinux.c:376 ecskyelf.c:633
-#: ecskyelf_linux.c:633 ed10velf.c:376 eelf32_sparc.c:376
-#: eelf32_sparc_sol2.c:507 eelf32_sparc_vxworks.c:405 eelf32_spu.c:1046
-#: eelf32_tic6x_be.c:514 eelf32_tic6x_elf_be.c:514 eelf32_tic6x_elf_le.c:514
-#: eelf32_tic6x_le.c:514 eelf32_tic6x_linux_be.c:514
-#: eelf32_tic6x_linux_le.c:514 eelf32_x86_64.c:379 eelf32_x86_64_nacl.c:376
-#: eelf32am33lin.c:376 eelf32b4300.c:603 eelf32bfin.c:385 eelf32bfinfd.c:385
-#: eelf32bmip.c:603 eelf32bmipn32.c:621 eelf32bsmip.c:621 eelf32btsmip.c:603
-#: eelf32btsmip_fbsd.c:603 eelf32btsmipn32.c:603 eelf32btsmipn32_fbsd.c:603
-#: eelf32cr16.c:527 eelf32cr16c.c:376 eelf32crx.c:415 eelf32ebmip.c:603
-#: eelf32ebmipvxworks.c:632 eelf32elmip.c:603 eelf32elmipvxworks.c:632
-#: eelf32epiphany.c:376 eelf32epiphany_4x4.c:378 eelf32frvfd.c:376
-#: eelf32ip2k.c:376 eelf32l4300.c:603 eelf32lm32.c:376 eelf32lm32fd.c:376
-#: eelf32lmip.c:603 eelf32lppc.c:592 eelf32lppclinux.c:592 eelf32lppcnto.c:592
-#: eelf32lppcsim.c:592 eelf32lr5900.c:603 eelf32lr5900n32.c:603
-#: eelf32lriscv.c:441 eelf32lriscv_ilp32.c:441 eelf32lriscv_ilp32f.c:441
-#: eelf32lsmip.c:603 eelf32ltsmip.c:603 eelf32ltsmip_fbsd.c:603
-#: eelf32ltsmipn32.c:603 eelf32ltsmipn32_fbsd.c:603 eelf32m32c.c:387
-#: eelf32mb_linux.c:376 eelf32mbel_linux.c:376 eelf32mcore.c:376
-#: eelf32mep.c:376 eelf32metag.c:651 eelf32microblaze.c:376
-#: eelf32microblazeel.c:376 eelf32mipswindiss.c:603 eelf32or1k.c:376
-#: eelf32or1k_linux.c:376 eelf32ppc.c:592 eelf32ppc_fbsd.c:592
-#: eelf32ppclinux.c:592 eelf32ppcnto.c:592 eelf32ppcsim.c:592
-#: eelf32ppcvxworks.c:566 eelf32ppcwindiss.c:592 eelf32rl78.c:376
-#: eelf32rx.c:392 eelf32tilegx.c:376 eelf32tilegx_be.c:376 eelf32tilepro.c:376
-#: eelf32vax.c:376 eelf32visium.c:376 eelf32xc16x.c:376 eelf32xc16xl.c:376
-#: eelf32xc16xs.c:376 eelf32xstormy16.c:387 eelf32xtensa.c:2263
-#: eelf64_aix.c:376 eelf64_ia64.c:400 eelf64_ia64_fbsd.c:400 eelf64_s390.c:391
-#: eelf64_sparc.c:376 eelf64_sparc_fbsd.c:376 eelf64_sparc_sol2.c:507
-#: eelf64alpha.c:459 eelf64alpha_fbsd.c:459 eelf64alpha_nbsd.c:459
-#: eelf64bmip.c:621 eelf64btsmip.c:603 eelf64btsmip_fbsd.c:603 eelf64hppa.c:376
-#: eelf64lppc.c:1038 eelf64lriscv.c:441 eelf64lriscv_lp64.c:441
-#: eelf64lriscv_lp64f.c:441 eelf64ltsmip.c:603 eelf64ltsmip_fbsd.c:603
-#: eelf64mmix.c:487 eelf64ppc.c:1038 eelf64ppc_fbsd.c:1038 eelf64rdos.c:376
-#: eelf64tilegx.c:376 eelf64tilegx_be.c:376 eelf_i386.c:379 eelf_i386_be.c:376
-#: eelf_i386_chaos.c:376 eelf_i386_fbsd.c:376 eelf_i386_ldso.c:376
-#: eelf_i386_nacl.c:376 eelf_i386_sol2.c:507 eelf_i386_vxworks.c:405
-#: eelf_iamcu.c:376 eelf_k1om.c:379 eelf_k1om_fbsd.c:376 eelf_l1om.c:379
-#: eelf_l1om_fbsd.c:376 eelf_s390.c:376 eelf_x86_64.c:379
-#: eelf_x86_64_cloudabi.c:376 eelf_x86_64_fbsd.c:376 eelf_x86_64_nacl.c:376
-#: eelf_x86_64_sol2.c:507 eh8300elf.c:376 eh8300elf_linux.c:376
-#: eh8300helf.c:376 eh8300helf_linux.c:376 eh8300hnelf.c:376 eh8300self.c:376
-#: eh8300self_linux.c:376 eh8300snelf.c:376 eh8300sxelf.c:376
-#: eh8300sxelf_linux.c:376 eh8300sxnelf.c:376 ehppa64linux.c:376 ehppaelf.c:683
-#: ehppalinux.c:683 ehppanbsd.c:683 ehppaobsd.c:683 ei386lynx.c:376
-#: ei386moss.c:376 ei386nto.c:376 em32relf.c:376 em32relf_linux.c:376
-#: em32rlelf.c:376 em32rlelf_linux.c:376 em68hc11elf.c:676 em68hc11elfb.c:676
-#: em68hc12elf.c:676 em68hc12elfb.c:676 em68kelf.c:526 em68kelfnbsd.c:526
-#: em9s12zelf.c:376 emn10300.c:376 ends32belf.c:483 ends32belf16m.c:483
-#: ends32belf_linux.c:483 ends32elf.c:483 ends32elf16m.c:483
-#: ends32elf_linux.c:483 enios2elf.c:669 enios2linux.c:669 eppclynx.c:592
-#: epruelf.c:396 escore3_elf.c:396 escore7_elf.c:396 eshelf.c:376
-#: eshelf_fd.c:376 eshelf_linux.c:376 eshelf_nbsd.c:376 eshelf_nto.c:376
-#: eshelf_uclinux.c:376 eshelf_vxworks.c:405 eshlelf.c:376 eshlelf_fd.c:376
-#: eshlelf_linux.c:376 eshlelf_nbsd.c:376 eshlelf_nto.c:376
-#: eshlelf_vxworks.c:405 ev850.c:422 ev850_rh850.c:422
-msgid "%F%P: %pB: bfd_elf_get_bfd_needed_list failed: %E\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:740 eaarch64cloudabib.c:740 eaarch64elf.c:740
-#: eaarch64elf32.c:740 eaarch64elf32b.c:740 eaarch64elfb.c:740
-#: eaarch64fbsd.c:740 eaarch64fbsdb.c:740 eaarch64linux.c:740
-#: eaarch64linux32.c:740 eaarch64linux32b.c:740 eaarch64linuxb.c:740
-#: earcelf.c:425 earcelf_prof.c:425 earclinux.c:427 earclinux_nps.c:427
-#: earclinux_prof.c:427 earcv2elf.c:425 earcv2elfx.c:425 earmelf.c:960
-#: earmelf_fbsd.c:960 earmelf_fuchsia.c:960 earmelf_linux.c:960
-#: earmelf_linux_eabi.c:960 earmelf_linux_fdpiceabi.c:960 earmelf_nacl.c:960
-#: earmelf_nbsd.c:960 earmelf_phoenix.c:960 earmelf_vxworks.c:990
-#: earmelfb.c:960 earmelfb_fbsd.c:960 earmelfb_fuchsia.c:960
-#: earmelfb_linux.c:960 earmelfb_linux_eabi.c:960
-#: earmelfb_linux_fdpiceabi.c:960 earmelfb_nacl.c:960 earmelfb_nbsd.c:960
-#: earmnto.c:960 earmsymbian.c:960 eavr1.c:628 eavr2.c:628 eavr25.c:628
-#: eavr3.c:628 eavr31.c:628 eavr35.c:628 eavr4.c:628 eavr5.c:628 eavr51.c:628
-#: eavr6.c:628 eavrtiny.c:628 eavrxmega1.c:628 eavrxmega2.c:628
-#: eavrxmega3.c:628 eavrxmega4.c:628 eavrxmega5.c:628 eavrxmega6.c:628
-#: eavrxmega7.c:628 ecriself.c:425 ecrislinux.c:425 ecskyelf.c:682
-#: ecskyelf_linux.c:682 ed10velf.c:425 eelf32_sparc.c:425
-#: eelf32_sparc_sol2.c:556 eelf32_sparc_vxworks.c:454 eelf32_spu.c:1095
-#: eelf32_tic6x_be.c:563 eelf32_tic6x_elf_be.c:563 eelf32_tic6x_elf_le.c:563
-#: eelf32_tic6x_le.c:563 eelf32_tic6x_linux_be.c:563
-#: eelf32_tic6x_linux_le.c:563 eelf32_x86_64.c:428 eelf32_x86_64_nacl.c:425
-#: eelf32am33lin.c:425 eelf32b4300.c:652 eelf32bfin.c:434 eelf32bfinfd.c:434
-#: eelf32bmip.c:652 eelf32bmipn32.c:670 eelf32bsmip.c:670 eelf32btsmip.c:652
-#: eelf32btsmip_fbsd.c:652 eelf32btsmipn32.c:652 eelf32btsmipn32_fbsd.c:652
-#: eelf32cr16.c:576 eelf32cr16c.c:425 eelf32crx.c:464 eelf32ebmip.c:652
-#: eelf32ebmipvxworks.c:681 eelf32elmip.c:652 eelf32elmipvxworks.c:681
-#: eelf32epiphany.c:425 eelf32epiphany_4x4.c:427 eelf32frvfd.c:425
-#: eelf32ip2k.c:425 eelf32l4300.c:652 eelf32lm32.c:425 eelf32lm32fd.c:425
-#: eelf32lmip.c:652 eelf32lppc.c:641 eelf32lppclinux.c:641 eelf32lppcnto.c:641
-#: eelf32lppcsim.c:641 eelf32lr5900.c:652 eelf32lr5900n32.c:652
-#: eelf32lriscv.c:490 eelf32lriscv_ilp32.c:490 eelf32lriscv_ilp32f.c:490
-#: eelf32lsmip.c:652 eelf32ltsmip.c:652 eelf32ltsmip_fbsd.c:652
-#: eelf32ltsmipn32.c:652 eelf32ltsmipn32_fbsd.c:652 eelf32m32c.c:436
-#: eelf32mb_linux.c:425 eelf32mbel_linux.c:425 eelf32mcore.c:425
-#: eelf32mep.c:425 eelf32metag.c:700 eelf32microblaze.c:425
-#: eelf32microblazeel.c:425 eelf32mipswindiss.c:652 eelf32or1k.c:425
-#: eelf32or1k_linux.c:425 eelf32ppc.c:641 eelf32ppc_fbsd.c:641
-#: eelf32ppclinux.c:641 eelf32ppcnto.c:641 eelf32ppcsim.c:641
-#: eelf32ppcvxworks.c:615 eelf32ppcwindiss.c:641 eelf32rl78.c:425
-#: eelf32rx.c:441 eelf32tilegx.c:425 eelf32tilegx_be.c:425 eelf32tilepro.c:425
-#: eelf32vax.c:425 eelf32visium.c:425 eelf32xc16x.c:425 eelf32xc16xl.c:425
-#: eelf32xc16xs.c:425 eelf32xstormy16.c:436 eelf32xtensa.c:2312
-#: eelf64_aix.c:425 eelf64_ia64.c:449 eelf64_ia64_fbsd.c:449 eelf64_s390.c:440
-#: eelf64_sparc.c:425 eelf64_sparc_fbsd.c:425 eelf64_sparc_sol2.c:556
-#: eelf64alpha.c:508 eelf64alpha_fbsd.c:508 eelf64alpha_nbsd.c:508
-#: eelf64bmip.c:670 eelf64btsmip.c:652 eelf64btsmip_fbsd.c:652 eelf64hppa.c:425
-#: eelf64lppc.c:1087 eelf64lriscv.c:490 eelf64lriscv_lp64.c:490
-#: eelf64lriscv_lp64f.c:490 eelf64ltsmip.c:652 eelf64ltsmip_fbsd.c:652
-#: eelf64mmix.c:536 eelf64ppc.c:1087 eelf64ppc_fbsd.c:1087 eelf64rdos.c:425
-#: eelf64tilegx.c:425 eelf64tilegx_be.c:425 eelf_i386.c:428 eelf_i386_be.c:425
-#: eelf_i386_chaos.c:425 eelf_i386_fbsd.c:425 eelf_i386_ldso.c:425
-#: eelf_i386_nacl.c:425 eelf_i386_sol2.c:556 eelf_i386_vxworks.c:454
-#: eelf_iamcu.c:425 eelf_k1om.c:428 eelf_k1om_fbsd.c:425 eelf_l1om.c:428
-#: eelf_l1om_fbsd.c:425 eelf_s390.c:425 eelf_x86_64.c:428
-#: eelf_x86_64_cloudabi.c:425 eelf_x86_64_fbsd.c:425 eelf_x86_64_nacl.c:425
-#: eelf_x86_64_sol2.c:556 eh8300elf.c:425 eh8300elf_linux.c:425
-#: eh8300helf.c:425 eh8300helf_linux.c:425 eh8300hnelf.c:425 eh8300self.c:425
-#: eh8300self_linux.c:425 eh8300snelf.c:425 eh8300sxelf.c:425
-#: eh8300sxelf_linux.c:425 eh8300sxnelf.c:425 ehppa64linux.c:425 ehppaelf.c:732
-#: ehppalinux.c:732 ehppanbsd.c:732 ehppaobsd.c:732 ei386lynx.c:425
-#: ei386moss.c:425 ei386nto.c:425 em32relf.c:425 em32relf_linux.c:425
-#: em32rlelf.c:425 em32rlelf_linux.c:425 em68hc11elf.c:725 em68hc11elfb.c:725
-#: em68hc12elf.c:725 em68hc12elfb.c:725 em68kelf.c:575 em68kelfnbsd.c:575
-#: em9s12zelf.c:425 emn10300.c:425 ends32belf.c:532 ends32belf16m.c:532
-#: ends32belf_linux.c:532 ends32elf.c:532 ends32elf16m.c:532
-#: ends32elf_linux.c:532 enios2elf.c:718 enios2linux.c:718 eppclynx.c:641
-#: epruelf.c:445 escore3_elf.c:445 escore7_elf.c:445 eshelf.c:425
-#: eshelf_fd.c:425 eshelf_linux.c:425 eshelf_nbsd.c:425 eshelf_nto.c:425
-#: eshelf_uclinux.c:425 eshelf_vxworks.c:454 eshlelf.c:425 eshlelf_fd.c:425
-#: eshlelf_linux.c:425 eshlelf_nbsd.c:425 eshlelf_nto.c:425
-#: eshlelf_vxworks.c:454 ev850.c:471 ev850_rh850.c:471
-msgid "%F%P: %pB: bfd_stat failed: %E\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:746 eaarch64cloudabib.c:746 eaarch64elf.c:746
-#: eaarch64elf32.c:746 eaarch64elf32b.c:746 eaarch64elfb.c:746
-#: eaarch64fbsd.c:746 eaarch64fbsdb.c:746 eaarch64linux.c:746
-#: eaarch64linux32.c:746 eaarch64linux32b.c:746 eaarch64linuxb.c:746
-#: earcelf.c:431 earcelf_prof.c:431 earclinux.c:433 earclinux_nps.c:433
-#: earclinux_prof.c:433 earcv2elf.c:431 earcv2elfx.c:431 earmelf.c:966
-#: earmelf_fbsd.c:966 earmelf_fuchsia.c:966 earmelf_linux.c:966
-#: earmelf_linux_eabi.c:966 earmelf_linux_fdpiceabi.c:966 earmelf_nacl.c:966
-#: earmelf_nbsd.c:966 earmelf_phoenix.c:966 earmelf_vxworks.c:996
-#: earmelfb.c:966 earmelfb_fbsd.c:966 earmelfb_fuchsia.c:966
-#: earmelfb_linux.c:966 earmelfb_linux_eabi.c:966
-#: earmelfb_linux_fdpiceabi.c:966 earmelfb_nacl.c:966 earmelfb_nbsd.c:966
-#: earmnto.c:966 earmsymbian.c:966 eavr1.c:634 eavr2.c:634 eavr25.c:634
-#: eavr3.c:634 eavr31.c:634 eavr35.c:634 eavr4.c:634 eavr5.c:634 eavr51.c:634
-#: eavr6.c:634 eavrtiny.c:634 eavrxmega1.c:634 eavrxmega2.c:634
-#: eavrxmega3.c:634 eavrxmega4.c:634 eavrxmega5.c:634 eavrxmega6.c:634
-#: eavrxmega7.c:634 ecriself.c:431 ecrislinux.c:431 ecskyelf.c:688
-#: ecskyelf_linux.c:688 ed10velf.c:431 eelf32_sparc.c:431
-#: eelf32_sparc_sol2.c:562 eelf32_sparc_vxworks.c:460 eelf32_spu.c:1101
-#: eelf32_tic6x_be.c:569 eelf32_tic6x_elf_be.c:569 eelf32_tic6x_elf_le.c:569
-#: eelf32_tic6x_le.c:569 eelf32_tic6x_linux_be.c:569
-#: eelf32_tic6x_linux_le.c:569 eelf32_x86_64.c:434 eelf32_x86_64_nacl.c:431
-#: eelf32am33lin.c:431 eelf32b4300.c:658 eelf32bfin.c:440 eelf32bfinfd.c:440
-#: eelf32bmip.c:658 eelf32bmipn32.c:676 eelf32bsmip.c:676 eelf32btsmip.c:658
-#: eelf32btsmip_fbsd.c:658 eelf32btsmipn32.c:658 eelf32btsmipn32_fbsd.c:658
-#: eelf32cr16.c:582 eelf32cr16c.c:431 eelf32crx.c:470 eelf32ebmip.c:658
-#: eelf32ebmipvxworks.c:687 eelf32elmip.c:658 eelf32elmipvxworks.c:687
-#: eelf32epiphany.c:431 eelf32epiphany_4x4.c:433 eelf32frvfd.c:431
-#: eelf32ip2k.c:431 eelf32l4300.c:658 eelf32lm32.c:431 eelf32lm32fd.c:431
-#: eelf32lmip.c:658 eelf32lppc.c:647 eelf32lppclinux.c:647 eelf32lppcnto.c:647
-#: eelf32lppcsim.c:647 eelf32lr5900.c:658 eelf32lr5900n32.c:658
-#: eelf32lriscv.c:496 eelf32lriscv_ilp32.c:496 eelf32lriscv_ilp32f.c:496
-#: eelf32lsmip.c:658 eelf32ltsmip.c:658 eelf32ltsmip_fbsd.c:658
-#: eelf32ltsmipn32.c:658 eelf32ltsmipn32_fbsd.c:658 eelf32m32c.c:442
-#: eelf32mb_linux.c:431 eelf32mbel_linux.c:431 eelf32mcore.c:431
-#: eelf32mep.c:431 eelf32metag.c:706 eelf32microblaze.c:431
-#: eelf32microblazeel.c:431 eelf32mipswindiss.c:658 eelf32or1k.c:431
-#: eelf32or1k_linux.c:431 eelf32ppc.c:647 eelf32ppc_fbsd.c:647
-#: eelf32ppclinux.c:647 eelf32ppcnto.c:647 eelf32ppcsim.c:647
-#: eelf32ppcvxworks.c:621 eelf32ppcwindiss.c:647 eelf32rl78.c:431
-#: eelf32rx.c:447 eelf32tilegx.c:431 eelf32tilegx_be.c:431 eelf32tilepro.c:431
-#: eelf32vax.c:431 eelf32visium.c:431 eelf32xc16x.c:431 eelf32xc16xl.c:431
-#: eelf32xc16xs.c:431 eelf32xstormy16.c:442 eelf32xtensa.c:2318
-#: eelf64_aix.c:431 eelf64_ia64.c:455 eelf64_ia64_fbsd.c:455 eelf64_s390.c:446
-#: eelf64_sparc.c:431 eelf64_sparc_fbsd.c:431 eelf64_sparc_sol2.c:562
-#: eelf64alpha.c:514 eelf64alpha_fbsd.c:514 eelf64alpha_nbsd.c:514
-#: eelf64bmip.c:676 eelf64btsmip.c:658 eelf64btsmip_fbsd.c:658 eelf64hppa.c:431
-#: eelf64lppc.c:1093 eelf64lriscv.c:496 eelf64lriscv_lp64.c:496
-#: eelf64lriscv_lp64f.c:496 eelf64ltsmip.c:658 eelf64ltsmip_fbsd.c:658
-#: eelf64mmix.c:542 eelf64ppc.c:1093 eelf64ppc_fbsd.c:1093 eelf64rdos.c:431
-#: eelf64tilegx.c:431 eelf64tilegx_be.c:431 eelf_i386.c:434 eelf_i386_be.c:431
-#: eelf_i386_chaos.c:431 eelf_i386_fbsd.c:431 eelf_i386_ldso.c:431
-#: eelf_i386_nacl.c:431 eelf_i386_sol2.c:562 eelf_i386_vxworks.c:460
-#: eelf_iamcu.c:431 eelf_k1om.c:434 eelf_k1om_fbsd.c:431 eelf_l1om.c:434
-#: eelf_l1om_fbsd.c:431 eelf_s390.c:431 eelf_x86_64.c:434
-#: eelf_x86_64_cloudabi.c:431 eelf_x86_64_fbsd.c:431 eelf_x86_64_nacl.c:431
-#: eelf_x86_64_sol2.c:562 eh8300elf.c:431 eh8300elf_linux.c:431
-#: eh8300helf.c:431 eh8300helf_linux.c:431 eh8300hnelf.c:431 eh8300self.c:431
-#: eh8300self_linux.c:431 eh8300snelf.c:431 eh8300sxelf.c:431
-#: eh8300sxelf_linux.c:431 eh8300sxnelf.c:431 ehppa64linux.c:431 ehppaelf.c:738
-#: ehppalinux.c:738 ehppanbsd.c:738 ehppaobsd.c:738 ei386lynx.c:431
-#: ei386moss.c:431 ei386nto.c:431 em32relf.c:431 em32relf_linux.c:431
-#: em32rlelf.c:431 em32rlelf_linux.c:431 em68hc11elf.c:731 em68hc11elfb.c:731
-#: em68hc12elf.c:731 em68hc12elfb.c:731 em68kelf.c:581 em68kelfnbsd.c:581
-#: em9s12zelf.c:431 emn10300.c:431 ends32belf.c:538 ends32belf16m.c:538
-#: ends32belf_linux.c:538 ends32elf.c:538 ends32elf16m.c:538
-#: ends32elf_linux.c:538 enios2elf.c:724 enios2linux.c:724 eppclynx.c:647
-#: epruelf.c:451 escore3_elf.c:451 escore7_elf.c:451 eshelf.c:431
-#: eshelf_fd.c:431 eshelf_linux.c:431 eshelf_nbsd.c:431 eshelf_nto.c:431
-#: eshelf_uclinux.c:431 eshelf_vxworks.c:460 eshlelf.c:431 eshlelf_fd.c:431
-#: eshlelf_linux.c:431 eshlelf_nbsd.c:431 eshlelf_nto.c:431
-#: eshlelf_vxworks.c:460 ev850.c:477 ev850_rh850.c:477
-#, c-format
-msgid "found %s at %s\n"
-msgstr ""
-
-#. We only issue an "unrecognised" message in verbose mode
-#. as the $<foo> token might be a legitimate component of
-#. a path name in the target's file system.
-#: eaarch64cloudabi.c:967 eaarch64cloudabib.c:967 eaarch64elf.c:967
-#: eaarch64elf32.c:967 eaarch64elf32b.c:967 eaarch64elfb.c:967
-#: eaarch64fbsd.c:967 eaarch64fbsdb.c:967 eaarch64linux.c:967
-#: eaarch64linux32.c:967 eaarch64linux32b.c:967 eaarch64linuxb.c:967
-#: earcelf.c:652 earcelf_prof.c:652 earclinux.c:654 earclinux_nps.c:654
-#: earclinux_prof.c:654 earcv2elf.c:652 earcv2elfx.c:652 earmelf.c:1187
-#: earmelf_fbsd.c:1187 earmelf_fuchsia.c:1187 earmelf_linux.c:1187
-#: earmelf_linux_eabi.c:1187 earmelf_linux_fdpiceabi.c:1187 earmelf_nacl.c:1187
-#: earmelf_nbsd.c:1187 earmelf_phoenix.c:1187 earmelf_vxworks.c:1217
-#: earmelfb.c:1187 earmelfb_fbsd.c:1187 earmelfb_fuchsia.c:1187
-#: earmelfb_linux.c:1187 earmelfb_linux_eabi.c:1187
-#: earmelfb_linux_fdpiceabi.c:1187 earmelfb_nacl.c:1187 earmelfb_nbsd.c:1187
-#: earmnto.c:1187 earmsymbian.c:1187 eavr1.c:855 eavr2.c:855 eavr25.c:855
-#: eavr3.c:855 eavr31.c:855 eavr35.c:855 eavr4.c:855 eavr5.c:855 eavr51.c:855
-#: eavr6.c:855 eavrtiny.c:855 eavrxmega1.c:855 eavrxmega2.c:855
-#: eavrxmega3.c:855 eavrxmega4.c:855 eavrxmega5.c:855 eavrxmega6.c:855
-#: eavrxmega7.c:855 ecriself.c:652 ecrislinux.c:652 ecskyelf.c:909
-#: ecskyelf_linux.c:909 ed10velf.c:652 eelf32_sparc.c:652
-#: eelf32_sparc_sol2.c:783 eelf32_sparc_vxworks.c:681 eelf32_spu.c:1322
-#: eelf32_tic6x_be.c:790 eelf32_tic6x_elf_be.c:790 eelf32_tic6x_elf_le.c:790
-#: eelf32_tic6x_le.c:790 eelf32_tic6x_linux_be.c:790
-#: eelf32_tic6x_linux_le.c:790 eelf32_x86_64.c:655 eelf32_x86_64_nacl.c:652
-#: eelf32am33lin.c:652 eelf32b4300.c:879 eelf32bfin.c:661 eelf32bfinfd.c:661
-#: eelf32bmip.c:879 eelf32bmipn32.c:897 eelf32bsmip.c:897 eelf32btsmip.c:879
-#: eelf32btsmip_fbsd.c:879 eelf32btsmipn32.c:879 eelf32btsmipn32_fbsd.c:879
-#: eelf32cr16.c:803 eelf32cr16c.c:652 eelf32crx.c:691 eelf32ebmip.c:879
-#: eelf32ebmipvxworks.c:908 eelf32elmip.c:879 eelf32elmipvxworks.c:908
-#: eelf32epiphany.c:652 eelf32epiphany_4x4.c:654 eelf32frvfd.c:652
-#: eelf32ip2k.c:652 eelf32l4300.c:879 eelf32lm32.c:652 eelf32lm32fd.c:652
-#: eelf32lmip.c:879 eelf32lppc.c:868 eelf32lppclinux.c:868 eelf32lppcnto.c:868
-#: eelf32lppcsim.c:868 eelf32lr5900.c:879 eelf32lr5900n32.c:879
-#: eelf32lriscv.c:717 eelf32lriscv_ilp32.c:717 eelf32lriscv_ilp32f.c:717
-#: eelf32lsmip.c:879 eelf32ltsmip.c:879 eelf32ltsmip_fbsd.c:879
-#: eelf32ltsmipn32.c:879 eelf32ltsmipn32_fbsd.c:879 eelf32m32c.c:663
-#: eelf32mb_linux.c:652 eelf32mbel_linux.c:652 eelf32mcore.c:652
-#: eelf32mep.c:652 eelf32metag.c:927 eelf32microblaze.c:652
-#: eelf32microblazeel.c:652 eelf32mipswindiss.c:879 eelf32or1k.c:652
-#: eelf32or1k_linux.c:652 eelf32ppc.c:868 eelf32ppc_fbsd.c:868
-#: eelf32ppclinux.c:868 eelf32ppcnto.c:868 eelf32ppcsim.c:868
-#: eelf32ppcvxworks.c:842 eelf32ppcwindiss.c:868 eelf32rl78.c:652
-#: eelf32rx.c:668 eelf32tilegx.c:652 eelf32tilegx_be.c:652 eelf32tilepro.c:652
-#: eelf32vax.c:652 eelf32visium.c:652 eelf32xc16x.c:652 eelf32xc16xl.c:652
-#: eelf32xc16xs.c:652 eelf32xstormy16.c:663 eelf32xtensa.c:2539
-#: eelf64_aix.c:652 eelf64_ia64.c:676 eelf64_ia64_fbsd.c:676 eelf64_s390.c:667
-#: eelf64_sparc.c:652 eelf64_sparc_fbsd.c:652 eelf64_sparc_sol2.c:783
-#: eelf64alpha.c:735 eelf64alpha_fbsd.c:735 eelf64alpha_nbsd.c:735
-#: eelf64bmip.c:897 eelf64btsmip.c:879 eelf64btsmip_fbsd.c:879 eelf64hppa.c:652
-#: eelf64lppc.c:1314 eelf64lriscv.c:717 eelf64lriscv_lp64.c:717
-#: eelf64lriscv_lp64f.c:717 eelf64ltsmip.c:879 eelf64ltsmip_fbsd.c:879
-#: eelf64mmix.c:763 eelf64ppc.c:1314 eelf64ppc_fbsd.c:1314 eelf64rdos.c:652
-#: eelf64tilegx.c:652 eelf64tilegx_be.c:652 eelf_i386.c:655 eelf_i386_be.c:652
-#: eelf_i386_chaos.c:652 eelf_i386_fbsd.c:652 eelf_i386_ldso.c:652
-#: eelf_i386_nacl.c:652 eelf_i386_sol2.c:783 eelf_i386_vxworks.c:681
-#: eelf_iamcu.c:652 eelf_k1om.c:655 eelf_k1om_fbsd.c:652 eelf_l1om.c:655
-#: eelf_l1om_fbsd.c:652 eelf_s390.c:652 eelf_x86_64.c:655
-#: eelf_x86_64_cloudabi.c:652 eelf_x86_64_fbsd.c:652 eelf_x86_64_nacl.c:652
-#: eelf_x86_64_sol2.c:783 eh8300elf.c:652 eh8300elf_linux.c:652
-#: eh8300helf.c:652 eh8300helf_linux.c:652 eh8300hnelf.c:652 eh8300self.c:652
-#: eh8300self_linux.c:652 eh8300snelf.c:652 eh8300sxelf.c:652
-#: eh8300sxelf_linux.c:652 eh8300sxnelf.c:652 ehppa64linux.c:652 ehppaelf.c:959
-#: ehppalinux.c:959 ehppanbsd.c:959 ehppaobsd.c:959 ei386lynx.c:652
-#: ei386moss.c:652 ei386nto.c:652 em32relf.c:652 em32relf_linux.c:652
-#: em32rlelf.c:652 em32rlelf_linux.c:652 em68hc11elf.c:952 em68hc11elfb.c:952
-#: em68hc12elf.c:952 em68hc12elfb.c:952 em68kelf.c:802 em68kelfnbsd.c:802
-#: em9s12zelf.c:652 emn10300.c:652 ends32belf.c:759 ends32belf16m.c:759
-#: ends32belf_linux.c:759 ends32elf.c:759 ends32elf16m.c:759
-#: ends32elf_linux.c:759 enios2elf.c:945 enios2linux.c:945 eppclynx.c:868
-#: epruelf.c:672 escore3_elf.c:672 escore7_elf.c:672 eshelf.c:652
-#: eshelf_fd.c:652 eshelf_linux.c:652 eshelf_nbsd.c:652 eshelf_nto.c:652
-#: eshelf_uclinux.c:652 eshelf_vxworks.c:681 eshlelf.c:652 eshlelf_fd.c:652
-#: eshlelf_linux.c:652 eshlelf_nbsd.c:652 eshlelf_nto.c:652
-#: eshlelf_vxworks.c:681 ev850.c:698 ev850_rh850.c:698
-#, c-format
-msgid "unrecognised or unsupported token '%s' in search path\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1081 eaarch64cloudabib.c:1081 eaarch64elf.c:1081
-#: eaarch64elf32.c:1081 eaarch64elf32b.c:1081 eaarch64elfb.c:1081
-#: eaarch64fbsd.c:1081 eaarch64fbsdb.c:1081 eaarch64linux.c:1081
-#: eaarch64linux32.c:1081 eaarch64linux32b.c:1081 eaarch64linuxb.c:1081
-#: earcelf.c:766 earcelf_prof.c:766 earclinux.c:768 earclinux_nps.c:768
-#: earclinux_prof.c:768 earcv2elf.c:766 earcv2elfx.c:766 earmelf.c:1301
-#: earmelf_fbsd.c:1301 earmelf_fuchsia.c:1301 earmelf_linux.c:1301
-#: earmelf_linux_eabi.c:1301 earmelf_linux_fdpiceabi.c:1301 earmelf_nacl.c:1301
-#: earmelf_nbsd.c:1301 earmelf_phoenix.c:1301 earmelf_vxworks.c:1331
-#: earmelfb.c:1301 earmelfb_fbsd.c:1301 earmelfb_fuchsia.c:1301
-#: earmelfb_linux.c:1301 earmelfb_linux_eabi.c:1301
-#: earmelfb_linux_fdpiceabi.c:1301 earmelfb_nacl.c:1301 earmelfb_nbsd.c:1301
-#: earmnto.c:1301 earmsymbian.c:1301 eavr1.c:969 eavr2.c:969 eavr25.c:969
-#: eavr3.c:969 eavr31.c:969 eavr35.c:969 eavr4.c:969 eavr5.c:969 eavr51.c:969
-#: eavr6.c:969 eavrtiny.c:969 eavrxmega1.c:969 eavrxmega2.c:969
-#: eavrxmega3.c:969 eavrxmega4.c:969 eavrxmega5.c:969 eavrxmega6.c:969
-#: eavrxmega7.c:969 ecriself.c:766 ecrislinux.c:766 ecskyelf.c:1023
-#: ecskyelf_linux.c:1023 ed10velf.c:766 eelf32_sparc.c:766
-#: eelf32_sparc_sol2.c:897 eelf32_sparc_vxworks.c:795 eelf32_spu.c:1436
-#: eelf32_tic6x_be.c:904 eelf32_tic6x_elf_be.c:904 eelf32_tic6x_elf_le.c:904
-#: eelf32_tic6x_le.c:904 eelf32_tic6x_linux_be.c:904
-#: eelf32_tic6x_linux_le.c:904 eelf32_x86_64.c:1058 eelf32_x86_64_nacl.c:766
-#: eelf32am33lin.c:766 eelf32b4300.c:993 eelf32bfin.c:775 eelf32bfinfd.c:775
-#: eelf32bmip.c:993 eelf32bmipn32.c:1011 eelf32bsmip.c:1011 eelf32btsmip.c:993
-#: eelf32btsmip_fbsd.c:993 eelf32btsmipn32.c:993 eelf32btsmipn32_fbsd.c:993
-#: eelf32cr16.c:917 eelf32cr16c.c:766 eelf32crx.c:805 eelf32ebmip.c:993
-#: eelf32ebmipvxworks.c:1022 eelf32elmip.c:993 eelf32elmipvxworks.c:1022
-#: eelf32epiphany.c:766 eelf32epiphany_4x4.c:768 eelf32frvfd.c:766
-#: eelf32ip2k.c:766 eelf32l4300.c:993 eelf32lm32.c:766 eelf32lm32fd.c:766
-#: eelf32lmip.c:993 eelf32lppc.c:982 eelf32lppclinux.c:982 eelf32lppcnto.c:982
-#: eelf32lppcsim.c:982 eelf32lr5900.c:993 eelf32lr5900n32.c:993
-#: eelf32lriscv.c:831 eelf32lriscv_ilp32.c:831 eelf32lriscv_ilp32f.c:831
-#: eelf32lsmip.c:993 eelf32ltsmip.c:993 eelf32ltsmip_fbsd.c:993
-#: eelf32ltsmipn32.c:993 eelf32ltsmipn32_fbsd.c:993 eelf32m32c.c:777
-#: eelf32mb_linux.c:766 eelf32mbel_linux.c:766 eelf32mcore.c:766
-#: eelf32mep.c:766 eelf32metag.c:1041 eelf32microblaze.c:766
-#: eelf32microblazeel.c:766 eelf32mipswindiss.c:993 eelf32or1k.c:766
-#: eelf32or1k_linux.c:766 eelf32ppc.c:982 eelf32ppc_fbsd.c:982
-#: eelf32ppclinux.c:982 eelf32ppcnto.c:982 eelf32ppcsim.c:982
-#: eelf32ppcvxworks.c:956 eelf32ppcwindiss.c:982 eelf32rl78.c:766
-#: eelf32rx.c:782 eelf32tilegx.c:766 eelf32tilegx_be.c:766 eelf32tilepro.c:766
-#: eelf32vax.c:766 eelf32visium.c:766 eelf32xc16x.c:766 eelf32xc16xl.c:766
-#: eelf32xc16xs.c:766 eelf32xstormy16.c:777 eelf32xtensa.c:2653
-#: eelf64_aix.c:766 eelf64_ia64.c:790 eelf64_ia64_fbsd.c:790 eelf64_s390.c:781
-#: eelf64_sparc.c:766 eelf64_sparc_fbsd.c:766 eelf64_sparc_sol2.c:897
-#: eelf64alpha.c:849 eelf64alpha_fbsd.c:849 eelf64alpha_nbsd.c:849
-#: eelf64bmip.c:1011 eelf64btsmip.c:993 eelf64btsmip_fbsd.c:993
-#: eelf64hppa.c:766 eelf64lppc.c:1428 eelf64lriscv.c:831
-#: eelf64lriscv_lp64.c:831 eelf64lriscv_lp64f.c:831 eelf64ltsmip.c:993
-#: eelf64ltsmip_fbsd.c:993 eelf64mmix.c:877 eelf64ppc.c:1428
-#: eelf64ppc_fbsd.c:1428 eelf64rdos.c:766 eelf64tilegx.c:766
-#: eelf64tilegx_be.c:766 eelf_i386.c:1058 eelf_i386_be.c:766
-#: eelf_i386_chaos.c:766 eelf_i386_fbsd.c:766 eelf_i386_ldso.c:766
-#: eelf_i386_nacl.c:766 eelf_i386_sol2.c:897 eelf_i386_vxworks.c:795
-#: eelf_iamcu.c:766 eelf_k1om.c:1058 eelf_k1om_fbsd.c:766 eelf_l1om.c:1058
-#: eelf_l1om_fbsd.c:766 eelf_s390.c:766 eelf_x86_64.c:1058
-#: eelf_x86_64_cloudabi.c:766 eelf_x86_64_fbsd.c:766 eelf_x86_64_nacl.c:766
-#: eelf_x86_64_sol2.c:897 eh8300elf.c:766 eh8300elf_linux.c:766
-#: eh8300helf.c:766 eh8300helf_linux.c:766 eh8300hnelf.c:766 eh8300self.c:766
-#: eh8300self_linux.c:766 eh8300snelf.c:766 eh8300sxelf.c:766
-#: eh8300sxelf_linux.c:766 eh8300sxnelf.c:766 ehppa64linux.c:766
-#: ehppaelf.c:1073 ehppalinux.c:1073 ehppanbsd.c:1073 ehppaobsd.c:1073
-#: ei386lynx.c:766 ei386moss.c:766 ei386nto.c:766 em32relf.c:766
-#: em32relf_linux.c:766 em32rlelf.c:766 em32rlelf_linux.c:766
-#: em68hc11elf.c:1066 em68hc11elfb.c:1066 em68hc12elf.c:1066
-#: em68hc12elfb.c:1066 em68kelf.c:916 em68kelfnbsd.c:916 em9s12zelf.c:766
-#: emn10300.c:766 ends32belf.c:873 ends32belf16m.c:873 ends32belf_linux.c:873
-#: ends32elf.c:873 ends32elf16m.c:873 ends32elf_linux.c:873 enios2elf.c:1059
-#: enios2linux.c:1059 eppclynx.c:982 epruelf.c:786 escore3_elf.c:786
-#: escore7_elf.c:786 eshelf.c:766 eshelf_fd.c:766 eshelf_linux.c:766
-#: eshelf_nbsd.c:766 eshelf_nto.c:766 eshelf_uclinux.c:766 eshelf_vxworks.c:795
-#: eshlelf.c:766 eshlelf_fd.c:766 eshlelf_linux.c:766 eshlelf_nbsd.c:766
-#: eshlelf_nto.c:766 eshlelf_vxworks.c:795 ev850.c:812 ev850_rh850.c:812
-msgid "%P: warning: .note.gnu.build-id section discarded, --build-id ignored\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1127 eaarch64cloudabib.c:1127 eaarch64elf.c:1127
-#: eaarch64elf32.c:1127 eaarch64elf32b.c:1127 eaarch64elfb.c:1127
-#: eaarch64fbsd.c:1127 eaarch64fbsdb.c:1127 eaarch64linux.c:1127
-#: eaarch64linux32.c:1127 eaarch64linux32b.c:1127 eaarch64linuxb.c:1127
-#: earcelf.c:812 earcelf_prof.c:812 earclinux.c:814 earclinux_nps.c:814
-#: earclinux_prof.c:814 earcv2elf.c:812 earcv2elfx.c:812 earm_wince_pe.c:1225
-#: earmelf.c:1347 earmelf_fbsd.c:1347 earmelf_fuchsia.c:1347
-#: earmelf_linux.c:1347 earmelf_linux_eabi.c:1347
-#: earmelf_linux_fdpiceabi.c:1347 earmelf_nacl.c:1347 earmelf_nbsd.c:1347
-#: earmelf_phoenix.c:1347 earmelf_vxworks.c:1377 earmelfb.c:1347
-#: earmelfb_fbsd.c:1347 earmelfb_fuchsia.c:1347 earmelfb_linux.c:1347
-#: earmelfb_linux_eabi.c:1347 earmelfb_linux_fdpiceabi.c:1347
-#: earmelfb_nacl.c:1347 earmelfb_nbsd.c:1347 earmnto.c:1347 earmpe.c:1225
-#: earmsymbian.c:1347 eavr1.c:1015 eavr2.c:1015 eavr25.c:1015 eavr3.c:1015
-#: eavr31.c:1015 eavr35.c:1015 eavr4.c:1015 eavr5.c:1015 eavr51.c:1015
-#: eavr6.c:1015 eavrtiny.c:1015 eavrxmega1.c:1015 eavrxmega2.c:1015
-#: eavrxmega3.c:1015 eavrxmega4.c:1015 eavrxmega5.c:1015 eavrxmega6.c:1015
-#: eavrxmega7.c:1015 ecriself.c:812 ecrislinux.c:812 ecskyelf.c:1069
-#: ecskyelf_linux.c:1069 ed10velf.c:812 eelf32_sparc.c:812
-#: eelf32_sparc_sol2.c:943 eelf32_sparc_vxworks.c:841 eelf32_spu.c:1482
-#: eelf32_tic6x_be.c:950 eelf32_tic6x_elf_be.c:950 eelf32_tic6x_elf_le.c:950
-#: eelf32_tic6x_le.c:950 eelf32_tic6x_linux_be.c:950
-#: eelf32_tic6x_linux_le.c:950 eelf32_x86_64.c:1104 eelf32_x86_64_nacl.c:812
-#: eelf32am33lin.c:812 eelf32b4300.c:1039 eelf32bfin.c:821 eelf32bfinfd.c:821
-#: eelf32bmip.c:1039 eelf32bmipn32.c:1057 eelf32bsmip.c:1057
-#: eelf32btsmip.c:1039 eelf32btsmip_fbsd.c:1039 eelf32btsmipn32.c:1039
-#: eelf32btsmipn32_fbsd.c:1039 eelf32cr16.c:963 eelf32cr16c.c:812
-#: eelf32crx.c:851 eelf32ebmip.c:1039 eelf32ebmipvxworks.c:1068
-#: eelf32elmip.c:1039 eelf32elmipvxworks.c:1068 eelf32epiphany.c:812
-#: eelf32epiphany_4x4.c:814 eelf32frvfd.c:812 eelf32ip2k.c:812
-#: eelf32l4300.c:1039 eelf32lm32.c:812 eelf32lm32fd.c:812 eelf32lmip.c:1039
-#: eelf32lppc.c:1028 eelf32lppclinux.c:1028 eelf32lppcnto.c:1028
-#: eelf32lppcsim.c:1028 eelf32lr5900.c:1039 eelf32lr5900n32.c:1039
-#: eelf32lriscv.c:877 eelf32lriscv_ilp32.c:877 eelf32lriscv_ilp32f.c:877
-#: eelf32lsmip.c:1039 eelf32ltsmip.c:1039 eelf32ltsmip_fbsd.c:1039
-#: eelf32ltsmipn32.c:1039 eelf32ltsmipn32_fbsd.c:1039 eelf32m32c.c:823
-#: eelf32mb_linux.c:812 eelf32mbel_linux.c:812 eelf32mcore.c:812
-#: eelf32mep.c:812 eelf32metag.c:1087 eelf32microblaze.c:812
-#: eelf32microblazeel.c:812 eelf32mipswindiss.c:1039 eelf32or1k.c:812
-#: eelf32or1k_linux.c:812 eelf32ppc.c:1028 eelf32ppc_fbsd.c:1028
-#: eelf32ppclinux.c:1028 eelf32ppcnto.c:1028 eelf32ppcsim.c:1028
-#: eelf32ppcvxworks.c:1002 eelf32ppcwindiss.c:1028 eelf32rl78.c:812
-#: eelf32rx.c:828 eelf32tilegx.c:812 eelf32tilegx_be.c:812 eelf32tilepro.c:812
-#: eelf32vax.c:812 eelf32visium.c:812 eelf32xc16x.c:812 eelf32xc16xl.c:812
-#: eelf32xc16xs.c:812 eelf32xstormy16.c:823 eelf32xtensa.c:2699
-#: eelf64_aix.c:812 eelf64_ia64.c:836 eelf64_ia64_fbsd.c:836 eelf64_s390.c:827
-#: eelf64_sparc.c:812 eelf64_sparc_fbsd.c:812 eelf64_sparc_sol2.c:943
-#: eelf64alpha.c:895 eelf64alpha_fbsd.c:895 eelf64alpha_nbsd.c:895
-#: eelf64bmip.c:1057 eelf64btsmip.c:1039 eelf64btsmip_fbsd.c:1039
-#: eelf64hppa.c:812 eelf64lppc.c:1474 eelf64lriscv.c:877
-#: eelf64lriscv_lp64.c:877 eelf64lriscv_lp64f.c:877 eelf64ltsmip.c:1039
-#: eelf64ltsmip_fbsd.c:1039 eelf64mmix.c:923 eelf64ppc.c:1474
-#: eelf64ppc_fbsd.c:1474 eelf64rdos.c:812 eelf64tilegx.c:812
-#: eelf64tilegx_be.c:812 eelf_i386.c:1104 eelf_i386_be.c:812
-#: eelf_i386_chaos.c:812 eelf_i386_fbsd.c:812 eelf_i386_ldso.c:812
-#: eelf_i386_nacl.c:812 eelf_i386_sol2.c:943 eelf_i386_vxworks.c:841
-#: eelf_iamcu.c:812 eelf_k1om.c:1104 eelf_k1om_fbsd.c:812 eelf_l1om.c:1104
-#: eelf_l1om_fbsd.c:812 eelf_s390.c:812 eelf_x86_64.c:1104
-#: eelf_x86_64_cloudabi.c:812 eelf_x86_64_fbsd.c:812 eelf_x86_64_nacl.c:812
-#: eelf_x86_64_sol2.c:943 eh8300elf.c:812 eh8300elf_linux.c:812
-#: eh8300helf.c:812 eh8300helf_linux.c:812 eh8300hnelf.c:812 eh8300self.c:812
-#: eh8300self_linux.c:812 eh8300snelf.c:812 eh8300sxelf.c:812
-#: eh8300sxelf_linux.c:812 eh8300sxnelf.c:812 ehppa64linux.c:812
-#: ehppaelf.c:1119 ehppalinux.c:1119 ehppanbsd.c:1119 ehppaobsd.c:1119
-#: ei386lynx.c:812 ei386moss.c:812 ei386nto.c:812 ei386pe.c:1225
-#: ei386pe_posix.c:1225 ei386pep.c:1227 em32relf.c:812 em32relf_linux.c:812
-#: em32rlelf.c:812 em32rlelf_linux.c:812 em68hc11elf.c:1112 em68hc11elfb.c:1112
-#: em68hc12elf.c:1112 em68hc12elfb.c:1112 em68kelf.c:962 em68kelfnbsd.c:962
-#: em9s12zelf.c:812 emcorepe.c:1225 emn10300.c:812 ends32belf.c:919
-#: ends32belf16m.c:919 ends32belf_linux.c:919 ends32elf.c:919
-#: ends32elf16m.c:919 ends32elf_linux.c:919 enios2elf.c:1105 enios2linux.c:1105
-#: eppclynx.c:1028 eppcpe.c:1225 epruelf.c:832 escore3_elf.c:832
-#: escore7_elf.c:832 eshelf.c:812 eshelf_fd.c:812 eshelf_linux.c:812
-#: eshelf_nbsd.c:812 eshelf_nto.c:812 eshelf_uclinux.c:812 eshelf_vxworks.c:841
-#: eshlelf.c:812 eshlelf_fd.c:812 eshlelf_linux.c:812 eshlelf_nbsd.c:812
-#: eshlelf_nto.c:812 eshlelf_vxworks.c:841 eshpe.c:1225 ev850.c:858
-#: ev850_rh850.c:858
-msgid "%P: warning: unrecognized --build-id style ignored\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1145 eaarch64cloudabib.c:1145 eaarch64elf.c:1145
-#: eaarch64elf32.c:1145 eaarch64elf32b.c:1145 eaarch64elfb.c:1145
-#: eaarch64fbsd.c:1145 eaarch64fbsdb.c:1145 eaarch64linux.c:1145
-#: eaarch64linux32.c:1145 eaarch64linux32b.c:1145 eaarch64linuxb.c:1145
-#: earcelf.c:830 earcelf_prof.c:830 earclinux.c:832 earclinux_nps.c:832
-#: earclinux_prof.c:832 earcv2elf.c:830 earcv2elfx.c:830 earmelf.c:1365
-#: earmelf_fbsd.c:1365 earmelf_fuchsia.c:1365 earmelf_linux.c:1365
-#: earmelf_linux_eabi.c:1365 earmelf_linux_fdpiceabi.c:1365 earmelf_nacl.c:1365
-#: earmelf_nbsd.c:1365 earmelf_phoenix.c:1365 earmelf_vxworks.c:1395
-#: earmelfb.c:1365 earmelfb_fbsd.c:1365 earmelfb_fuchsia.c:1365
-#: earmelfb_linux.c:1365 earmelfb_linux_eabi.c:1365
-#: earmelfb_linux_fdpiceabi.c:1365 earmelfb_nacl.c:1365 earmelfb_nbsd.c:1365
-#: earmnto.c:1365 earmsymbian.c:1365 eavr1.c:1033 eavr2.c:1033 eavr25.c:1033
-#: eavr3.c:1033 eavr31.c:1033 eavr35.c:1033 eavr4.c:1033 eavr5.c:1033
-#: eavr51.c:1033 eavr6.c:1033 eavrtiny.c:1033 eavrxmega1.c:1033
-#: eavrxmega2.c:1033 eavrxmega3.c:1033 eavrxmega4.c:1033 eavrxmega5.c:1033
-#: eavrxmega6.c:1033 eavrxmega7.c:1033 ecriself.c:830 ecrislinux.c:830
-#: ecskyelf.c:1087 ecskyelf_linux.c:1087 ed10velf.c:830 eelf32_sparc.c:830
-#: eelf32_sparc_sol2.c:961 eelf32_sparc_vxworks.c:859 eelf32_spu.c:1500
-#: eelf32_tic6x_be.c:968 eelf32_tic6x_elf_be.c:968 eelf32_tic6x_elf_le.c:968
-#: eelf32_tic6x_le.c:968 eelf32_tic6x_linux_be.c:968
-#: eelf32_tic6x_linux_le.c:968 eelf32_x86_64.c:1122 eelf32_x86_64_nacl.c:830
-#: eelf32am33lin.c:830 eelf32b4300.c:1057 eelf32bfin.c:839 eelf32bfinfd.c:839
-#: eelf32bmip.c:1057 eelf32bmipn32.c:1075 eelf32bsmip.c:1075
-#: eelf32btsmip.c:1057 eelf32btsmip_fbsd.c:1057 eelf32btsmipn32.c:1057
-#: eelf32btsmipn32_fbsd.c:1057 eelf32cr16.c:981 eelf32cr16c.c:830
-#: eelf32crx.c:869 eelf32ebmip.c:1057 eelf32ebmipvxworks.c:1086
-#: eelf32elmip.c:1057 eelf32elmipvxworks.c:1086 eelf32epiphany.c:830
-#: eelf32epiphany_4x4.c:832 eelf32frvfd.c:830 eelf32ip2k.c:830
-#: eelf32l4300.c:1057 eelf32lm32.c:830 eelf32lm32fd.c:830 eelf32lmip.c:1057
-#: eelf32lppc.c:1046 eelf32lppclinux.c:1046 eelf32lppcnto.c:1046
-#: eelf32lppcsim.c:1046 eelf32lr5900.c:1057 eelf32lr5900n32.c:1057
-#: eelf32lriscv.c:895 eelf32lriscv_ilp32.c:895 eelf32lriscv_ilp32f.c:895
-#: eelf32lsmip.c:1057 eelf32ltsmip.c:1057 eelf32ltsmip_fbsd.c:1057
-#: eelf32ltsmipn32.c:1057 eelf32ltsmipn32_fbsd.c:1057 eelf32m32c.c:841
-#: eelf32mb_linux.c:830 eelf32mbel_linux.c:830 eelf32mcore.c:830
-#: eelf32mep.c:830 eelf32metag.c:1105 eelf32microblaze.c:830
-#: eelf32microblazeel.c:830 eelf32mipswindiss.c:1057 eelf32or1k.c:830
-#: eelf32or1k_linux.c:830 eelf32ppc.c:1046 eelf32ppc_fbsd.c:1046
-#: eelf32ppclinux.c:1046 eelf32ppcnto.c:1046 eelf32ppcsim.c:1046
-#: eelf32ppcvxworks.c:1020 eelf32ppcwindiss.c:1046 eelf32rl78.c:830
-#: eelf32rx.c:846 eelf32tilegx.c:830 eelf32tilegx_be.c:830 eelf32tilepro.c:830
-#: eelf32vax.c:830 eelf32visium.c:830 eelf32xc16x.c:830 eelf32xc16xl.c:830
-#: eelf32xc16xs.c:830 eelf32xstormy16.c:841 eelf32xtensa.c:2717
-#: eelf64_aix.c:830 eelf64_ia64.c:854 eelf64_ia64_fbsd.c:854 eelf64_s390.c:845
-#: eelf64_sparc.c:830 eelf64_sparc_fbsd.c:830 eelf64_sparc_sol2.c:961
-#: eelf64alpha.c:913 eelf64alpha_fbsd.c:913 eelf64alpha_nbsd.c:913
-#: eelf64bmip.c:1075 eelf64btsmip.c:1057 eelf64btsmip_fbsd.c:1057
-#: eelf64hppa.c:830 eelf64lppc.c:1492 eelf64lriscv.c:895
-#: eelf64lriscv_lp64.c:895 eelf64lriscv_lp64f.c:895 eelf64ltsmip.c:1057
-#: eelf64ltsmip_fbsd.c:1057 eelf64mmix.c:941 eelf64ppc.c:1492
-#: eelf64ppc_fbsd.c:1492 eelf64rdos.c:830 eelf64tilegx.c:830
-#: eelf64tilegx_be.c:830 eelf_i386.c:1122 eelf_i386_be.c:830
-#: eelf_i386_chaos.c:830 eelf_i386_fbsd.c:830 eelf_i386_ldso.c:830
-#: eelf_i386_nacl.c:830 eelf_i386_sol2.c:961 eelf_i386_vxworks.c:859
-#: eelf_iamcu.c:830 eelf_k1om.c:1122 eelf_k1om_fbsd.c:830 eelf_l1om.c:1122
-#: eelf_l1om_fbsd.c:830 eelf_s390.c:830 eelf_x86_64.c:1122
-#: eelf_x86_64_cloudabi.c:830 eelf_x86_64_fbsd.c:830 eelf_x86_64_nacl.c:830
-#: eelf_x86_64_sol2.c:961 eh8300elf.c:830 eh8300elf_linux.c:830
-#: eh8300helf.c:830 eh8300helf_linux.c:830 eh8300hnelf.c:830 eh8300self.c:830
-#: eh8300self_linux.c:830 eh8300snelf.c:830 eh8300sxelf.c:830
-#: eh8300sxelf_linux.c:830 eh8300sxnelf.c:830 ehppa64linux.c:830
-#: ehppaelf.c:1137 ehppalinux.c:1137 ehppanbsd.c:1137 ehppaobsd.c:1137
-#: ei386lynx.c:830 ei386moss.c:830 ei386nto.c:830 em32relf.c:830
-#: em32relf_linux.c:830 em32rlelf.c:830 em32rlelf_linux.c:830
-#: em68hc11elf.c:1130 em68hc11elfb.c:1130 em68hc12elf.c:1130
-#: em68hc12elfb.c:1130 em68kelf.c:980 em68kelfnbsd.c:980 em9s12zelf.c:830
-#: emn10300.c:830 ends32belf.c:937 ends32belf16m.c:937 ends32belf_linux.c:937
-#: ends32elf.c:937 ends32elf16m.c:937 ends32elf_linux.c:937 enios2elf.c:1123
-#: enios2linux.c:1123 eppclynx.c:1046 epruelf.c:850 escore3_elf.c:850
-#: escore7_elf.c:850 eshelf.c:830 eshelf_fd.c:830 eshelf_linux.c:830
-#: eshelf_nbsd.c:830 eshelf_nto.c:830 eshelf_uclinux.c:830 eshelf_vxworks.c:859
-#: eshlelf.c:830 eshlelf_fd.c:830 eshlelf_linux.c:830 eshlelf_nbsd.c:830
-#: eshlelf_nto.c:830 eshlelf_vxworks.c:859 ev850.c:876 ev850_rh850.c:876
-msgid ""
-"%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1175 eaarch64cloudabib.c:1175 eaarch64elf.c:1175
-#: eaarch64elf32.c:1175 eaarch64elf32b.c:1175 eaarch64elfb.c:1175
-#: eaarch64fbsd.c:1175 eaarch64fbsdb.c:1175 eaarch64linux.c:1175
-#: eaarch64linux32.c:1175 eaarch64linux32b.c:1175 eaarch64linuxb.c:1175
-#: earcelf.c:860 earcelf_prof.c:860 earclinux.c:862 earclinux_nps.c:862
-#: earclinux_prof.c:862 earcv2elf.c:860 earcv2elfx.c:860 earmelf.c:1395
-#: earmelf_fbsd.c:1395 earmelf_fuchsia.c:1395 earmelf_linux.c:1395
-#: earmelf_linux_eabi.c:1395 earmelf_linux_fdpiceabi.c:1395 earmelf_nacl.c:1395
-#: earmelf_nbsd.c:1395 earmelf_phoenix.c:1395 earmelf_vxworks.c:1425
-#: earmelfb.c:1395 earmelfb_fbsd.c:1395 earmelfb_fuchsia.c:1395
-#: earmelfb_linux.c:1395 earmelfb_linux_eabi.c:1395
-#: earmelfb_linux_fdpiceabi.c:1395 earmelfb_nacl.c:1395 earmelfb_nbsd.c:1395
-#: earmnto.c:1395 earmsymbian.c:1395 eavr1.c:1063 eavr2.c:1063 eavr25.c:1063
-#: eavr3.c:1063 eavr31.c:1063 eavr35.c:1063 eavr4.c:1063 eavr5.c:1063
-#: eavr51.c:1063 eavr6.c:1063 eavrtiny.c:1063 eavrxmega1.c:1063
-#: eavrxmega2.c:1063 eavrxmega3.c:1063 eavrxmega4.c:1063 eavrxmega5.c:1063
-#: eavrxmega6.c:1063 eavrxmega7.c:1063 ecriself.c:860 ecrislinux.c:860
-#: ecskyelf.c:1117 ecskyelf_linux.c:1117 ed10velf.c:860 eelf32_sparc.c:860
-#: eelf32_sparc_sol2.c:991 eelf32_sparc_vxworks.c:889 eelf32_spu.c:1530
-#: eelf32_tic6x_be.c:998 eelf32_tic6x_elf_be.c:998 eelf32_tic6x_elf_le.c:998
-#: eelf32_tic6x_le.c:998 eelf32_tic6x_linux_be.c:998
-#: eelf32_tic6x_linux_le.c:998 eelf32_x86_64.c:1152 eelf32_x86_64_nacl.c:860
-#: eelf32am33lin.c:860 eelf32b4300.c:1087 eelf32bfin.c:869 eelf32bfinfd.c:869
-#: eelf32bmip.c:1087 eelf32bmipn32.c:1105 eelf32bsmip.c:1105
-#: eelf32btsmip.c:1087 eelf32btsmip_fbsd.c:1087 eelf32btsmipn32.c:1087
-#: eelf32btsmipn32_fbsd.c:1087 eelf32cr16.c:1011 eelf32cr16c.c:860
-#: eelf32crx.c:899 eelf32ebmip.c:1087 eelf32ebmipvxworks.c:1116
-#: eelf32elmip.c:1087 eelf32elmipvxworks.c:1116 eelf32epiphany.c:860
-#: eelf32epiphany_4x4.c:862 eelf32frvfd.c:860 eelf32ip2k.c:860
-#: eelf32l4300.c:1087 eelf32lm32.c:860 eelf32lm32fd.c:860 eelf32lmip.c:1087
-#: eelf32lppc.c:1076 eelf32lppclinux.c:1076 eelf32lppcnto.c:1076
-#: eelf32lppcsim.c:1076 eelf32lr5900.c:1087 eelf32lr5900n32.c:1087
-#: eelf32lriscv.c:925 eelf32lriscv_ilp32.c:925 eelf32lriscv_ilp32f.c:925
-#: eelf32lsmip.c:1087 eelf32ltsmip.c:1087 eelf32ltsmip_fbsd.c:1087
-#: eelf32ltsmipn32.c:1087 eelf32ltsmipn32_fbsd.c:1087 eelf32m32c.c:871
-#: eelf32mb_linux.c:860 eelf32mbel_linux.c:860 eelf32mcore.c:860
-#: eelf32mep.c:860 eelf32metag.c:1135 eelf32microblaze.c:860
-#: eelf32microblazeel.c:860 eelf32mipswindiss.c:1087 eelf32or1k.c:860
-#: eelf32or1k_linux.c:860 eelf32ppc.c:1076 eelf32ppc_fbsd.c:1076
-#: eelf32ppclinux.c:1076 eelf32ppcnto.c:1076 eelf32ppcsim.c:1076
-#: eelf32ppcvxworks.c:1050 eelf32ppcwindiss.c:1076 eelf32rl78.c:860
-#: eelf32rx.c:876 eelf32tilegx.c:860 eelf32tilegx_be.c:860 eelf32tilepro.c:860
-#: eelf32vax.c:860 eelf32visium.c:860 eelf32xc16x.c:860 eelf32xc16xl.c:860
-#: eelf32xc16xs.c:860 eelf32xstormy16.c:871 eelf32xtensa.c:2747
-#: eelf64_aix.c:860 eelf64_ia64.c:884 eelf64_ia64_fbsd.c:884 eelf64_s390.c:875
-#: eelf64_sparc.c:860 eelf64_sparc_fbsd.c:860 eelf64_sparc_sol2.c:991
-#: eelf64alpha.c:943 eelf64alpha_fbsd.c:943 eelf64alpha_nbsd.c:943
-#: eelf64bmip.c:1105 eelf64btsmip.c:1087 eelf64btsmip_fbsd.c:1087
-#: eelf64hppa.c:860 eelf64lppc.c:1522 eelf64lriscv.c:925
-#: eelf64lriscv_lp64.c:925 eelf64lriscv_lp64f.c:925 eelf64ltsmip.c:1087
-#: eelf64ltsmip_fbsd.c:1087 eelf64mmix.c:971 eelf64ppc.c:1522
-#: eelf64ppc_fbsd.c:1522 eelf64rdos.c:860 eelf64tilegx.c:860
-#: eelf64tilegx_be.c:860 eelf_i386.c:1152 eelf_i386_be.c:860
-#: eelf_i386_chaos.c:860 eelf_i386_fbsd.c:860 eelf_i386_ldso.c:860
-#: eelf_i386_nacl.c:860 eelf_i386_sol2.c:991 eelf_i386_vxworks.c:889
-#: eelf_iamcu.c:860 eelf_k1om.c:1152 eelf_k1om_fbsd.c:860 eelf_l1om.c:1152
-#: eelf_l1om_fbsd.c:860 eelf_s390.c:860 eelf_x86_64.c:1152
-#: eelf_x86_64_cloudabi.c:860 eelf_x86_64_fbsd.c:860 eelf_x86_64_nacl.c:860
-#: eelf_x86_64_sol2.c:991 eh8300elf.c:860 eh8300elf_linux.c:860
-#: eh8300helf.c:860 eh8300helf_linux.c:860 eh8300hnelf.c:860 eh8300self.c:860
-#: eh8300self_linux.c:860 eh8300snelf.c:860 eh8300sxelf.c:860
-#: eh8300sxelf_linux.c:860 eh8300sxnelf.c:860 ehppa64linux.c:860
-#: ehppaelf.c:1167 ehppalinux.c:1167 ehppanbsd.c:1167 ehppaobsd.c:1167
-#: ei386lynx.c:860 ei386moss.c:860 ei386nto.c:860 em32relf.c:860
-#: em32relf_linux.c:860 em32rlelf.c:860 em32rlelf_linux.c:860
-#: em68hc11elf.c:1160 em68hc11elfb.c:1160 em68hc12elf.c:1160
-#: em68hc12elfb.c:1160 em68kelf.c:1010 em68kelfnbsd.c:1010 em9s12zelf.c:860
-#: emn10300.c:860 ends32belf.c:967 ends32belf16m.c:967 ends32belf_linux.c:967
-#: ends32elf.c:967 ends32elf16m.c:967 ends32elf_linux.c:967 enios2elf.c:1153
-#: enios2linux.c:1153 eppclynx.c:1076 epruelf.c:880 escore3_elf.c:880
-#: escore7_elf.c:880 eshelf.c:860 eshelf_fd.c:860 eshelf_linux.c:860
-#: eshelf_nbsd.c:860 eshelf_nto.c:860 eshelf_uclinux.c:860 eshelf_vxworks.c:889
-#: eshlelf.c:860 eshlelf_fd.c:860 eshlelf_linux.c:860 eshlelf_nbsd.c:860
-#: eshlelf_nto.c:860 eshlelf_vxworks.c:889 ev850.c:906 ev850_rh850.c:906
-msgid "%F%P: %s: can't open for writing: %E\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1251 eaarch64cloudabib.c:1251 eaarch64elf.c:1251
-#: eaarch64elf32.c:1251 eaarch64elf32b.c:1251 eaarch64elfb.c:1251
-#: eaarch64fbsd.c:1251 eaarch64fbsdb.c:1251 eaarch64linux.c:1251
-#: eaarch64linux32.c:1251 eaarch64linux32b.c:1251 eaarch64linuxb.c:1251
-#: earcelf.c:936 earcelf_prof.c:936 earclinux.c:938 earclinux_nps.c:938
-#: earclinux_prof.c:938 earcv2elf.c:936 earcv2elfx.c:936 earmelf.c:1471
-#: earmelf_fbsd.c:1471 earmelf_fuchsia.c:1471 earmelf_linux.c:1471
-#: earmelf_linux_eabi.c:1471 earmelf_linux_fdpiceabi.c:1471 earmelf_nacl.c:1471
-#: earmelf_nbsd.c:1471 earmelf_phoenix.c:1471 earmelf_vxworks.c:1501
-#: earmelfb.c:1471 earmelfb_fbsd.c:1471 earmelfb_fuchsia.c:1471
-#: earmelfb_linux.c:1471 earmelfb_linux_eabi.c:1471
-#: earmelfb_linux_fdpiceabi.c:1471 earmelfb_nacl.c:1471 earmelfb_nbsd.c:1471
-#: earmnto.c:1471 earmsymbian.c:1471 eavr1.c:1139 eavr2.c:1139 eavr25.c:1139
-#: eavr3.c:1139 eavr31.c:1139 eavr35.c:1139 eavr4.c:1139 eavr5.c:1139
-#: eavr51.c:1139 eavr6.c:1139 eavrtiny.c:1139 eavrxmega1.c:1139
-#: eavrxmega2.c:1139 eavrxmega3.c:1139 eavrxmega4.c:1139 eavrxmega5.c:1139
-#: eavrxmega6.c:1139 eavrxmega7.c:1139 ecriself.c:936 ecrislinux.c:936
-#: ecskyelf.c:1193 ecskyelf_linux.c:1193 ed10velf.c:936 eelf32_sparc.c:936
-#: eelf32_sparc_sol2.c:1067 eelf32_sparc_vxworks.c:965 eelf32_spu.c:1606
-#: eelf32_tic6x_be.c:1074 eelf32_tic6x_elf_be.c:1074 eelf32_tic6x_elf_le.c:1074
-#: eelf32_tic6x_le.c:1074 eelf32_tic6x_linux_be.c:1074
-#: eelf32_tic6x_linux_le.c:1074 eelf32_x86_64.c:1228 eelf32_x86_64_nacl.c:936
-#: eelf32am33lin.c:936 eelf32b4300.c:1163 eelf32bfin.c:945 eelf32bfinfd.c:945
-#: eelf32bmip.c:1163 eelf32bmipn32.c:1181 eelf32bsmip.c:1181
-#: eelf32btsmip.c:1163 eelf32btsmip_fbsd.c:1163 eelf32btsmipn32.c:1163
-#: eelf32btsmipn32_fbsd.c:1163 eelf32cr16.c:1087 eelf32cr16c.c:936
-#: eelf32crx.c:975 eelf32ebmip.c:1163 eelf32ebmipvxworks.c:1192
-#: eelf32elmip.c:1163 eelf32elmipvxworks.c:1192 eelf32epiphany.c:936
-#: eelf32epiphany_4x4.c:938 eelf32frvfd.c:936 eelf32ip2k.c:936
-#: eelf32l4300.c:1163 eelf32lm32.c:936 eelf32lm32fd.c:936 eelf32lmip.c:1163
-#: eelf32lppc.c:1152 eelf32lppclinux.c:1152 eelf32lppcnto.c:1152
-#: eelf32lppcsim.c:1152 eelf32lr5900.c:1163 eelf32lr5900n32.c:1163
-#: eelf32lriscv.c:1001 eelf32lriscv_ilp32.c:1001 eelf32lriscv_ilp32f.c:1001
-#: eelf32lsmip.c:1163 eelf32ltsmip.c:1163 eelf32ltsmip_fbsd.c:1163
-#: eelf32ltsmipn32.c:1163 eelf32ltsmipn32_fbsd.c:1163 eelf32m32c.c:947
-#: eelf32mb_linux.c:936 eelf32mbel_linux.c:936 eelf32mcore.c:936
-#: eelf32mep.c:936 eelf32metag.c:1211 eelf32microblaze.c:936
-#: eelf32microblazeel.c:936 eelf32mipswindiss.c:1163 eelf32or1k.c:936
-#: eelf32or1k_linux.c:936 eelf32ppc.c:1152 eelf32ppc_fbsd.c:1152
-#: eelf32ppclinux.c:1152 eelf32ppcnto.c:1152 eelf32ppcsim.c:1152
-#: eelf32ppcvxworks.c:1126 eelf32ppcwindiss.c:1152 eelf32rl78.c:936
-#: eelf32rx.c:952 eelf32tilegx.c:936 eelf32tilegx_be.c:936 eelf32tilepro.c:936
-#: eelf32vax.c:936 eelf32visium.c:936 eelf32xc16x.c:936 eelf32xc16xl.c:936
-#: eelf32xc16xs.c:936 eelf32xstormy16.c:947 eelf32xtensa.c:2823
-#: eelf64_aix.c:936 eelf64_ia64.c:960 eelf64_ia64_fbsd.c:960 eelf64_s390.c:951
-#: eelf64_sparc.c:936 eelf64_sparc_fbsd.c:936 eelf64_sparc_sol2.c:1067
-#: eelf64alpha.c:1019 eelf64alpha_fbsd.c:1019 eelf64alpha_nbsd.c:1019
-#: eelf64bmip.c:1181 eelf64btsmip.c:1163 eelf64btsmip_fbsd.c:1163
-#: eelf64hppa.c:936 eelf64lppc.c:1598 eelf64lriscv.c:1001
-#: eelf64lriscv_lp64.c:1001 eelf64lriscv_lp64f.c:1001 eelf64ltsmip.c:1163
-#: eelf64ltsmip_fbsd.c:1163 eelf64mmix.c:1047 eelf64ppc.c:1598
-#: eelf64ppc_fbsd.c:1598 eelf64rdos.c:936 eelf64tilegx.c:936
-#: eelf64tilegx_be.c:936 eelf_i386.c:1228 eelf_i386_be.c:936
-#: eelf_i386_chaos.c:936 eelf_i386_fbsd.c:936 eelf_i386_ldso.c:936
-#: eelf_i386_nacl.c:936 eelf_i386_sol2.c:1067 eelf_i386_vxworks.c:965
-#: eelf_iamcu.c:936 eelf_k1om.c:1228 eelf_k1om_fbsd.c:936 eelf_l1om.c:1228
-#: eelf_l1om_fbsd.c:936 eelf_s390.c:936 eelf_x86_64.c:1228
-#: eelf_x86_64_cloudabi.c:936 eelf_x86_64_fbsd.c:936 eelf_x86_64_nacl.c:936
-#: eelf_x86_64_sol2.c:1067 eh8300elf.c:936 eh8300elf_linux.c:936
-#: eh8300helf.c:936 eh8300helf_linux.c:936 eh8300hnelf.c:936 eh8300self.c:936
-#: eh8300self_linux.c:936 eh8300snelf.c:936 eh8300sxelf.c:936
-#: eh8300sxelf_linux.c:936 eh8300sxnelf.c:936 ehppa64linux.c:936
-#: ehppaelf.c:1243 ehppalinux.c:1243 ehppanbsd.c:1243 ehppaobsd.c:1243
-#: ei386lynx.c:936 ei386moss.c:936 ei386nto.c:936 em32relf.c:936
-#: em32relf_linux.c:936 em32rlelf.c:936 em32rlelf_linux.c:936
-#: em68hc11elf.c:1236 em68hc11elfb.c:1236 em68hc12elf.c:1236
-#: em68hc12elfb.c:1236 em68kelf.c:1086 em68kelfnbsd.c:1086 em9s12zelf.c:936
-#: emn10300.c:936 ends32belf.c:1043 ends32belf16m.c:1043
-#: ends32belf_linux.c:1043 ends32elf.c:1043 ends32elf16m.c:1043
-#: ends32elf_linux.c:1043 enios2elf.c:1229 enios2linux.c:1229 eppclynx.c:1152
-#: epruelf.c:956 escore3_elf.c:956 escore7_elf.c:956 eshelf.c:936
-#: eshelf_fd.c:936 eshelf_linux.c:936 eshelf_nbsd.c:936 eshelf_nto.c:936
-#: eshelf_uclinux.c:936 eshelf_vxworks.c:965 eshlelf.c:936 eshlelf_fd.c:936
-#: eshlelf_linux.c:936 eshlelf_nbsd.c:936 eshlelf_nto.c:936
-#: eshlelf_vxworks.c:965 ev850.c:982 ev850_rh850.c:982
-msgid ""
-"%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from "
-"%pB\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1286 eaarch64cloudabib.c:1286 eaarch64elf.c:1286
-#: eaarch64elf32.c:1286 eaarch64elf32b.c:1286 eaarch64elfb.c:1286
-#: eaarch64fbsd.c:1286 eaarch64fbsdb.c:1286 eaarch64linux.c:1286
-#: eaarch64linux32.c:1286 eaarch64linux32b.c:1286 eaarch64linuxb.c:1286
-#: earcelf.c:971 earcelf_prof.c:971 earclinux.c:973 earclinux_nps.c:973
-#: earclinux_prof.c:973 earcv2elf.c:971 earcv2elfx.c:971 earmelf.c:1506
-#: earmelf_fbsd.c:1506 earmelf_fuchsia.c:1506 earmelf_linux.c:1506
-#: earmelf_linux_eabi.c:1506 earmelf_linux_fdpiceabi.c:1506 earmelf_nacl.c:1506
-#: earmelf_nbsd.c:1506 earmelf_phoenix.c:1506 earmelf_vxworks.c:1536
-#: earmelfb.c:1506 earmelfb_fbsd.c:1506 earmelfb_fuchsia.c:1506
-#: earmelfb_linux.c:1506 earmelfb_linux_eabi.c:1506
-#: earmelfb_linux_fdpiceabi.c:1506 earmelfb_nacl.c:1506 earmelfb_nbsd.c:1506
-#: earmnto.c:1506 earmsymbian.c:1506 eavr1.c:1174 eavr2.c:1174 eavr25.c:1174
-#: eavr3.c:1174 eavr31.c:1174 eavr35.c:1174 eavr4.c:1174 eavr5.c:1174
-#: eavr51.c:1174 eavr6.c:1174 eavrtiny.c:1174 eavrxmega1.c:1174
-#: eavrxmega2.c:1174 eavrxmega3.c:1174 eavrxmega4.c:1174 eavrxmega5.c:1174
-#: eavrxmega6.c:1174 eavrxmega7.c:1174 ecriself.c:971 ecrislinux.c:971
-#: ecskyelf.c:1228 ecskyelf_linux.c:1228 ed10velf.c:971 eelf32_sparc.c:971
-#: eelf32_sparc_sol2.c:1102 eelf32_sparc_vxworks.c:1000 eelf32_spu.c:1641
-#: eelf32_tic6x_be.c:1109 eelf32_tic6x_elf_be.c:1109 eelf32_tic6x_elf_le.c:1109
-#: eelf32_tic6x_le.c:1109 eelf32_tic6x_linux_be.c:1109
-#: eelf32_tic6x_linux_le.c:1109 eelf32_x86_64.c:1263 eelf32_x86_64_nacl.c:971
-#: eelf32am33lin.c:971 eelf32b4300.c:1198 eelf32bfin.c:980 eelf32bfinfd.c:980
-#: eelf32bmip.c:1198 eelf32bmipn32.c:1216 eelf32bsmip.c:1216
-#: eelf32btsmip.c:1198 eelf32btsmip_fbsd.c:1198 eelf32btsmipn32.c:1198
-#: eelf32btsmipn32_fbsd.c:1198 eelf32cr16.c:1122 eelf32cr16c.c:971
-#: eelf32crx.c:1010 eelf32ebmip.c:1198 eelf32ebmipvxworks.c:1227
-#: eelf32elmip.c:1198 eelf32elmipvxworks.c:1227 eelf32epiphany.c:971
-#: eelf32epiphany_4x4.c:973 eelf32frvfd.c:971 eelf32ip2k.c:971
-#: eelf32l4300.c:1198 eelf32lm32.c:971 eelf32lm32fd.c:971 eelf32lmip.c:1198
-#: eelf32lppc.c:1187 eelf32lppclinux.c:1187 eelf32lppcnto.c:1187
-#: eelf32lppcsim.c:1187 eelf32lr5900.c:1198 eelf32lr5900n32.c:1198
-#: eelf32lriscv.c:1036 eelf32lriscv_ilp32.c:1036 eelf32lriscv_ilp32f.c:1036
-#: eelf32lsmip.c:1198 eelf32ltsmip.c:1198 eelf32ltsmip_fbsd.c:1198
-#: eelf32ltsmipn32.c:1198 eelf32ltsmipn32_fbsd.c:1198 eelf32m32c.c:982
-#: eelf32mb_linux.c:971 eelf32mbel_linux.c:971 eelf32mcore.c:971
-#: eelf32mep.c:971 eelf32metag.c:1246 eelf32microblaze.c:971
-#: eelf32microblazeel.c:971 eelf32mipswindiss.c:1198 eelf32or1k.c:971
-#: eelf32or1k_linux.c:971 eelf32ppc.c:1187 eelf32ppc_fbsd.c:1187
-#: eelf32ppclinux.c:1187 eelf32ppcnto.c:1187 eelf32ppcsim.c:1187
-#: eelf32ppcvxworks.c:1161 eelf32ppcwindiss.c:1187 eelf32rl78.c:971
-#: eelf32rx.c:987 eelf32tilegx.c:971 eelf32tilegx_be.c:971 eelf32tilepro.c:971
-#: eelf32vax.c:971 eelf32visium.c:971 eelf32xc16x.c:971 eelf32xc16xl.c:971
-#: eelf32xc16xs.c:971 eelf32xstormy16.c:982 eelf32xtensa.c:2858
-#: eelf64_aix.c:971 eelf64_ia64.c:995 eelf64_ia64_fbsd.c:995 eelf64_s390.c:986
-#: eelf64_sparc.c:971 eelf64_sparc_fbsd.c:971 eelf64_sparc_sol2.c:1102
-#: eelf64alpha.c:1054 eelf64alpha_fbsd.c:1054 eelf64alpha_nbsd.c:1054
-#: eelf64bmip.c:1216 eelf64btsmip.c:1198 eelf64btsmip_fbsd.c:1198
-#: eelf64hppa.c:971 eelf64lppc.c:1633 eelf64lriscv.c:1036
-#: eelf64lriscv_lp64.c:1036 eelf64lriscv_lp64f.c:1036 eelf64ltsmip.c:1198
-#: eelf64ltsmip_fbsd.c:1198 eelf64mmix.c:1082 eelf64ppc.c:1633
-#: eelf64ppc_fbsd.c:1633 eelf64rdos.c:971 eelf64tilegx.c:971
-#: eelf64tilegx_be.c:971 eelf_i386.c:1263 eelf_i386_be.c:971
-#: eelf_i386_chaos.c:971 eelf_i386_fbsd.c:971 eelf_i386_ldso.c:971
-#: eelf_i386_nacl.c:971 eelf_i386_sol2.c:1102 eelf_i386_vxworks.c:1000
-#: eelf_iamcu.c:971 eelf_k1om.c:1263 eelf_k1om_fbsd.c:971 eelf_l1om.c:1263
-#: eelf_l1om_fbsd.c:971 eelf_s390.c:971 eelf_x86_64.c:1263
-#: eelf_x86_64_cloudabi.c:971 eelf_x86_64_fbsd.c:971 eelf_x86_64_nacl.c:971
-#: eelf_x86_64_sol2.c:1102 eh8300elf.c:971 eh8300elf_linux.c:971
-#: eh8300helf.c:971 eh8300helf_linux.c:971 eh8300hnelf.c:971 eh8300self.c:971
-#: eh8300self_linux.c:971 eh8300snelf.c:971 eh8300sxelf.c:971
-#: eh8300sxelf_linux.c:971 eh8300sxnelf.c:971 ehppa64linux.c:971
-#: ehppaelf.c:1278 ehppalinux.c:1278 ehppanbsd.c:1278 ehppaobsd.c:1278
-#: ei386lynx.c:971 ei386moss.c:971 ei386nto.c:971 em32relf.c:971
-#: em32relf_linux.c:971 em32rlelf.c:971 em32rlelf_linux.c:971
-#: em68hc11elf.c:1271 em68hc11elfb.c:1271 em68hc12elf.c:1271
-#: em68hc12elfb.c:1271 em68kelf.c:1121 em68kelfnbsd.c:1121 em9s12zelf.c:971
-#: emn10300.c:971 ends32belf.c:1078 ends32belf16m.c:1078
-#: ends32belf_linux.c:1078 ends32elf.c:1078 ends32elf16m.c:1078
-#: ends32elf_linux.c:1078 enios2elf.c:1264 enios2linux.c:1264 eppclynx.c:1187
-#: epruelf.c:991 escore3_elf.c:991 escore7_elf.c:991 eshelf.c:971
-#: eshelf_fd.c:971 eshelf_linux.c:971 eshelf_nbsd.c:971 eshelf_nto.c:971
-#: eshelf_uclinux.c:971 eshelf_vxworks.c:1000 eshlelf.c:971 eshlelf_fd.c:971
-#: eshlelf_linux.c:971 eshlelf_nbsd.c:971 eshlelf_nto.c:971
-#: eshlelf_vxworks.c:1000 ev850.c:1017 ev850_rh850.c:1017
-msgid ""
-"%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1341 eaarch64cloudabib.c:1341 eaarch64elf.c:1341
-#: eaarch64elf32.c:1341 eaarch64elf32b.c:1341 eaarch64elfb.c:1341
-#: eaarch64fbsd.c:1341 eaarch64fbsdb.c:1341 eaarch64linux.c:1341
-#: eaarch64linux32.c:1341 eaarch64linux32b.c:1341 eaarch64linuxb.c:1341
-#: earcelf.c:1026 earcelf_prof.c:1026 earclinux.c:1028 earclinux_nps.c:1028
-#: earclinux_prof.c:1028 earcv2elf.c:1026 earcv2elfx.c:1026 earmelf.c:1561
-#: earmelf_fbsd.c:1561 earmelf_fuchsia.c:1561 earmelf_linux.c:1561
-#: earmelf_linux_eabi.c:1561 earmelf_linux_fdpiceabi.c:1561 earmelf_nacl.c:1561
-#: earmelf_nbsd.c:1561 earmelf_phoenix.c:1561 earmelf_vxworks.c:1591
-#: earmelfb.c:1561 earmelfb_fbsd.c:1561 earmelfb_fuchsia.c:1561
-#: earmelfb_linux.c:1561 earmelfb_linux_eabi.c:1561
-#: earmelfb_linux_fdpiceabi.c:1561 earmelfb_nacl.c:1561 earmelfb_nbsd.c:1561
-#: earmnto.c:1561 earmsymbian.c:1561 eavr1.c:1229 eavr2.c:1229 eavr25.c:1229
-#: eavr3.c:1229 eavr31.c:1229 eavr35.c:1229 eavr4.c:1229 eavr5.c:1229
-#: eavr51.c:1229 eavr6.c:1229 eavrtiny.c:1229 eavrxmega1.c:1229
-#: eavrxmega2.c:1229 eavrxmega3.c:1229 eavrxmega4.c:1229 eavrxmega5.c:1229
-#: eavrxmega6.c:1229 eavrxmega7.c:1229 ecriself.c:1026 ecrislinux.c:1026
-#: ecskyelf.c:1283 ecskyelf_linux.c:1283 ed10velf.c:1026 eelf32_sparc.c:1026
-#: eelf32_sparc_sol2.c:1157 eelf32_sparc_vxworks.c:1055 eelf32_spu.c:1696
-#: eelf32_tic6x_be.c:1164 eelf32_tic6x_elf_be.c:1164 eelf32_tic6x_elf_le.c:1164
-#: eelf32_tic6x_le.c:1164 eelf32_tic6x_linux_be.c:1164
-#: eelf32_tic6x_linux_le.c:1164 eelf32_x86_64.c:1318 eelf32_x86_64_nacl.c:1026
-#: eelf32am33lin.c:1026 eelf32b4300.c:1253 eelf32bfin.c:1035
-#: eelf32bfinfd.c:1035 eelf32bmip.c:1253 eelf32bmipn32.c:1271
-#: eelf32bsmip.c:1271 eelf32btsmip.c:1253 eelf32btsmip_fbsd.c:1253
-#: eelf32btsmipn32.c:1253 eelf32btsmipn32_fbsd.c:1253 eelf32cr16.c:1177
-#: eelf32cr16c.c:1026 eelf32crx.c:1065 eelf32ebmip.c:1253
-#: eelf32ebmipvxworks.c:1282 eelf32elmip.c:1253 eelf32elmipvxworks.c:1282
-#: eelf32epiphany.c:1026 eelf32epiphany_4x4.c:1028 eelf32frvfd.c:1026
-#: eelf32ip2k.c:1026 eelf32l4300.c:1253 eelf32lm32.c:1026 eelf32lm32fd.c:1026
-#: eelf32lmip.c:1253 eelf32lppc.c:1242 eelf32lppclinux.c:1242
-#: eelf32lppcnto.c:1242 eelf32lppcsim.c:1242 eelf32lr5900.c:1253
-#: eelf32lr5900n32.c:1253 eelf32lriscv.c:1091 eelf32lriscv_ilp32.c:1091
-#: eelf32lriscv_ilp32f.c:1091 eelf32lsmip.c:1253 eelf32ltsmip.c:1253
-#: eelf32ltsmip_fbsd.c:1253 eelf32ltsmipn32.c:1253 eelf32ltsmipn32_fbsd.c:1253
-#: eelf32m32c.c:1037 eelf32mb_linux.c:1026 eelf32mbel_linux.c:1026
-#: eelf32mcore.c:1026 eelf32mep.c:1026 eelf32metag.c:1301
-#: eelf32microblaze.c:1026 eelf32microblazeel.c:1026 eelf32mipswindiss.c:1253
-#: eelf32or1k.c:1026 eelf32or1k_linux.c:1026 eelf32ppc.c:1242
-#: eelf32ppc_fbsd.c:1242 eelf32ppclinux.c:1242 eelf32ppcnto.c:1242
-#: eelf32ppcsim.c:1242 eelf32ppcvxworks.c:1216 eelf32ppcwindiss.c:1242
-#: eelf32rl78.c:1026 eelf32rx.c:1042 eelf32tilegx.c:1026 eelf32tilegx_be.c:1026
-#: eelf32tilepro.c:1026 eelf32vax.c:1026 eelf32visium.c:1026 eelf32xc16x.c:1026
-#: eelf32xc16xl.c:1026 eelf32xc16xs.c:1026 eelf32xstormy16.c:1037
-#: eelf32xtensa.c:2913 eelf64_aix.c:1026 eelf64_ia64.c:1050
-#: eelf64_ia64_fbsd.c:1050 eelf64_s390.c:1041 eelf64_sparc.c:1026
-#: eelf64_sparc_fbsd.c:1026 eelf64_sparc_sol2.c:1157 eelf64alpha.c:1109
-#: eelf64alpha_fbsd.c:1109 eelf64alpha_nbsd.c:1109 eelf64bmip.c:1271
-#: eelf64btsmip.c:1253 eelf64btsmip_fbsd.c:1253 eelf64hppa.c:1026
-#: eelf64lppc.c:1688 eelf64lriscv.c:1091 eelf64lriscv_lp64.c:1091
-#: eelf64lriscv_lp64f.c:1091 eelf64ltsmip.c:1253 eelf64ltsmip_fbsd.c:1253
-#: eelf64mmix.c:1137 eelf64ppc.c:1688 eelf64ppc_fbsd.c:1688 eelf64rdos.c:1026
-#: eelf64tilegx.c:1026 eelf64tilegx_be.c:1026 eelf_i386.c:1318
-#: eelf_i386_be.c:1026 eelf_i386_chaos.c:1026 eelf_i386_fbsd.c:1026
-#: eelf_i386_ldso.c:1026 eelf_i386_nacl.c:1026 eelf_i386_sol2.c:1157
-#: eelf_i386_vxworks.c:1055 eelf_iamcu.c:1026 eelf_k1om.c:1318
-#: eelf_k1om_fbsd.c:1026 eelf_l1om.c:1318 eelf_l1om_fbsd.c:1026
-#: eelf_s390.c:1026 eelf_x86_64.c:1318 eelf_x86_64_cloudabi.c:1026
-#: eelf_x86_64_fbsd.c:1026 eelf_x86_64_nacl.c:1026 eelf_x86_64_sol2.c:1157
-#: eh8300elf.c:1026 eh8300elf_linux.c:1026 eh8300helf.c:1026
-#: eh8300helf_linux.c:1026 eh8300hnelf.c:1026 eh8300self.c:1026
-#: eh8300self_linux.c:1026 eh8300snelf.c:1026 eh8300sxelf.c:1026
-#: eh8300sxelf_linux.c:1026 eh8300sxnelf.c:1026 ehppa64linux.c:1026
-#: ehppaelf.c:1333 ehppalinux.c:1333 ehppanbsd.c:1333 ehppaobsd.c:1333
-#: ei386lynx.c:1026 ei386moss.c:1026 ei386nto.c:1026 em32relf.c:1026
-#: em32relf_linux.c:1026 em32rlelf.c:1026 em32rlelf_linux.c:1026
-#: em68hc11elf.c:1326 em68hc11elfb.c:1326 em68hc12elf.c:1326
-#: em68hc12elfb.c:1326 em68kelf.c:1176 em68kelfnbsd.c:1176 em9s12zelf.c:1026
-#: emn10300.c:1026 ends32belf.c:1133 ends32belf16m.c:1133
-#: ends32belf_linux.c:1133 ends32elf.c:1133 ends32elf16m.c:1133
-#: ends32elf_linux.c:1133 enios2elf.c:1319 enios2linux.c:1319 eppclynx.c:1242
-#: epruelf.c:1046 escore3_elf.c:1046 escore7_elf.c:1046 eshelf.c:1026
-#: eshelf_fd.c:1026 eshelf_linux.c:1026 eshelf_nbsd.c:1026 eshelf_nto.c:1026
-#: eshelf_uclinux.c:1026 eshelf_vxworks.c:1055 eshlelf.c:1026 eshlelf_fd.c:1026
-#: eshlelf_linux.c:1026 eshlelf_nbsd.c:1026 eshlelf_nto.c:1026
-#: eshlelf_vxworks.c:1055 ev850.c:1072 ev850_rh850.c:1072
-#, c-format
-msgid "%s needed by %pB\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1392 eaarch64cloudabib.c:1392 eaarch64elf.c:1392
-#: eaarch64elf32.c:1392 eaarch64elf32b.c:1392 eaarch64elfb.c:1392
-#: eaarch64fbsd.c:1392 eaarch64fbsdb.c:1392 eaarch64linux.c:1392
-#: eaarch64linux32.c:1392 eaarch64linux32b.c:1392 eaarch64linuxb.c:1392
-#: earcelf.c:1077 earcelf_prof.c:1077 earclinux.c:1079 earclinux_nps.c:1079
-#: earclinux_prof.c:1079 earcv2elf.c:1077 earcv2elfx.c:1077 earmelf.c:1612
-#: earmelf_fbsd.c:1612 earmelf_fuchsia.c:1612 earmelf_linux.c:1612
-#: earmelf_linux_eabi.c:1612 earmelf_linux_fdpiceabi.c:1612 earmelf_nacl.c:1612
-#: earmelf_nbsd.c:1612 earmelf_phoenix.c:1612 earmelf_vxworks.c:1642
-#: earmelfb.c:1612 earmelfb_fbsd.c:1612 earmelfb_fuchsia.c:1612
-#: earmelfb_linux.c:1612 earmelfb_linux_eabi.c:1612
-#: earmelfb_linux_fdpiceabi.c:1612 earmelfb_nacl.c:1612 earmelfb_nbsd.c:1612
-#: earmnto.c:1612 earmsymbian.c:1612 eavr1.c:1280 eavr2.c:1280 eavr25.c:1280
-#: eavr3.c:1280 eavr31.c:1280 eavr35.c:1280 eavr4.c:1280 eavr5.c:1280
-#: eavr51.c:1280 eavr6.c:1280 eavrtiny.c:1280 eavrxmega1.c:1280
-#: eavrxmega2.c:1280 eavrxmega3.c:1280 eavrxmega4.c:1280 eavrxmega5.c:1280
-#: eavrxmega6.c:1280 eavrxmega7.c:1280 ecriself.c:1077 ecrislinux.c:1077
-#: ecskyelf.c:1334 ecskyelf_linux.c:1334 ed10velf.c:1077 eelf32_sparc.c:1077
-#: eelf32_sparc_sol2.c:1208 eelf32_sparc_vxworks.c:1106 eelf32_spu.c:1747
-#: eelf32_tic6x_be.c:1215 eelf32_tic6x_elf_be.c:1215 eelf32_tic6x_elf_le.c:1215
-#: eelf32_tic6x_le.c:1215 eelf32_tic6x_linux_be.c:1215
-#: eelf32_tic6x_linux_le.c:1215 eelf32_x86_64.c:1409 eelf32_x86_64_nacl.c:1077
-#: eelf32am33lin.c:1077 eelf32b4300.c:1304 eelf32bfin.c:1086
-#: eelf32bfinfd.c:1086 eelf32bmip.c:1304 eelf32bmipn32.c:1322
-#: eelf32bsmip.c:1322 eelf32btsmip.c:1304 eelf32btsmip_fbsd.c:1304
-#: eelf32btsmipn32.c:1304 eelf32btsmipn32_fbsd.c:1304 eelf32cr16.c:1228
-#: eelf32cr16c.c:1077 eelf32crx.c:1116 eelf32ebmip.c:1304
-#: eelf32ebmipvxworks.c:1333 eelf32elmip.c:1304 eelf32elmipvxworks.c:1333
-#: eelf32epiphany.c:1077 eelf32epiphany_4x4.c:1079 eelf32frvfd.c:1077
-#: eelf32ip2k.c:1077 eelf32l4300.c:1304 eelf32lm32.c:1077 eelf32lm32fd.c:1077
-#: eelf32lmip.c:1304 eelf32lppc.c:1293 eelf32lppclinux.c:1293
-#: eelf32lppcnto.c:1293 eelf32lppcsim.c:1293 eelf32lr5900.c:1304
-#: eelf32lr5900n32.c:1304 eelf32lriscv.c:1142 eelf32lriscv_ilp32.c:1142
-#: eelf32lriscv_ilp32f.c:1142 eelf32lsmip.c:1304 eelf32ltsmip.c:1304
-#: eelf32ltsmip_fbsd.c:1304 eelf32ltsmipn32.c:1304 eelf32ltsmipn32_fbsd.c:1304
-#: eelf32m32c.c:1088 eelf32mb_linux.c:1077 eelf32mbel_linux.c:1077
-#: eelf32mcore.c:1077 eelf32mep.c:1077 eelf32metag.c:1352
-#: eelf32microblaze.c:1077 eelf32microblazeel.c:1077 eelf32mipswindiss.c:1304
-#: eelf32or1k.c:1077 eelf32or1k_linux.c:1077 eelf32ppc.c:1293
-#: eelf32ppc_fbsd.c:1293 eelf32ppclinux.c:1293 eelf32ppcnto.c:1293
-#: eelf32ppcsim.c:1293 eelf32ppcvxworks.c:1267 eelf32ppcwindiss.c:1293
-#: eelf32rl78.c:1077 eelf32rx.c:1093 eelf32tilegx.c:1077 eelf32tilegx_be.c:1077
-#: eelf32tilepro.c:1077 eelf32vax.c:1077 eelf32visium.c:1077 eelf32xc16x.c:1077
-#: eelf32xc16xl.c:1077 eelf32xc16xs.c:1077 eelf32xstormy16.c:1088
-#: eelf32xtensa.c:2964 eelf64_aix.c:1077 eelf64_ia64.c:1101
-#: eelf64_ia64_fbsd.c:1101 eelf64_s390.c:1092 eelf64_sparc.c:1077
-#: eelf64_sparc_fbsd.c:1077 eelf64_sparc_sol2.c:1208 eelf64alpha.c:1160
-#: eelf64alpha_fbsd.c:1160 eelf64alpha_nbsd.c:1160 eelf64bmip.c:1322
-#: eelf64btsmip.c:1304 eelf64btsmip_fbsd.c:1304 eelf64hppa.c:1077
-#: eelf64lppc.c:1739 eelf64lriscv.c:1142 eelf64lriscv_lp64.c:1142
-#: eelf64lriscv_lp64f.c:1142 eelf64ltsmip.c:1304 eelf64ltsmip_fbsd.c:1304
-#: eelf64mmix.c:1188 eelf64ppc.c:1739 eelf64ppc_fbsd.c:1739 eelf64rdos.c:1077
-#: eelf64tilegx.c:1077 eelf64tilegx_be.c:1077 eelf_i386.c:1409
-#: eelf_i386_be.c:1077 eelf_i386_chaos.c:1077 eelf_i386_fbsd.c:1077
-#: eelf_i386_ldso.c:1077 eelf_i386_nacl.c:1077 eelf_i386_sol2.c:1208
-#: eelf_i386_vxworks.c:1106 eelf_iamcu.c:1077 eelf_k1om.c:1409
-#: eelf_k1om_fbsd.c:1077 eelf_l1om.c:1409 eelf_l1om_fbsd.c:1077
-#: eelf_s390.c:1077 eelf_x86_64.c:1409 eelf_x86_64_cloudabi.c:1077
-#: eelf_x86_64_fbsd.c:1077 eelf_x86_64_nacl.c:1077 eelf_x86_64_sol2.c:1208
-#: eh8300elf.c:1077 eh8300elf_linux.c:1077 eh8300helf.c:1077
-#: eh8300helf_linux.c:1077 eh8300hnelf.c:1077 eh8300self.c:1077
-#: eh8300self_linux.c:1077 eh8300snelf.c:1077 eh8300sxelf.c:1077
-#: eh8300sxelf_linux.c:1077 eh8300sxnelf.c:1077 ehppa64linux.c:1077
-#: ehppaelf.c:1384 ehppalinux.c:1384 ehppanbsd.c:1384 ehppaobsd.c:1384
-#: ei386lynx.c:1077 ei386moss.c:1077 ei386nto.c:1077 em32relf.c:1077
-#: em32relf_linux.c:1077 em32rlelf.c:1077 em32rlelf_linux.c:1077
-#: em68hc11elf.c:1377 em68hc11elfb.c:1377 em68hc12elf.c:1377
-#: em68hc12elfb.c:1377 em68kelf.c:1227 em68kelfnbsd.c:1227 em9s12zelf.c:1077
-#: emn10300.c:1077 ends32belf.c:1184 ends32belf16m.c:1184
-#: ends32belf_linux.c:1184 ends32elf.c:1184 ends32elf16m.c:1184
-#: ends32elf_linux.c:1184 enios2elf.c:1370 enios2linux.c:1370 eppclynx.c:1293
-#: epruelf.c:1097 escore3_elf.c:1097 escore7_elf.c:1097 eshelf.c:1077
-#: eshelf_fd.c:1077 eshelf_linux.c:1077 eshelf_nbsd.c:1077 eshelf_nto.c:1077
-#: eshelf_uclinux.c:1077 eshelf_vxworks.c:1106 eshlelf.c:1077 eshlelf_fd.c:1077
-#: eshlelf_linux.c:1077 eshlelf_nbsd.c:1077 eshlelf_nto.c:1077
-#: eshlelf_vxworks.c:1106 ev850.c:1123 ev850_rh850.c:1123
-msgid ""
-"%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1399 eaarch64cloudabib.c:1399 eaarch64elf.c:1399
-#: eaarch64elf32.c:1399 eaarch64elf32b.c:1399 eaarch64elfb.c:1399
-#: eaarch64fbsd.c:1399 eaarch64fbsdb.c:1399 eaarch64linux.c:1399
-#: eaarch64linux32.c:1399 eaarch64linux32b.c:1399 eaarch64linuxb.c:1399
-#: earcelf.c:1084 earcelf_prof.c:1084 earclinux.c:1086 earclinux_nps.c:1086
-#: earclinux_prof.c:1086 earcv2elf.c:1084 earcv2elfx.c:1084 earmelf.c:1619
-#: earmelf_fbsd.c:1619 earmelf_fuchsia.c:1619 earmelf_linux.c:1619
-#: earmelf_linux_eabi.c:1619 earmelf_linux_fdpiceabi.c:1619 earmelf_nacl.c:1619
-#: earmelf_nbsd.c:1619 earmelf_phoenix.c:1619 earmelf_vxworks.c:1649
-#: earmelfb.c:1619 earmelfb_fbsd.c:1619 earmelfb_fuchsia.c:1619
-#: earmelfb_linux.c:1619 earmelfb_linux_eabi.c:1619
-#: earmelfb_linux_fdpiceabi.c:1619 earmelfb_nacl.c:1619 earmelfb_nbsd.c:1619
-#: earmnto.c:1619 earmsymbian.c:1619 eavr1.c:1287 eavr2.c:1287 eavr25.c:1287
-#: eavr3.c:1287 eavr31.c:1287 eavr35.c:1287 eavr4.c:1287 eavr5.c:1287
-#: eavr51.c:1287 eavr6.c:1287 eavrtiny.c:1287 eavrxmega1.c:1287
-#: eavrxmega2.c:1287 eavrxmega3.c:1287 eavrxmega4.c:1287 eavrxmega5.c:1287
-#: eavrxmega6.c:1287 eavrxmega7.c:1287 ecriself.c:1084 ecrislinux.c:1084
-#: ecskyelf.c:1341 ecskyelf_linux.c:1341 ed10velf.c:1084 eelf32_sparc.c:1084
-#: eelf32_sparc_sol2.c:1215 eelf32_sparc_vxworks.c:1113 eelf32_spu.c:1754
-#: eelf32_tic6x_be.c:1222 eelf32_tic6x_elf_be.c:1222 eelf32_tic6x_elf_le.c:1222
-#: eelf32_tic6x_le.c:1222 eelf32_tic6x_linux_be.c:1222
-#: eelf32_tic6x_linux_le.c:1222 eelf32_x86_64.c:1416 eelf32_x86_64_nacl.c:1084
-#: eelf32am33lin.c:1084 eelf32b4300.c:1311 eelf32bfin.c:1093
-#: eelf32bfinfd.c:1093 eelf32bmip.c:1311 eelf32bmipn32.c:1329
-#: eelf32bsmip.c:1329 eelf32btsmip.c:1311 eelf32btsmip_fbsd.c:1311
-#: eelf32btsmipn32.c:1311 eelf32btsmipn32_fbsd.c:1311 eelf32cr16.c:1235
-#: eelf32cr16c.c:1084 eelf32crx.c:1123 eelf32ebmip.c:1311
-#: eelf32ebmipvxworks.c:1340 eelf32elmip.c:1311 eelf32elmipvxworks.c:1340
-#: eelf32epiphany.c:1084 eelf32epiphany_4x4.c:1086 eelf32frvfd.c:1084
-#: eelf32ip2k.c:1084 eelf32l4300.c:1311 eelf32lm32.c:1084 eelf32lm32fd.c:1084
-#: eelf32lmip.c:1311 eelf32lppc.c:1300 eelf32lppclinux.c:1300
-#: eelf32lppcnto.c:1300 eelf32lppcsim.c:1300 eelf32lr5900.c:1311
-#: eelf32lr5900n32.c:1311 eelf32lriscv.c:1149 eelf32lriscv_ilp32.c:1149
-#: eelf32lriscv_ilp32f.c:1149 eelf32lsmip.c:1311 eelf32ltsmip.c:1311
-#: eelf32ltsmip_fbsd.c:1311 eelf32ltsmipn32.c:1311 eelf32ltsmipn32_fbsd.c:1311
-#: eelf32m32c.c:1095 eelf32mb_linux.c:1084 eelf32mbel_linux.c:1084
-#: eelf32mcore.c:1084 eelf32mep.c:1084 eelf32metag.c:1359
-#: eelf32microblaze.c:1084 eelf32microblazeel.c:1084 eelf32mipswindiss.c:1311
-#: eelf32or1k.c:1084 eelf32or1k_linux.c:1084 eelf32ppc.c:1300
-#: eelf32ppc_fbsd.c:1300 eelf32ppclinux.c:1300 eelf32ppcnto.c:1300
-#: eelf32ppcsim.c:1300 eelf32ppcvxworks.c:1274 eelf32ppcwindiss.c:1300
-#: eelf32rl78.c:1084 eelf32rx.c:1100 eelf32tilegx.c:1084 eelf32tilegx_be.c:1084
-#: eelf32tilepro.c:1084 eelf32vax.c:1084 eelf32visium.c:1084 eelf32xc16x.c:1084
-#: eelf32xc16xl.c:1084 eelf32xc16xs.c:1084 eelf32xstormy16.c:1095
-#: eelf32xtensa.c:2971 eelf64_aix.c:1084 eelf64_ia64.c:1108
-#: eelf64_ia64_fbsd.c:1108 eelf64_s390.c:1099 eelf64_sparc.c:1084
-#: eelf64_sparc_fbsd.c:1084 eelf64_sparc_sol2.c:1215 eelf64alpha.c:1167
-#: eelf64alpha_fbsd.c:1167 eelf64alpha_nbsd.c:1167 eelf64bmip.c:1329
-#: eelf64btsmip.c:1311 eelf64btsmip_fbsd.c:1311 eelf64hppa.c:1084
-#: eelf64lppc.c:1746 eelf64lriscv.c:1149 eelf64lriscv_lp64.c:1149
-#: eelf64lriscv_lp64f.c:1149 eelf64ltsmip.c:1311 eelf64ltsmip_fbsd.c:1311
-#: eelf64mmix.c:1195 eelf64ppc.c:1746 eelf64ppc_fbsd.c:1746 eelf64rdos.c:1084
-#: eelf64tilegx.c:1084 eelf64tilegx_be.c:1084 eelf_i386.c:1416
-#: eelf_i386_be.c:1084 eelf_i386_chaos.c:1084 eelf_i386_fbsd.c:1084
-#: eelf_i386_ldso.c:1084 eelf_i386_nacl.c:1084 eelf_i386_sol2.c:1215
-#: eelf_i386_vxworks.c:1113 eelf_iamcu.c:1084 eelf_k1om.c:1416
-#: eelf_k1om_fbsd.c:1084 eelf_l1om.c:1416 eelf_l1om_fbsd.c:1084
-#: eelf_s390.c:1084 eelf_x86_64.c:1416 eelf_x86_64_cloudabi.c:1084
-#: eelf_x86_64_fbsd.c:1084 eelf_x86_64_nacl.c:1084 eelf_x86_64_sol2.c:1215
-#: eh8300elf.c:1084 eh8300elf_linux.c:1084 eh8300helf.c:1084
-#: eh8300helf_linux.c:1084 eh8300hnelf.c:1084 eh8300self.c:1084
-#: eh8300self_linux.c:1084 eh8300snelf.c:1084 eh8300sxelf.c:1084
-#: eh8300sxelf_linux.c:1084 eh8300sxnelf.c:1084 ehppa64linux.c:1084
-#: ehppaelf.c:1391 ehppalinux.c:1391 ehppanbsd.c:1391 ehppaobsd.c:1391
-#: ei386lynx.c:1084 ei386moss.c:1084 ei386nto.c:1084 em32relf.c:1084
-#: em32relf_linux.c:1084 em32rlelf.c:1084 em32rlelf_linux.c:1084
-#: em68hc11elf.c:1384 em68hc11elfb.c:1384 em68hc12elf.c:1384
-#: em68hc12elfb.c:1384 em68kelf.c:1234 em68kelfnbsd.c:1234 em9s12zelf.c:1084
-#: emn10300.c:1084 ends32belf.c:1191 ends32belf16m.c:1191
-#: ends32belf_linux.c:1191 ends32elf.c:1191 ends32elf16m.c:1191
-#: ends32elf_linux.c:1191 enios2elf.c:1377 enios2linux.c:1377 eppclynx.c:1300
-#: epruelf.c:1104 escore3_elf.c:1104 escore7_elf.c:1104 eshelf.c:1084
-#: eshelf_fd.c:1084 eshelf_linux.c:1084 eshelf_nbsd.c:1084 eshelf_nto.c:1084
-#: eshelf_uclinux.c:1084 eshelf_vxworks.c:1113 eshlelf.c:1084 eshlelf_fd.c:1084
-#: eshlelf_linux.c:1084 eshlelf_nbsd.c:1084 eshlelf_nto.c:1084
-#: eshlelf_vxworks.c:1113 ev850.c:1130 ev850_rh850.c:1130
-msgid "%F%P: failed to parse EH frame entries\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1430 eaarch64cloudabib.c:1430 eaarch64elf.c:1430
-#: eaarch64elf32.c:1430 eaarch64elf32b.c:1430 eaarch64elfb.c:1430
-#: eaarch64fbsd.c:1430 eaarch64fbsdb.c:1430 eaarch64linux.c:1430
-#: eaarch64linux32.c:1430 eaarch64linux32b.c:1430 eaarch64linuxb.c:1430
-#: eaix5ppc.c:1369 eaix5rs6.c:1369 eaixppc.c:1369 eaixrs6.c:1369 earcelf.c:1115
-#: earcelf_prof.c:1115 earclinux.c:1117 earclinux_nps.c:1117
-#: earclinux_prof.c:1117 earcv2elf.c:1115 earcv2elfx.c:1115 earmelf.c:1650
-#: earmelf_fbsd.c:1650 earmelf_fuchsia.c:1650 earmelf_linux.c:1650
-#: earmelf_linux_eabi.c:1650 earmelf_linux_fdpiceabi.c:1650 earmelf_nacl.c:1650
-#: earmelf_nbsd.c:1650 earmelf_phoenix.c:1650 earmelf_vxworks.c:1680
-#: earmelfb.c:1650 earmelfb_fbsd.c:1650 earmelfb_fuchsia.c:1650
-#: earmelfb_linux.c:1650 earmelfb_linux_eabi.c:1650
-#: earmelfb_linux_fdpiceabi.c:1650 earmelfb_nacl.c:1650 earmelfb_nbsd.c:1650
-#: earmnto.c:1650 earmsymbian.c:1650 eavr1.c:1318 eavr2.c:1318 eavr25.c:1318
-#: eavr3.c:1318 eavr31.c:1318 eavr35.c:1318 eavr4.c:1318 eavr5.c:1318
-#: eavr51.c:1318 eavr6.c:1318 eavrtiny.c:1318 eavrxmega1.c:1318
-#: eavrxmega2.c:1318 eavrxmega3.c:1318 eavrxmega4.c:1318 eavrxmega5.c:1318
-#: eavrxmega6.c:1318 eavrxmega7.c:1318 ecriself.c:1115 ecrislinux.c:1115
-#: ecskyelf.c:1372 ecskyelf_linux.c:1372 ed10velf.c:1115 eelf32_sparc.c:1115
-#: eelf32_sparc_sol2.c:1246 eelf32_sparc_vxworks.c:1144 eelf32_spu.c:1785
-#: eelf32_tic6x_be.c:1253 eelf32_tic6x_elf_be.c:1253 eelf32_tic6x_elf_le.c:1253
-#: eelf32_tic6x_le.c:1253 eelf32_tic6x_linux_be.c:1253
-#: eelf32_tic6x_linux_le.c:1253 eelf32_x86_64.c:1447 eelf32_x86_64_nacl.c:1115
-#: eelf32am33lin.c:1115 eelf32b4300.c:1342 eelf32bfin.c:1124
-#: eelf32bfinfd.c:1124 eelf32bmip.c:1342 eelf32bmipn32.c:1360
-#: eelf32bsmip.c:1360 eelf32btsmip.c:1342 eelf32btsmip_fbsd.c:1342
-#: eelf32btsmipn32.c:1342 eelf32btsmipn32_fbsd.c:1342 eelf32cr16.c:1266
-#: eelf32cr16c.c:1115 eelf32crx.c:1154 eelf32ebmip.c:1342
-#: eelf32ebmipvxworks.c:1371 eelf32elmip.c:1342 eelf32elmipvxworks.c:1371
-#: eelf32epiphany.c:1115 eelf32epiphany_4x4.c:1117 eelf32frvfd.c:1115
-#: eelf32ip2k.c:1115 eelf32l4300.c:1342 eelf32lm32.c:1115 eelf32lm32fd.c:1115
-#: eelf32lmip.c:1342 eelf32lppc.c:1331 eelf32lppclinux.c:1331
-#: eelf32lppcnto.c:1331 eelf32lppcsim.c:1331 eelf32lr5900.c:1342
-#: eelf32lr5900n32.c:1342 eelf32lriscv.c:1180 eelf32lriscv_ilp32.c:1180
-#: eelf32lriscv_ilp32f.c:1180 eelf32lsmip.c:1342 eelf32ltsmip.c:1342
-#: eelf32ltsmip_fbsd.c:1342 eelf32ltsmipn32.c:1342 eelf32ltsmipn32_fbsd.c:1342
-#: eelf32m32c.c:1126 eelf32mb_linux.c:1115 eelf32mbel_linux.c:1115
-#: eelf32mcore.c:1115 eelf32mep.c:1115 eelf32metag.c:1390
-#: eelf32microblaze.c:1115 eelf32microblazeel.c:1115 eelf32mipswindiss.c:1342
-#: eelf32or1k.c:1115 eelf32or1k_linux.c:1115 eelf32ppc.c:1331
-#: eelf32ppc_fbsd.c:1331 eelf32ppclinux.c:1331 eelf32ppcnto.c:1331
-#: eelf32ppcsim.c:1331 eelf32ppcvxworks.c:1305 eelf32ppcwindiss.c:1331
-#: eelf32rl78.c:1115 eelf32rx.c:1131 eelf32tilegx.c:1115 eelf32tilegx_be.c:1115
-#: eelf32tilepro.c:1115 eelf32vax.c:1115 eelf32visium.c:1115 eelf32xc16x.c:1115
-#: eelf32xc16xl.c:1115 eelf32xc16xs.c:1115 eelf32xstormy16.c:1126
-#: eelf32xtensa.c:3002 eelf64_aix.c:1115 eelf64_ia64.c:1139
-#: eelf64_ia64_fbsd.c:1139 eelf64_s390.c:1130 eelf64_sparc.c:1115
-#: eelf64_sparc_fbsd.c:1115 eelf64_sparc_sol2.c:1246 eelf64alpha.c:1198
-#: eelf64alpha_fbsd.c:1198 eelf64alpha_nbsd.c:1198 eelf64bmip.c:1360
-#: eelf64btsmip.c:1342 eelf64btsmip_fbsd.c:1342 eelf64hppa.c:1115
-#: eelf64lppc.c:1777 eelf64lriscv.c:1180 eelf64lriscv_lp64.c:1180
-#: eelf64lriscv_lp64f.c:1180 eelf64ltsmip.c:1342 eelf64ltsmip_fbsd.c:1342
-#: eelf64mmix.c:1226 eelf64ppc.c:1777 eelf64ppc_fbsd.c:1777 eelf64rdos.c:1115
-#: eelf64tilegx.c:1115 eelf64tilegx_be.c:1115 eelf_i386.c:1447
-#: eelf_i386_be.c:1115 eelf_i386_chaos.c:1115 eelf_i386_fbsd.c:1115
-#: eelf_i386_ldso.c:1115 eelf_i386_nacl.c:1115 eelf_i386_sol2.c:1246
-#: eelf_i386_vxworks.c:1144 eelf_iamcu.c:1115 eelf_k1om.c:1447
-#: eelf_k1om_fbsd.c:1115 eelf_l1om.c:1447 eelf_l1om_fbsd.c:1115
-#: eelf_s390.c:1115 eelf_x86_64.c:1447 eelf_x86_64_cloudabi.c:1115
-#: eelf_x86_64_fbsd.c:1115 eelf_x86_64_nacl.c:1115 eelf_x86_64_sol2.c:1246
-#: eh8300elf.c:1115 eh8300elf_linux.c:1115 eh8300helf.c:1115
-#: eh8300helf_linux.c:1115 eh8300hnelf.c:1115 eh8300self.c:1115
-#: eh8300self_linux.c:1115 eh8300snelf.c:1115 eh8300sxelf.c:1115
-#: eh8300sxelf_linux.c:1115 eh8300sxnelf.c:1115 ehppa64linux.c:1115
-#: ehppaelf.c:1422 ehppalinux.c:1422 ehppanbsd.c:1422 ehppaobsd.c:1422
-#: ei386lynx.c:1115 ei386moss.c:1115 ei386nto.c:1115 em32relf.c:1115
-#: em32relf_linux.c:1115 em32rlelf.c:1115 em32rlelf_linux.c:1115
-#: em68hc11elf.c:1415 em68hc11elfb.c:1415 em68hc12elf.c:1415
-#: em68hc12elfb.c:1415 em68kelf.c:1265 em68kelfnbsd.c:1265 em9s12zelf.c:1115
-#: emn10300.c:1115 ends32belf.c:1222 ends32belf16m.c:1222
-#: ends32belf_linux.c:1222 ends32elf.c:1222 ends32elf16m.c:1222
-#: ends32elf_linux.c:1222 enios2elf.c:1408 enios2linux.c:1408 eppclynx.c:1331
-#: eppcmacos.c:1369 epruelf.c:1135 escore3_elf.c:1135 escore7_elf.c:1135
-#: eshelf.c:1115 eshelf_fd.c:1115 eshelf_linux.c:1115 eshelf_nbsd.c:1115
-#: eshelf_nto.c:1115 eshelf_uclinux.c:1115 eshelf_vxworks.c:1144 eshlelf.c:1115
-#: eshlelf_fd.c:1115 eshlelf_linux.c:1115 eshlelf_nbsd.c:1115
-#: eshlelf_nto.c:1115 eshlelf_vxworks.c:1144 ev850.c:1161 ev850_rh850.c:1161
-msgid "%F%P: failed to record assignment to %s: %E\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1612 eaarch64cloudabi.c:1674 eaarch64cloudabib.c:1612
-#: eaarch64cloudabib.c:1674 eaarch64elf.c:1612 eaarch64elf.c:1674
-#: eaarch64elf32.c:1612 eaarch64elf32.c:1674 eaarch64elf32b.c:1612
-#: eaarch64elf32b.c:1674 eaarch64elfb.c:1612 eaarch64elfb.c:1674
-#: eaarch64fbsd.c:1612 eaarch64fbsd.c:1674 eaarch64fbsdb.c:1612
-#: eaarch64fbsdb.c:1674 eaarch64linux.c:1612 eaarch64linux.c:1681
-#: eaarch64linux32.c:1612 eaarch64linux32.c:1681 eaarch64linux32b.c:1612
-#: eaarch64linux32b.c:1681 eaarch64linuxb.c:1612 eaarch64linuxb.c:1681
-#: eaix5ppc.c:830 eaix5rs6.c:830 eaixppc.c:830 eaixrs6.c:830 earcelf.c:1297
-#: earcelf.c:1359 earcelf_prof.c:1297 earcelf_prof.c:1359 earclinux.c:1299
-#: earclinux.c:1361 earclinux_nps.c:1299 earclinux_nps.c:1361
-#: earclinux_prof.c:1299 earclinux_prof.c:1361 earcv2elf.c:1297
-#: earcv2elf.c:1359 earcv2elfx.c:1297 earcv2elfx.c:1359 earmelf.c:1832
-#: earmelf.c:1894 earmelf_fbsd.c:1832 earmelf_fbsd.c:1901
-#: earmelf_fuchsia.c:1832 earmelf_fuchsia.c:1894 earmelf_linux.c:1832
-#: earmelf_linux.c:1894 earmelf_linux_eabi.c:1832 earmelf_linux_eabi.c:1894
-#: earmelf_linux_fdpiceabi.c:1832 earmelf_linux_fdpiceabi.c:1894
-#: earmelf_nacl.c:1832 earmelf_nacl.c:1894 earmelf_nbsd.c:1832
-#: earmelf_nbsd.c:1894 earmelf_phoenix.c:1832 earmelf_phoenix.c:1894
-#: earmelf_vxworks.c:1862 earmelf_vxworks.c:1924 earmelfb.c:1832
-#: earmelfb.c:1894 earmelfb_fbsd.c:1832 earmelfb_fbsd.c:1901
-#: earmelfb_fuchsia.c:1832 earmelfb_fuchsia.c:1894 earmelfb_linux.c:1832
-#: earmelfb_linux.c:1894 earmelfb_linux_eabi.c:1832 earmelfb_linux_eabi.c:1894
-#: earmelfb_linux_fdpiceabi.c:1832 earmelfb_linux_fdpiceabi.c:1894
-#: earmelfb_nacl.c:1832 earmelfb_nacl.c:1894 earmelfb_nbsd.c:1832
-#: earmelfb_nbsd.c:1894 earmnto.c:1832 earmnto.c:1894 earmsymbian.c:1832
-#: earmsymbian.c:1894 eavr1.c:1500 eavr1.c:1562 eavr2.c:1500 eavr2.c:1562
-#: eavr25.c:1500 eavr25.c:1562 eavr3.c:1500 eavr3.c:1562 eavr31.c:1500
-#: eavr31.c:1562 eavr35.c:1500 eavr35.c:1562 eavr4.c:1500 eavr4.c:1562
-#: eavr5.c:1500 eavr5.c:1562 eavr51.c:1500 eavr51.c:1562 eavr6.c:1500
-#: eavr6.c:1562 eavrtiny.c:1500 eavrtiny.c:1562 eavrxmega1.c:1500
-#: eavrxmega1.c:1562 eavrxmega2.c:1500 eavrxmega2.c:1562 eavrxmega3.c:1500
-#: eavrxmega3.c:1562 eavrxmega4.c:1500 eavrxmega4.c:1562 eavrxmega5.c:1500
-#: eavrxmega5.c:1562 eavrxmega6.c:1500 eavrxmega6.c:1562 eavrxmega7.c:1500
-#: eavrxmega7.c:1562 ecriself.c:1297 ecriself.c:1359 ecrislinux.c:1297
-#: ecrislinux.c:1359 ecskyelf.c:1554 ecskyelf.c:1616 ecskyelf_linux.c:1554
-#: ecskyelf_linux.c:1616 ed10velf.c:1297 ed10velf.c:1359 eelf32_sparc.c:1297
-#: eelf32_sparc.c:1359 eelf32_sparc_sol2.c:1428 eelf32_sparc_sol2.c:1490
-#: eelf32_sparc_vxworks.c:1326 eelf32_sparc_vxworks.c:1388 eelf32_spu.c:1967
-#: eelf32_spu.c:2029 eelf32_tic6x_be.c:1435 eelf32_tic6x_be.c:1497
-#: eelf32_tic6x_elf_be.c:1435 eelf32_tic6x_elf_be.c:1497
-#: eelf32_tic6x_elf_le.c:1435 eelf32_tic6x_elf_le.c:1497 eelf32_tic6x_le.c:1435
-#: eelf32_tic6x_le.c:1497 eelf32_tic6x_linux_be.c:1435
-#: eelf32_tic6x_linux_be.c:1497 eelf32_tic6x_linux_le.c:1435
-#: eelf32_tic6x_linux_le.c:1497 eelf32_x86_64.c:1629 eelf32_x86_64.c:1691
-#: eelf32_x86_64_nacl.c:1297 eelf32_x86_64_nacl.c:1359 eelf32am33lin.c:1297
-#: eelf32am33lin.c:1359 eelf32b4300.c:1524 eelf32b4300.c:1586 eelf32bfin.c:1306
-#: eelf32bfin.c:1368 eelf32bfinfd.c:1306 eelf32bfinfd.c:1368 eelf32bmip.c:1524
-#: eelf32bmip.c:1586 eelf32bmipn32.c:1542 eelf32bmipn32.c:1604
-#: eelf32bsmip.c:1542 eelf32bsmip.c:1604 eelf32btsmip.c:1524
-#: eelf32btsmip.c:1586 eelf32btsmip_fbsd.c:1524 eelf32btsmip_fbsd.c:1593
-#: eelf32btsmipn32.c:1524 eelf32btsmipn32.c:1586 eelf32btsmipn32_fbsd.c:1524
-#: eelf32btsmipn32_fbsd.c:1593 eelf32cr16.c:1448 eelf32cr16.c:1510
-#: eelf32cr16c.c:1297 eelf32cr16c.c:1359 eelf32crx.c:1336 eelf32crx.c:1398
-#: eelf32ebmip.c:1524 eelf32ebmip.c:1586 eelf32ebmipvxworks.c:1553
-#: eelf32ebmipvxworks.c:1615 eelf32elmip.c:1524 eelf32elmip.c:1586
-#: eelf32elmipvxworks.c:1553 eelf32elmipvxworks.c:1615 eelf32epiphany.c:1297
-#: eelf32epiphany.c:1359 eelf32epiphany_4x4.c:1299 eelf32epiphany_4x4.c:1361
-#: eelf32frvfd.c:1297 eelf32frvfd.c:1359 eelf32ip2k.c:1297 eelf32ip2k.c:1359
-#: eelf32l4300.c:1524 eelf32l4300.c:1586 eelf32lm32.c:1297 eelf32lm32.c:1359
-#: eelf32lm32fd.c:1297 eelf32lm32fd.c:1359 eelf32lmip.c:1524 eelf32lmip.c:1586
-#: eelf32lppc.c:1513 eelf32lppc.c:1575 eelf32lppclinux.c:1513
-#: eelf32lppclinux.c:1575 eelf32lppcnto.c:1513 eelf32lppcnto.c:1575
-#: eelf32lppcsim.c:1513 eelf32lppcsim.c:1575 eelf32lr5900.c:1524
-#: eelf32lr5900.c:1586 eelf32lr5900n32.c:1524 eelf32lr5900n32.c:1586
-#: eelf32lriscv.c:1362 eelf32lriscv.c:1424 eelf32lriscv_ilp32.c:1362
-#: eelf32lriscv_ilp32.c:1424 eelf32lriscv_ilp32f.c:1362
-#: eelf32lriscv_ilp32f.c:1424 eelf32lsmip.c:1524 eelf32lsmip.c:1586
-#: eelf32ltsmip.c:1524 eelf32ltsmip.c:1586 eelf32ltsmip_fbsd.c:1524
-#: eelf32ltsmip_fbsd.c:1593 eelf32ltsmipn32.c:1524 eelf32ltsmipn32.c:1586
-#: eelf32ltsmipn32_fbsd.c:1524 eelf32ltsmipn32_fbsd.c:1593 eelf32m32c.c:1308
-#: eelf32m32c.c:1370 eelf32mb_linux.c:1297 eelf32mb_linux.c:1359
-#: eelf32mbel_linux.c:1297 eelf32mbel_linux.c:1359 eelf32mcore.c:1297
-#: eelf32mcore.c:1359 eelf32mep.c:1297 eelf32mep.c:1359 eelf32metag.c:1572
-#: eelf32metag.c:1634 eelf32microblaze.c:1297 eelf32microblaze.c:1359
-#: eelf32microblazeel.c:1297 eelf32microblazeel.c:1359 eelf32mipswindiss.c:1524
-#: eelf32mipswindiss.c:1586 eelf32or1k.c:1297 eelf32or1k.c:1359
-#: eelf32or1k_linux.c:1297 eelf32or1k_linux.c:1359 eelf32ppc.c:1513
-#: eelf32ppc.c:1575 eelf32ppc_fbsd.c:1513 eelf32ppc_fbsd.c:1582
-#: eelf32ppclinux.c:1513 eelf32ppclinux.c:1575 eelf32ppcnto.c:1513
-#: eelf32ppcnto.c:1575 eelf32ppcsim.c:1513 eelf32ppcsim.c:1575
-#: eelf32ppcvxworks.c:1487 eelf32ppcvxworks.c:1549 eelf32ppcwindiss.c:1513
-#: eelf32ppcwindiss.c:1575 eelf32rl78.c:1297 eelf32rl78.c:1359 eelf32rx.c:1313
-#: eelf32rx.c:1375 eelf32tilegx.c:1297 eelf32tilegx.c:1359
-#: eelf32tilegx_be.c:1297 eelf32tilegx_be.c:1359 eelf32tilepro.c:1297
-#: eelf32tilepro.c:1359 eelf32vax.c:1297 eelf32vax.c:1359 eelf32visium.c:1297
-#: eelf32visium.c:1359 eelf32xc16x.c:1297 eelf32xc16x.c:1359
-#: eelf32xc16xl.c:1297 eelf32xc16xl.c:1359 eelf32xc16xs.c:1297
-#: eelf32xc16xs.c:1359 eelf32xstormy16.c:1308 eelf32xstormy16.c:1370
-#: eelf32xtensa.c:3184 eelf32xtensa.c:3246 eelf64_aix.c:1297 eelf64_aix.c:1359
-#: eelf64_ia64.c:1321 eelf64_ia64.c:1383 eelf64_ia64_fbsd.c:1321
-#: eelf64_ia64_fbsd.c:1390 eelf64_ia64_vms.c:251 eelf64_s390.c:1312
-#: eelf64_s390.c:1374 eelf64_sparc.c:1297 eelf64_sparc.c:1359
-#: eelf64_sparc_fbsd.c:1297 eelf64_sparc_fbsd.c:1366 eelf64_sparc_sol2.c:1428
-#: eelf64_sparc_sol2.c:1490 eelf64alpha.c:1380 eelf64alpha.c:1442
-#: eelf64alpha_fbsd.c:1380 eelf64alpha_fbsd.c:1449 eelf64alpha_nbsd.c:1380
-#: eelf64alpha_nbsd.c:1442 eelf64bmip.c:1542 eelf64bmip.c:1604
-#: eelf64btsmip.c:1524 eelf64btsmip.c:1586 eelf64btsmip_fbsd.c:1524
-#: eelf64btsmip_fbsd.c:1593 eelf64hppa.c:1297 eelf64hppa.c:1359
-#: eelf64lppc.c:1959 eelf64lppc.c:2021 eelf64lriscv.c:1362 eelf64lriscv.c:1424
-#: eelf64lriscv_lp64.c:1362 eelf64lriscv_lp64.c:1424 eelf64lriscv_lp64f.c:1362
-#: eelf64lriscv_lp64f.c:1424 eelf64ltsmip.c:1524 eelf64ltsmip.c:1586
-#: eelf64ltsmip_fbsd.c:1524 eelf64ltsmip_fbsd.c:1593 eelf64mmix.c:1408
-#: eelf64mmix.c:1470 eelf64ppc.c:1959 eelf64ppc.c:2021 eelf64ppc_fbsd.c:1959
-#: eelf64ppc_fbsd.c:2028 eelf64rdos.c:1297 eelf64rdos.c:1359
-#: eelf64tilegx.c:1297 eelf64tilegx.c:1359 eelf64tilegx_be.c:1297
-#: eelf64tilegx_be.c:1359 eelf_i386.c:1629 eelf_i386.c:1691 eelf_i386_be.c:1297
-#: eelf_i386_be.c:1359 eelf_i386_chaos.c:1297 eelf_i386_chaos.c:1359
-#: eelf_i386_fbsd.c:1297 eelf_i386_fbsd.c:1366 eelf_i386_ldso.c:1297
-#: eelf_i386_ldso.c:1366 eelf_i386_nacl.c:1297 eelf_i386_nacl.c:1359
-#: eelf_i386_sol2.c:1428 eelf_i386_sol2.c:1497 eelf_i386_vxworks.c:1326
-#: eelf_i386_vxworks.c:1388 eelf_iamcu.c:1297 eelf_iamcu.c:1359
-#: eelf_k1om.c:1629 eelf_k1om.c:1691 eelf_k1om_fbsd.c:1297
-#: eelf_k1om_fbsd.c:1366 eelf_l1om.c:1629 eelf_l1om.c:1691
-#: eelf_l1om_fbsd.c:1297 eelf_l1om_fbsd.c:1366 eelf_s390.c:1297
-#: eelf_s390.c:1359 eelf_x86_64.c:1629 eelf_x86_64.c:1691
-#: eelf_x86_64_cloudabi.c:1297 eelf_x86_64_cloudabi.c:1359
-#: eelf_x86_64_fbsd.c:1297 eelf_x86_64_fbsd.c:1366 eelf_x86_64_nacl.c:1297
-#: eelf_x86_64_nacl.c:1359 eelf_x86_64_sol2.c:1428 eelf_x86_64_sol2.c:1490
-#: eh8300elf.c:1297 eh8300elf.c:1359 eh8300elf_linux.c:1297
-#: eh8300elf_linux.c:1359 eh8300helf.c:1297 eh8300helf.c:1359
-#: eh8300helf_linux.c:1297 eh8300helf_linux.c:1359 eh8300hnelf.c:1297
-#: eh8300hnelf.c:1359 eh8300self.c:1297 eh8300self.c:1359
-#: eh8300self_linux.c:1297 eh8300self_linux.c:1359 eh8300snelf.c:1297
-#: eh8300snelf.c:1359 eh8300sxelf.c:1297 eh8300sxelf.c:1359
-#: eh8300sxelf_linux.c:1297 eh8300sxelf_linux.c:1359 eh8300sxnelf.c:1297
-#: eh8300sxnelf.c:1359 ehppa64linux.c:1297 ehppa64linux.c:1359 ehppaelf.c:1604
-#: ehppaelf.c:1666 ehppalinux.c:1604 ehppalinux.c:1666 ehppanbsd.c:1604
-#: ehppanbsd.c:1666 ehppaobsd.c:1604 ehppaobsd.c:1666 ei386lynx.c:1297
-#: ei386lynx.c:1366 ei386moss.c:1297 ei386moss.c:1359 ei386nto.c:1297
-#: ei386nto.c:1359 em32relf.c:1297 em32relf.c:1359 em32relf_linux.c:1297
-#: em32relf_linux.c:1359 em32rlelf.c:1297 em32rlelf.c:1359
-#: em32rlelf_linux.c:1297 em32rlelf_linux.c:1359 em68hc11elf.c:1597
-#: em68hc11elf.c:1659 em68hc11elfb.c:1597 em68hc11elfb.c:1659
-#: em68hc12elf.c:1597 em68hc12elf.c:1659 em68hc12elfb.c:1597
-#: em68hc12elfb.c:1659 em68kelf.c:1447 em68kelf.c:1509 em68kelfnbsd.c:1447
-#: em68kelfnbsd.c:1509 em9s12zelf.c:1297 em9s12zelf.c:1359 emn10300.c:1297
-#: emn10300.c:1359 ends32belf.c:1404 ends32belf.c:1466 ends32belf16m.c:1404
-#: ends32belf16m.c:1466 ends32belf_linux.c:1404 ends32belf_linux.c:1466
-#: ends32elf.c:1404 ends32elf.c:1466 ends32elf16m.c:1404 ends32elf16m.c:1466
-#: ends32elf_linux.c:1404 ends32elf_linux.c:1466 enios2elf.c:1590
-#: enios2elf.c:1652 enios2linux.c:1590 enios2linux.c:1652 eppclynx.c:1513
-#: eppclynx.c:1582 eppcmacos.c:830 epruelf.c:1317 epruelf.c:1379
-#: escore3_elf.c:1317 escore3_elf.c:1379 escore7_elf.c:1317 escore7_elf.c:1379
-#: eshelf.c:1297 eshelf.c:1359 eshelf_fd.c:1297 eshelf_fd.c:1359
-#: eshelf_linux.c:1297 eshelf_linux.c:1359 eshelf_nbsd.c:1297
-#: eshelf_nbsd.c:1359 eshelf_nto.c:1297 eshelf_nto.c:1359 eshelf_uclinux.c:1297
-#: eshelf_uclinux.c:1359 eshelf_vxworks.c:1326 eshelf_vxworks.c:1388
-#: eshlelf.c:1297 eshlelf.c:1359 eshlelf_fd.c:1297 eshlelf_fd.c:1359
-#: eshlelf_linux.c:1297 eshlelf_linux.c:1359 eshlelf_nbsd.c:1297
-#: eshlelf_nbsd.c:1359 eshlelf_nto.c:1297 eshlelf_nto.c:1359
-#: eshlelf_vxworks.c:1326 eshlelf_vxworks.c:1388 ev850.c:1343 ev850.c:1405
-#: ev850_rh850.c:1343 ev850_rh850.c:1405
-msgid "%F%P: failed to set dynamic section sizes: %E\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:1646 eaarch64cloudabib.c:1646 eaarch64elf.c:1646
-#: eaarch64elf32.c:1646 eaarch64elf32b.c:1646 eaarch64elfb.c:1646
-#: eaarch64fbsd.c:1646 eaarch64fbsdb.c:1646 eaarch64linux.c:1653
-#: eaarch64linux32.c:1653 eaarch64linux32b.c:1653 eaarch64linuxb.c:1653
-#: earcelf.c:1331 earcelf_prof.c:1331 earclinux.c:1333 earclinux_nps.c:1333
-#: earclinux_prof.c:1333 earcv2elf.c:1331 earcv2elfx.c:1331 earmelf.c:1866
-#: earmelf_fbsd.c:1873 earmelf_fuchsia.c:1866 earmelf_linux.c:1866
-#: earmelf_linux_eabi.c:1866 earmelf_linux_fdpiceabi.c:1866 earmelf_nacl.c:1866
-#: earmelf_nbsd.c:1866 earmelf_phoenix.c:1866 earmelf_vxworks.c:1896
-#: earmelfb.c:1866 earmelfb_fbsd.c:1873 earmelfb_fuchsia.c:1866
-#: earmelfb_linux.c:1866 earmelfb_linux_eabi.c:1866
-#: earmelfb_linux_fdpiceabi.c:1866 earmelfb_nacl.c:1866 earmelfb_nbsd.c:1866
-#: earmnto.c:1866 earmsymbian.c:1866 eavr1.c:1534 eavr2.c:1534 eavr25.c:1534
-#: eavr3.c:1534 eavr31.c:1534 eavr35.c:1534 eavr4.c:1534 eavr5.c:1534
-#: eavr51.c:1534 eavr6.c:1534 eavrtiny.c:1534 eavrxmega1.c:1534
-#: eavrxmega2.c:1534 eavrxmega3.c:1534 eavrxmega4.c:1534 eavrxmega5.c:1534
-#: eavrxmega6.c:1534 eavrxmega7.c:1534 ecriself.c:1331 ecrislinux.c:1331
-#: ecskyelf.c:1588 ecskyelf_linux.c:1588 ed10velf.c:1331 eelf32_sparc.c:1331
-#: eelf32_sparc_sol2.c:1462 eelf32_sparc_vxworks.c:1360 eelf32_spu.c:2001
-#: eelf32_tic6x_be.c:1469 eelf32_tic6x_elf_be.c:1469 eelf32_tic6x_elf_le.c:1469
-#: eelf32_tic6x_le.c:1469 eelf32_tic6x_linux_be.c:1469
-#: eelf32_tic6x_linux_le.c:1469 eelf32_x86_64.c:1663 eelf32_x86_64_nacl.c:1331
-#: eelf32am33lin.c:1331 eelf32b4300.c:1558 eelf32bfin.c:1340
-#: eelf32bfinfd.c:1340 eelf32bmip.c:1558 eelf32bmipn32.c:1576
-#: eelf32bsmip.c:1576 eelf32btsmip.c:1558 eelf32btsmip_fbsd.c:1565
-#: eelf32btsmipn32.c:1558 eelf32btsmipn32_fbsd.c:1565 eelf32cr16.c:1482
-#: eelf32cr16c.c:1331 eelf32crx.c:1370 eelf32ebmip.c:1558
-#: eelf32ebmipvxworks.c:1587 eelf32elmip.c:1558 eelf32elmipvxworks.c:1587
-#: eelf32epiphany.c:1331 eelf32epiphany_4x4.c:1333 eelf32frvfd.c:1331
-#: eelf32ip2k.c:1331 eelf32l4300.c:1558 eelf32lm32.c:1331 eelf32lm32fd.c:1331
-#: eelf32lmip.c:1558 eelf32lppc.c:1547 eelf32lppclinux.c:1547
-#: eelf32lppcnto.c:1547 eelf32lppcsim.c:1547 eelf32lr5900.c:1558
-#: eelf32lr5900n32.c:1558 eelf32lriscv.c:1396 eelf32lriscv_ilp32.c:1396
-#: eelf32lriscv_ilp32f.c:1396 eelf32lsmip.c:1558 eelf32ltsmip.c:1558
-#: eelf32ltsmip_fbsd.c:1565 eelf32ltsmipn32.c:1558 eelf32ltsmipn32_fbsd.c:1565
-#: eelf32m32c.c:1342 eelf32mb_linux.c:1331 eelf32mbel_linux.c:1331
-#: eelf32mcore.c:1331 eelf32mep.c:1331 eelf32metag.c:1606
-#: eelf32microblaze.c:1331 eelf32microblazeel.c:1331 eelf32mipswindiss.c:1558
-#: eelf32or1k.c:1331 eelf32or1k_linux.c:1331 eelf32ppc.c:1547
-#: eelf32ppc_fbsd.c:1554 eelf32ppclinux.c:1547 eelf32ppcnto.c:1547
-#: eelf32ppcsim.c:1547 eelf32ppcvxworks.c:1521 eelf32ppcwindiss.c:1547
-#: eelf32rl78.c:1331 eelf32rx.c:1347 eelf32tilegx.c:1331 eelf32tilegx_be.c:1331
-#: eelf32tilepro.c:1331 eelf32vax.c:1331 eelf32visium.c:1331 eelf32xc16x.c:1331
-#: eelf32xc16xl.c:1331 eelf32xc16xs.c:1331 eelf32xstormy16.c:1342
-#: eelf32xtensa.c:3218 eelf64_aix.c:1331 eelf64_ia64.c:1355
-#: eelf64_ia64_fbsd.c:1362 eelf64_s390.c:1346 eelf64_sparc.c:1331
-#: eelf64_sparc_fbsd.c:1338 eelf64_sparc_sol2.c:1462 eelf64alpha.c:1414
-#: eelf64alpha_fbsd.c:1421 eelf64alpha_nbsd.c:1414 eelf64bmip.c:1576
-#: eelf64btsmip.c:1558 eelf64btsmip_fbsd.c:1565 eelf64hppa.c:1331
-#: eelf64lppc.c:1993 eelf64lriscv.c:1396 eelf64lriscv_lp64.c:1396
-#: eelf64lriscv_lp64f.c:1396 eelf64ltsmip.c:1558 eelf64ltsmip_fbsd.c:1565
-#: eelf64mmix.c:1442 eelf64ppc.c:1993 eelf64ppc_fbsd.c:2000 eelf64rdos.c:1331
-#: eelf64tilegx.c:1331 eelf64tilegx_be.c:1331 eelf_i386.c:1663
-#: eelf_i386_be.c:1331 eelf_i386_chaos.c:1331 eelf_i386_fbsd.c:1338
-#: eelf_i386_ldso.c:1338 eelf_i386_nacl.c:1331 eelf_i386_sol2.c:1469
-#: eelf_i386_vxworks.c:1360 eelf_iamcu.c:1331 eelf_k1om.c:1663
-#: eelf_k1om_fbsd.c:1338 eelf_l1om.c:1663 eelf_l1om_fbsd.c:1338
-#: eelf_s390.c:1331 eelf_x86_64.c:1663 eelf_x86_64_cloudabi.c:1331
-#: eelf_x86_64_fbsd.c:1338 eelf_x86_64_nacl.c:1331 eelf_x86_64_sol2.c:1462
-#: eh8300elf.c:1331 eh8300elf_linux.c:1331 eh8300helf.c:1331
-#: eh8300helf_linux.c:1331 eh8300hnelf.c:1331 eh8300self.c:1331
-#: eh8300self_linux.c:1331 eh8300snelf.c:1331 eh8300sxelf.c:1331
-#: eh8300sxelf_linux.c:1331 eh8300sxnelf.c:1331 ehppa64linux.c:1331
-#: ehppaelf.c:1638 ehppalinux.c:1638 ehppanbsd.c:1638 ehppaobsd.c:1638
-#: ei386lynx.c:1338 ei386moss.c:1331 ei386nto.c:1331 em32relf.c:1331
-#: em32relf_linux.c:1331 em32rlelf.c:1331 em32rlelf_linux.c:1331
-#: em68hc11elf.c:1631 em68hc11elfb.c:1631 em68hc12elf.c:1631
-#: em68hc12elfb.c:1631 em68kelf.c:1481 em68kelfnbsd.c:1481 em9s12zelf.c:1331
-#: emn10300.c:1331 ends32belf.c:1438 ends32belf16m.c:1438
-#: ends32belf_linux.c:1438 ends32elf.c:1438 ends32elf16m.c:1438
-#: ends32elf_linux.c:1438 enios2elf.c:1624 enios2linux.c:1624 eppclynx.c:1554
-#: epruelf.c:1351 escore3_elf.c:1351 escore7_elf.c:1351 eshelf.c:1331
-#: eshelf_fd.c:1331 eshelf_linux.c:1331 eshelf_nbsd.c:1331 eshelf_nto.c:1331
-#: eshelf_uclinux.c:1331 eshelf_vxworks.c:1360 eshlelf.c:1331 eshlelf_fd.c:1331
-#: eshlelf_linux.c:1331 eshlelf_nbsd.c:1331 eshlelf_nto.c:1331
-#: eshlelf_vxworks.c:1360 ev850.c:1377 ev850_rh850.c:1377
-msgid "%F%P: %pB: can't read contents of section .gnu.warning: %E\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:2315 eaarch64cloudabib.c:2315 eaarch64elf.c:2315
-#: eaarch64elf32.c:2315 eaarch64elf32b.c:2315 eaarch64elfb.c:2315
-#: eaarch64fbsd.c:2315 eaarch64fbsdb.c:2315 eaarch64linux.c:2322
-#: eaarch64linux32.c:2322 eaarch64linux32b.c:2322 eaarch64linuxb.c:2322
-#: earcelf.c:1937 earcelf_prof.c:1921 earclinux.c:2003 earclinux_nps.c:2003
-#: earclinux_prof.c:1948 earcv2elf.c:1921 earcv2elfx.c:1921 earmelf.c:2565
-#: earmelf_fbsd.c:2572 earmelf_fuchsia.c:2565 earmelf_linux.c:2565
-#: earmelf_linux_eabi.c:2565 earmelf_linux_fdpiceabi.c:2565 earmelf_nacl.c:2565
-#: earmelf_nbsd.c:2565 earmelf_phoenix.c:2565 earmelf_vxworks.c:2601
-#: earmelfb.c:2565 earmelfb_fbsd.c:2572 earmelfb_fuchsia.c:2565
-#: earmelfb_linux.c:2565 earmelfb_linux_eabi.c:2565
-#: earmelfb_linux_fdpiceabi.c:2565 earmelfb_nacl.c:2565 earmelfb_nbsd.c:2565
-#: earmnto.c:2540 earmsymbian.c:2565 eavr1.c:2144 eavr2.c:2144 eavr25.c:2144
-#: eavr3.c:2144 eavr31.c:2144 eavr35.c:2144 eavr4.c:2144 eavr5.c:2144
-#: eavr51.c:2144 eavr6.c:2144 eavrtiny.c:2144 eavrxmega1.c:2144
-#: eavrxmega2.c:2144 eavrxmega3.c:2144 eavrxmega4.c:2144 eavrxmega5.c:2144
-#: eavrxmega6.c:2144 eavrxmega7.c:2144 ecriself.c:1936 ecrislinux.c:1967
-#: ecskyelf.c:2192 ecskyelf_linux.c:2248 ed10velf.c:1921 eelf32_sparc.c:1992
-#: eelf32_sparc_sol2.c:2123 eelf32_sparc_vxworks.c:2029 eelf32_spu.c:2654
-#: eelf32_tic6x_be.c:2104 eelf32_tic6x_elf_be.c:2104 eelf32_tic6x_elf_le.c:2104
-#: eelf32_tic6x_le.c:2104 eelf32_tic6x_linux_be.c:2104
-#: eelf32_tic6x_linux_le.c:2104 eelf32_x86_64.c:7229 eelf32_x86_64_nacl.c:2002
-#: eelf32am33lin.c:1967 eelf32b4300.c:2234 eelf32bfin.c:1984
-#: eelf32bfinfd.c:2009 eelf32bmip.c:2234 eelf32bmipn32.c:2252
-#: eelf32bsmip.c:2252 eelf32btsmip.c:2234 eelf32btsmip_fbsd.c:2241
-#: eelf32btsmipn32.c:2234 eelf32btsmipn32_fbsd.c:2241 eelf32cr16.c:2072
-#: eelf32cr16c.c:1921 eelf32crx.c:1960 eelf32ebmip.c:2234
-#: eelf32ebmipvxworks.c:2269 eelf32elmip.c:2234 eelf32elmipvxworks.c:2269
-#: eelf32epiphany.c:1936 eelf32epiphany_4x4.c:1923 eelf32frvfd.c:1992
-#: eelf32ip2k.c:1936 eelf32l4300.c:2234 eelf32lm32.c:1936 eelf32lm32fd.c:1992
-#: eelf32lmip.c:2234 eelf32lppc.c:2251 eelf32lppclinux.c:2251
-#: eelf32lppcnto.c:2251 eelf32lppcsim.c:2251 eelf32lr5900.c:2203
-#: eelf32lr5900n32.c:2203 eelf32lriscv.c:2046 eelf32lriscv_ilp32.c:2046
-#: eelf32lriscv_ilp32f.c:2046 eelf32lsmip.c:2234 eelf32ltsmip.c:2234
-#: eelf32ltsmip_fbsd.c:2241 eelf32ltsmipn32.c:2234 eelf32ltsmipn32_fbsd.c:2241
-#: eelf32m32c.c:1947 eelf32mb_linux.c:1992 eelf32mbel_linux.c:1992
-#: eelf32mcore.c:1942 eelf32mep.c:1921 eelf32metag.c:2262
-#: eelf32microblaze.c:1921 eelf32microblazeel.c:1921 eelf32mipswindiss.c:2178
-#: eelf32or1k.c:1936 eelf32or1k_linux.c:1992 eelf32ppc.c:2251
-#: eelf32ppc_fbsd.c:2258 eelf32ppclinux.c:2251 eelf32ppcnto.c:2251
-#: eelf32ppcsim.c:2251 eelf32ppcvxworks.c:2225 eelf32ppcwindiss.c:2251
-#: eelf32rl78.c:1936 eelf32rx.c:1964 eelf32tilegx.c:1992 eelf32tilegx_be.c:1992
-#: eelf32tilepro.c:1992 eelf32vax.c:1967 eelf32visium.c:1921 eelf32xc16x.c:1921
-#: eelf32xc16xl.c:1921 eelf32xc16xs.c:1921 eelf32xstormy16.c:1932
-#: eelf32xtensa.c:3891 eelf64_aix.c:1967 eelf64_ia64.c:2022
-#: eelf64_ia64_fbsd.c:2029 eelf64_s390.c:2062 eelf64_sparc.c:1992
-#: eelf64_sparc_fbsd.c:1999 eelf64_sparc_sol2.c:2123 eelf64alpha.c:2085
-#: eelf64alpha_fbsd.c:2092 eelf64alpha_nbsd.c:2085 eelf64bmip.c:2252
-#: eelf64btsmip.c:2234 eelf64btsmip_fbsd.c:2241 eelf64hppa.c:1937
-#: eelf64lppc.c:2706 eelf64lriscv.c:2046 eelf64lriscv_lp64.c:2046
-#: eelf64lriscv_lp64f.c:2046 eelf64ltsmip.c:2234 eelf64ltsmip_fbsd.c:2241
-#: eelf64mmix.c:5730 eelf64ppc.c:2706 eelf64ppc_fbsd.c:2713 eelf64rdos.c:2002
-#: eelf64tilegx.c:1992 eelf64tilegx_be.c:1992 eelf_i386.c:6851
-#: eelf_i386_be.c:1967 eelf_i386_chaos.c:1947 eelf_i386_fbsd.c:2009
-#: eelf_i386_ldso.c:1984 eelf_i386_nacl.c:2002 eelf_i386_sol2.c:2140
-#: eelf_i386_vxworks.c:2029 eelf_iamcu.c:6497 eelf_k1om.c:7185
-#: eelf_k1om_fbsd.c:6840 eelf_l1om.c:7185 eelf_l1om_fbsd.c:6840
-#: eelf_s390.c:1992 eelf_x86_64.c:7229 eelf_x86_64_cloudabi.c:2002
-#: eelf_x86_64_fbsd.c:2009 eelf_x86_64_nacl.c:2002 eelf_x86_64_sol2.c:2133
-#: eh8300elf.c:1936 eh8300elf_linux.c:1936 eh8300helf.c:1936
-#: eh8300helf_linux.c:1936 eh8300hnelf.c:1936 eh8300self.c:1936
-#: eh8300self_linux.c:1936 eh8300snelf.c:1936 eh8300sxelf.c:1936
-#: eh8300sxelf_linux.c:1936 eh8300sxnelf.c:1936 ehppa64linux.c:1967
-#: ehppaelf.c:2225 ehppalinux.c:2296 ehppanbsd.c:2296 ehppaobsd.c:2296
-#: ei386lynx.c:1974 ei386moss.c:1967 ei386nto.c:1967 em32relf.c:1936
-#: em32relf_linux.c:1992 em32rlelf.c:1936 em32rlelf_linux.c:1992
-#: em68hc11elf.c:2229 em68hc11elfb.c:2229 em68hc12elf.c:2229
-#: em68hc12elfb.c:2229 em68kelf.c:2148 em68kelfnbsd.c:2148 em9s12zelf.c:1921
-#: emn10300.c:1967 ends32belf.c:2056 ends32belf16m.c:2056
-#: ends32belf_linux.c:2079 ends32elf.c:2056 ends32elf16m.c:2056
-#: ends32elf_linux.c:2079 enios2elf.c:2243 enios2linux.c:2274 eppclynx.c:2258
-#: epruelf.c:1941 escore3_elf.c:1987 escore7_elf.c:1987 eshelf.c:1967
-#: eshelf_fd.c:1992 eshelf_linux.c:1992 eshelf_nbsd.c:1967 eshelf_nto.c:1967
-#: eshelf_uclinux.c:1967 eshelf_vxworks.c:2004 eshlelf.c:1967 eshlelf_fd.c:1992
-#: eshlelf_linux.c:1992 eshlelf_nbsd.c:1967 eshlelf_nto.c:1967
-#: eshlelf_vxworks.c:2004 ev850.c:1967 ev850_rh850.c:1967
+#: eaarch64cloudabi.c:573 eaarch64cloudabib.c:573 eaarch64elf.c:573
+#: eaarch64elf32.c:573 eaarch64elf32b.c:573 eaarch64elfb.c:573
+#: eaarch64fbsd.c:573 eaarch64fbsdb.c:573 eaarch64linux.c:573
+#: eaarch64linux32.c:573 eaarch64linux32b.c:573 eaarch64linuxb.c:573
+#: earcelf.c:206 earcelf_prof.c:190 earclinux.c:261 earclinux_nps.c:261
+#: earclinux_prof.c:206 earcv2elf.c:190 earcv2elfx.c:190 earmelf.c:815
+#: earmelf_fbsd.c:815 earmelf_fuchsia.c:815 earmelf_linux.c:815
+#: earmelf_linux_eabi.c:815 earmelf_linux_fdpiceabi.c:815 earmelf_nacl.c:815
+#: earmelf_nbsd.c:815 earmelf_phoenix.c:815 earmelf_vxworks.c:851
+#: earmelfb.c:815 earmelfb_fbsd.c:815 earmelfb_fuchsia.c:815
+#: earmelfb_linux.c:815 earmelfb_linux_eabi.c:815
+#: earmelfb_linux_fdpiceabi.c:815 earmelfb_nacl.c:815 earmelfb_nbsd.c:815
+#: earmnto.c:790 earmsymbian.c:815 eavr1.c:413 eavr2.c:413 eavr25.c:413
+#: eavr3.c:413 eavr31.c:413 eavr35.c:413 eavr4.c:413 eavr5.c:413 eavr51.c:413
+#: eavr6.c:413 eavrtiny.c:413 eavrxmega1.c:413 eavrxmega2.c:413
+#: eavrxmega3.c:413 eavrxmega4.c:413 eavrxmega5.c:413 eavrxmega6.c:413
+#: eavrxmega7.c:413 ecriself.c:205 ecrislinux.c:236 ecskyelf.c:449
+#: ecskyelf_linux.c:505 ed10velf.c:190 eelf32_sparc.c:261
+#: eelf32_sparc_sol2.c:392 eelf32_sparc_vxworks.c:298 eelf32_spu.c:923
+#: eelf32_tic6x_be.c:373 eelf32_tic6x_elf_be.c:373 eelf32_tic6x_elf_le.c:373
+#: eelf32_tic6x_le.c:373 eelf32_tic6x_linux_be.c:373
+#: eelf32_tic6x_linux_le.c:373 eelf32_x86_64.c:5197 eelf32_x86_64_nacl.c:294
+#: eelf32am33lin.c:236 eelf32b4300.c:476 eelf32bfin.c:254 eelf32bfinfd.c:279
+#: eelf32bmip.c:476 eelf32bmipn32.c:490 eelf32bsmip.c:490 eelf32btsmip.c:476
+#: eelf32btsmip_fbsd.c:476 eelf32btsmipn32.c:476 eelf32btsmipn32_fbsd.c:476
+#: eelf32cr16.c:340 eelf32crx.c:227 eelf32ebmip.c:476 eelf32ebmipvxworks.c:511
+#: eelf32elmip.c:476 eelf32elmipvxworks.c:511 eelf32epiphany.c:205
+#: eelf32epiphany_4x4.c:192 eelf32frvfd.c:261 eelf32ip2k.c:205
+#: eelf32l4300.c:476 eelf32lm32.c:205 eelf32lm32fd.c:261 eelf32lmip.c:476
+#: eelf32lppc.c:524 eelf32lppclinux.c:524 eelf32lppcnto.c:524
+#: eelf32lppcsim.c:524 eelf32lr5900.c:445 eelf32lr5900n32.c:445
+#: eelf32lriscv.c:315 eelf32lriscv_ilp32.c:315 eelf32lriscv_ilp32f.c:315
+#: eelf32lsmip.c:476 eelf32ltsmip.c:476 eelf32ltsmip_fbsd.c:476
+#: eelf32ltsmipn32.c:476 eelf32ltsmipn32_fbsd.c:476 eelf32m32c.c:216
+#: eelf32mb_linux.c:261 eelf32mbel_linux.c:261 eelf32mcore.c:211
+#: eelf32mep.c:190 eelf32metag.c:510 eelf32microblaze.c:190
+#: eelf32microblazeel.c:190 eelf32mipswindiss.c:420 eelf32moxie.c:205
+#: eelf32or1k.c:205 eelf32or1k_linux.c:261 eelf32ppc.c:524 eelf32ppc_fbsd.c:524
+#: eelf32ppclinux.c:524 eelf32ppcnto.c:524 eelf32ppcsim.c:524
+#: eelf32ppcvxworks.c:498 eelf32ppcwindiss.c:524 eelf32rl78.c:205
+#: eelf32rx.c:233 eelf32tilegx.c:261 eelf32tilegx_be.c:261 eelf32tilepro.c:261
+#: eelf32vax.c:236 eelf32visium.c:190 eelf32xc16x.c:190 eelf32xc16xl.c:190
+#: eelf32xc16xs.c:190 eelf32xstormy16.c:201 eelf32xtensa.c:2164 eelf32z80.c:297
+#: eelf64_aix.c:236 eelf64_ia64.c:293 eelf64_ia64_fbsd.c:293 eelf64_s390.c:331
+#: eelf64_sparc.c:261 eelf64_sparc_fbsd.c:261 eelf64_sparc_sol2.c:392
+#: eelf64alpha.c:354 eelf64alpha_fbsd.c:354 eelf64alpha_nbsd.c:354
+#: eelf64bmip.c:490 eelf64bpf.c:190 eelf64btsmip.c:476 eelf64btsmip_fbsd.c:476
+#: eelf64hppa.c:206 eelf64lppc.c:952 eelf64lriscv.c:315 eelf64lriscv_lp64.c:315
+#: eelf64lriscv_lp64f.c:315 eelf64ltsmip.c:476 eelf64ltsmip_fbsd.c:476
+#: eelf64mmix.c:4013 eelf64ppc.c:952 eelf64ppc_fbsd.c:952 eelf64rdos.c:285
+#: eelf64tilegx.c:261 eelf64tilegx_be.c:261 eelf_i386.c:4819 eelf_i386_be.c:259
+#: eelf_i386_fbsd.c:294 eelf_i386_ldso.c:269 eelf_i386_nacl.c:294
+#: eelf_i386_sol2.c:425 eelf_i386_vxworks.c:321 eelf_iamcu.c:4797
+#: eelf_k1om.c:5153 eelf_k1om_fbsd.c:5133 eelf_l1om.c:5153
+#: eelf_l1om_fbsd.c:5133 eelf_s390.c:261 eelf_x86_64.c:5197
+#: eelf_x86_64_cloudabi.c:294 eelf_x86_64_fbsd.c:294 eelf_x86_64_nacl.c:294
+#: eelf_x86_64_sol2.c:425 eh8300elf.c:205 eh8300elf_linux.c:205
+#: eh8300helf.c:205 eh8300helf_linux.c:205 eh8300hnelf.c:205 eh8300self.c:205
+#: eh8300self_linux.c:205 eh8300snelf.c:205 eh8300sxelf.c:205
+#: eh8300sxelf_linux.c:205 eh8300sxnelf.c:205 ehppa64linux.c:236 ehppaelf.c:473
+#: ehppalinux.c:544 ehppanbsd.c:544 ehppaobsd.c:544 ei386lynx.c:250
+#: ei386moss.c:250 ei386nto.c:250 em32relf.c:205 em32relf_linux.c:261
+#: em32rlelf.c:205 em32rlelf_linux.c:261 em68hc11elf.c:475 em68hc11elfb.c:475
+#: em68hc12elf.c:475 em68hc12elfb.c:475 em68kelf.c:418 em68kelfnbsd.c:418
+#: emn10300.c:236 ends32belf.c:325 ends32belf16m.c:325 ends32belf_linux.c:348
+#: ends32elf.c:325 ends32elf16m.c:325 ends32elf_linux.c:348 enios2elf.c:491
+#: enios2linux.c:522 eppclynx.c:524 epruelf.c:210 escore3_elf.c:257
+#: escore7_elf.c:257 eshelf.c:236 eshelf_fd.c:261 eshelf_linux.c:261
+#: eshelf_nbsd.c:236 eshelf_nto.c:236 eshelf_uclinux.c:236 eshelf_vxworks.c:273
+#: eshlelf.c:236 eshlelf_fd.c:261 eshlelf_linux.c:261 eshlelf_nbsd.c:236
+#: eshlelf_nto.c:236 eshlelf_vxworks.c:273 ev850.c:237 ev850_rh850.c:237
 msgid "%F%P: invalid --compress-debug-sections option: `%s'\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2366 eaarch64cloudabib.c:2366 eaarch64elf.c:2366
-#: eaarch64elf32.c:2366 eaarch64elf32b.c:2366 eaarch64elfb.c:2366
-#: eaarch64fbsd.c:2366 eaarch64fbsdb.c:2366 eaarch64linux.c:2373
-#: eaarch64linux32.c:2373 eaarch64linux32b.c:2373 eaarch64linuxb.c:2373
-#: earcelf.c:1988 earclinux.c:2054 earclinux_nps.c:2054 earclinux_prof.c:1999
-#: earmelf.c:2616 earmelf_fbsd.c:2623 earmelf_fuchsia.c:2616
-#: earmelf_linux.c:2616 earmelf_linux_eabi.c:2616
-#: earmelf_linux_fdpiceabi.c:2616 earmelf_nacl.c:2616 earmelf_nbsd.c:2616
-#: earmelf_phoenix.c:2616 earmelf_vxworks.c:2652 earmelfb.c:2616
-#: earmelfb_fbsd.c:2623 earmelfb_fuchsia.c:2616 earmelfb_linux.c:2616
-#: earmelfb_linux_eabi.c:2616 earmelfb_linux_fdpiceabi.c:2616
-#: earmelfb_nacl.c:2616 earmelfb_nbsd.c:2616 earmnto.c:2591 earmsymbian.c:2616
-#: ecrislinux.c:2018 ecskyelf_linux.c:2299 eelf32_sparc.c:2043
-#: eelf32_sparc_sol2.c:2174 eelf32_sparc_vxworks.c:2080 eelf32_tic6x_be.c:2155
-#: eelf32_tic6x_elf_be.c:2155 eelf32_tic6x_elf_le.c:2155 eelf32_tic6x_le.c:2155
-#: eelf32_tic6x_linux_be.c:2155 eelf32_tic6x_linux_le.c:2155
-#: eelf32_x86_64.c:7280 eelf32_x86_64_nacl.c:2053 eelf32am33lin.c:2018
-#: eelf32b4300.c:2285 eelf32bfin.c:2035 eelf32bfinfd.c:2060 eelf32bmip.c:2285
-#: eelf32bmipn32.c:2303 eelf32bsmip.c:2303 eelf32btsmip.c:2285
-#: eelf32btsmip_fbsd.c:2292 eelf32btsmipn32.c:2285 eelf32btsmipn32_fbsd.c:2292
-#: eelf32ebmip.c:2285 eelf32ebmipvxworks.c:2320 eelf32elmip.c:2285
-#: eelf32elmipvxworks.c:2320 eelf32frvfd.c:2043 eelf32l4300.c:2285
-#: eelf32lm32fd.c:2043 eelf32lmip.c:2285 eelf32lppc.c:2302
-#: eelf32lppclinux.c:2302 eelf32lppcnto.c:2302 eelf32lppcsim.c:2302
-#: eelf32lriscv.c:2097 eelf32lriscv_ilp32.c:2097 eelf32lriscv_ilp32f.c:2097
-#: eelf32lsmip.c:2285 eelf32ltsmip.c:2285 eelf32ltsmip_fbsd.c:2292
-#: eelf32ltsmipn32.c:2285 eelf32ltsmipn32_fbsd.c:2292 eelf32mb_linux.c:2043
-#: eelf32mbel_linux.c:2043 eelf32metag.c:2313 eelf32or1k_linux.c:2043
-#: eelf32ppc.c:2302 eelf32ppc_fbsd.c:2309 eelf32ppclinux.c:2302
-#: eelf32ppcnto.c:2302 eelf32ppcsim.c:2302 eelf32ppcvxworks.c:2276
-#: eelf32ppcwindiss.c:2302 eelf32tilegx.c:2043 eelf32tilegx_be.c:2043
-#: eelf32tilepro.c:2043 eelf32vax.c:2018 eelf32xtensa.c:3942 eelf64_aix.c:2018
-#: eelf64_ia64.c:2073 eelf64_ia64_fbsd.c:2080 eelf64_s390.c:2113
-#: eelf64_sparc.c:2043 eelf64_sparc_fbsd.c:2050 eelf64_sparc_sol2.c:2174
-#: eelf64alpha.c:2136 eelf64alpha_fbsd.c:2143 eelf64alpha_nbsd.c:2136
-#: eelf64bmip.c:2303 eelf64btsmip.c:2285 eelf64btsmip_fbsd.c:2292
-#: eelf64hppa.c:1988 eelf64lppc.c:2757 eelf64lriscv.c:2097
-#: eelf64lriscv_lp64.c:2097 eelf64lriscv_lp64f.c:2097 eelf64ltsmip.c:2285
-#: eelf64ltsmip_fbsd.c:2292 eelf64mmix.c:5781 eelf64ppc.c:2757
-#: eelf64ppc_fbsd.c:2764 eelf64rdos.c:2053 eelf64tilegx.c:2043
-#: eelf64tilegx_be.c:2043 eelf_i386.c:6902 eelf_i386_be.c:2018
-#: eelf_i386_chaos.c:1998 eelf_i386_fbsd.c:2060 eelf_i386_ldso.c:2035
-#: eelf_i386_nacl.c:2053 eelf_i386_sol2.c:2191 eelf_i386_vxworks.c:2080
-#: eelf_iamcu.c:6548 eelf_k1om.c:7236 eelf_k1om_fbsd.c:6891 eelf_l1om.c:7236
-#: eelf_l1om_fbsd.c:6891 eelf_s390.c:2043 eelf_x86_64.c:7280
-#: eelf_x86_64_cloudabi.c:2053 eelf_x86_64_fbsd.c:2060 eelf_x86_64_nacl.c:2053
-#: eelf_x86_64_sol2.c:2184 ehppa64linux.c:2018 ehppalinux.c:2347
-#: ehppanbsd.c:2347 ehppaobsd.c:2347 ei386lynx.c:2025 ei386moss.c:2018
-#: ei386nto.c:2018 em32relf_linux.c:2043 em32rlelf_linux.c:2043 em68kelf.c:2199
-#: em68kelfnbsd.c:2199 emn10300.c:2018 ends32belf_linux.c:2130
-#: ends32elf_linux.c:2130 enios2linux.c:2325 eppclynx.c:2309 escore3_elf.c:2038
-#: escore7_elf.c:2038 eshelf.c:2018 eshelf_fd.c:2043 eshelf_linux.c:2043
-#: eshelf_nbsd.c:2018 eshelf_nto.c:2018 eshelf_uclinux.c:2018
-#: eshelf_vxworks.c:2055 eshlelf.c:2018 eshlelf_fd.c:2043 eshlelf_linux.c:2043
-#: eshlelf_nbsd.c:2018 eshlelf_nto.c:2018 eshlelf_vxworks.c:2055
+#: eaarch64cloudabi.c:624 eaarch64cloudabib.c:624 eaarch64elf.c:624
+#: eaarch64elf32.c:624 eaarch64elf32b.c:624 eaarch64elfb.c:624
+#: eaarch64fbsd.c:624 eaarch64fbsdb.c:624 eaarch64linux.c:624
+#: eaarch64linux32.c:624 eaarch64linux32b.c:624 eaarch64linuxb.c:624
+#: earcelf.c:257 earclinux.c:312 earclinux_nps.c:312 earclinux_prof.c:257
+#: earmelf.c:866 earmelf_fbsd.c:866 earmelf_fuchsia.c:866 earmelf_linux.c:866
+#: earmelf_linux_eabi.c:866 earmelf_linux_fdpiceabi.c:866 earmelf_nacl.c:866
+#: earmelf_nbsd.c:866 earmelf_phoenix.c:866 earmelf_vxworks.c:902
+#: earmelfb.c:866 earmelfb_fbsd.c:866 earmelfb_fuchsia.c:866
+#: earmelfb_linux.c:866 earmelfb_linux_eabi.c:866
+#: earmelfb_linux_fdpiceabi.c:866 earmelfb_nacl.c:866 earmelfb_nbsd.c:866
+#: earmnto.c:841 earmsymbian.c:866 ecrislinux.c:287 ecskyelf_linux.c:556
+#: eelf32_sparc.c:312 eelf32_sparc_sol2.c:443 eelf32_sparc_vxworks.c:349
+#: eelf32_tic6x_be.c:424 eelf32_tic6x_elf_be.c:424 eelf32_tic6x_elf_le.c:424
+#: eelf32_tic6x_le.c:424 eelf32_tic6x_linux_be.c:424
+#: eelf32_tic6x_linux_le.c:424 eelf32_x86_64.c:5248 eelf32_x86_64_nacl.c:345
+#: eelf32am33lin.c:287 eelf32b4300.c:527 eelf32bfin.c:305 eelf32bfinfd.c:330
+#: eelf32bmip.c:527 eelf32bmipn32.c:541 eelf32bsmip.c:541 eelf32btsmip.c:527
+#: eelf32btsmip_fbsd.c:527 eelf32btsmipn32.c:527 eelf32btsmipn32_fbsd.c:527
+#: eelf32ebmip.c:527 eelf32ebmipvxworks.c:562 eelf32elmip.c:527
+#: eelf32elmipvxworks.c:562 eelf32frvfd.c:312 eelf32l4300.c:527
+#: eelf32lm32fd.c:312 eelf32lmip.c:527 eelf32lppc.c:575 eelf32lppclinux.c:575
+#: eelf32lppcnto.c:575 eelf32lppcsim.c:575 eelf32lriscv.c:366
+#: eelf32lriscv_ilp32.c:366 eelf32lriscv_ilp32f.c:366 eelf32lsmip.c:527
+#: eelf32ltsmip.c:527 eelf32ltsmip_fbsd.c:527 eelf32ltsmipn32.c:527
+#: eelf32ltsmipn32_fbsd.c:527 eelf32mb_linux.c:312 eelf32mbel_linux.c:312
+#: eelf32metag.c:561 eelf32or1k_linux.c:312 eelf32ppc.c:575
+#: eelf32ppc_fbsd.c:575 eelf32ppclinux.c:575 eelf32ppcnto.c:575
+#: eelf32ppcsim.c:575 eelf32ppcvxworks.c:549 eelf32ppcwindiss.c:575
+#: eelf32tilegx.c:312 eelf32tilegx_be.c:312 eelf32tilepro.c:312 eelf32vax.c:287
+#: eelf32xtensa.c:2215 eelf64_aix.c:287 eelf64_ia64.c:344
+#: eelf64_ia64_fbsd.c:344 eelf64_s390.c:382 eelf64_sparc.c:312
+#: eelf64_sparc_fbsd.c:312 eelf64_sparc_sol2.c:443 eelf64alpha.c:405
+#: eelf64alpha_fbsd.c:405 eelf64alpha_nbsd.c:405 eelf64bmip.c:541
+#: eelf64btsmip.c:527 eelf64btsmip_fbsd.c:527 eelf64hppa.c:257
+#: eelf64lppc.c:1003 eelf64lriscv.c:366 eelf64lriscv_lp64.c:366
+#: eelf64lriscv_lp64f.c:366 eelf64ltsmip.c:527 eelf64ltsmip_fbsd.c:527
+#: eelf64mmix.c:4064 eelf64ppc.c:1003 eelf64ppc_fbsd.c:1003 eelf64rdos.c:336
+#: eelf64tilegx.c:312 eelf64tilegx_be.c:312 eelf_i386.c:4870 eelf_i386_be.c:310
+#: eelf_i386_fbsd.c:345 eelf_i386_ldso.c:320 eelf_i386_nacl.c:345
+#: eelf_i386_sol2.c:476 eelf_i386_vxworks.c:372 eelf_iamcu.c:4848
+#: eelf_k1om.c:5204 eelf_k1om_fbsd.c:5184 eelf_l1om.c:5204
+#: eelf_l1om_fbsd.c:5184 eelf_s390.c:312 eelf_x86_64.c:5248
+#: eelf_x86_64_cloudabi.c:345 eelf_x86_64_fbsd.c:345 eelf_x86_64_nacl.c:345
+#: eelf_x86_64_sol2.c:476 ehppa64linux.c:287 ehppalinux.c:595 ehppanbsd.c:595
+#: ehppaobsd.c:595 ei386lynx.c:301 ei386moss.c:301 ei386nto.c:301
+#: em32relf_linux.c:312 em32rlelf_linux.c:312 em68kelf.c:469 em68kelfnbsd.c:469
+#: emn10300.c:287 ends32belf_linux.c:399 ends32elf_linux.c:399
+#: enios2linux.c:573 eppclynx.c:575 escore3_elf.c:308 escore7_elf.c:308
+#: eshelf.c:287 eshelf_fd.c:312 eshelf_linux.c:312 eshelf_nbsd.c:287
+#: eshelf_nto.c:287 eshelf_uclinux.c:287 eshelf_vxworks.c:324 eshlelf.c:287
+#: eshlelf_fd.c:312 eshlelf_linux.c:312 eshlelf_nbsd.c:287 eshlelf_nto.c:287
+#: eshlelf_vxworks.c:324
 msgid "%F%P: invalid hash style `%s'\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2382 eaarch64cloudabib.c:2382 eaarch64elf.c:2382
-#: eaarch64elf32.c:2382 eaarch64elf32b.c:2382 eaarch64elfb.c:2382
-#: eaarch64fbsd.c:2382 eaarch64fbsdb.c:2382 eaarch64linux.c:2389
-#: eaarch64linux32.c:2389 eaarch64linux32b.c:2389 eaarch64linuxb.c:2389
-#: earcelf.c:2004 earcelf_prof.c:1937 earclinux.c:2070 earclinux_nps.c:2070
-#: earclinux_prof.c:2015 earcv2elf.c:1937 earcv2elfx.c:1937 earmelf.c:2632
-#: earmelf_fbsd.c:2639 earmelf_fuchsia.c:2632 earmelf_linux.c:2632
-#: earmelf_linux_eabi.c:2632 earmelf_linux_fdpiceabi.c:2632 earmelf_nacl.c:2632
-#: earmelf_nbsd.c:2632 earmelf_phoenix.c:2632 earmelf_vxworks.c:2668
-#: earmelfb.c:2632 earmelfb_fbsd.c:2639 earmelfb_fuchsia.c:2632
-#: earmelfb_linux.c:2632 earmelfb_linux_eabi.c:2632
-#: earmelfb_linux_fdpiceabi.c:2632 earmelfb_nacl.c:2632 earmelfb_nbsd.c:2632
-#: earmnto.c:2607 earmsymbian.c:2632 eavr1.c:2160 eavr2.c:2160 eavr25.c:2160
-#: eavr3.c:2160 eavr31.c:2160 eavr35.c:2160 eavr4.c:2160 eavr5.c:2160
-#: eavr51.c:2160 eavr6.c:2160 eavrtiny.c:2160 eavrxmega1.c:2160
-#: eavrxmega2.c:2160 eavrxmega3.c:2160 eavrxmega4.c:2160 eavrxmega5.c:2160
-#: eavrxmega6.c:2160 eavrxmega7.c:2160 ecriself.c:1952 ecrislinux.c:2034
-#: ecskyelf.c:2208 ecskyelf_linux.c:2315 ed10velf.c:1937 eelf32_sparc.c:2059
-#: eelf32_sparc_sol2.c:2190 eelf32_sparc_vxworks.c:2096 eelf32_spu.c:2670
-#: eelf32_tic6x_be.c:2171 eelf32_tic6x_elf_be.c:2171 eelf32_tic6x_elf_le.c:2171
-#: eelf32_tic6x_le.c:2171 eelf32_tic6x_linux_be.c:2171
-#: eelf32_tic6x_linux_le.c:2171 eelf32_x86_64.c:7296 eelf32_x86_64_nacl.c:2069
-#: eelf32am33lin.c:2034 eelf32b4300.c:2301 eelf32bfin.c:2051
-#: eelf32bfinfd.c:2076 eelf32bmip.c:2301 eelf32bmipn32.c:2319
-#: eelf32bsmip.c:2319 eelf32btsmip.c:2301 eelf32btsmip_fbsd.c:2308
-#: eelf32btsmipn32.c:2301 eelf32btsmipn32_fbsd.c:2308 eelf32cr16.c:2088
-#: eelf32cr16c.c:1937 eelf32crx.c:1976 eelf32ebmip.c:2301
-#: eelf32ebmipvxworks.c:2336 eelf32elmip.c:2301 eelf32elmipvxworks.c:2336
-#: eelf32epiphany.c:1952 eelf32epiphany_4x4.c:1939 eelf32frvfd.c:2059
-#: eelf32ip2k.c:1952 eelf32l4300.c:2301 eelf32lm32.c:1952 eelf32lm32fd.c:2059
-#: eelf32lmip.c:2301 eelf32lppc.c:2318 eelf32lppclinux.c:2318
-#: eelf32lppcnto.c:2318 eelf32lppcsim.c:2318 eelf32lr5900.c:2219
-#: eelf32lr5900n32.c:2219 eelf32lriscv.c:2113 eelf32lriscv_ilp32.c:2113
-#: eelf32lriscv_ilp32f.c:2113 eelf32lsmip.c:2301 eelf32ltsmip.c:2301
-#: eelf32ltsmip_fbsd.c:2308 eelf32ltsmipn32.c:2301 eelf32ltsmipn32_fbsd.c:2308
-#: eelf32m32c.c:1963 eelf32mb_linux.c:2059 eelf32mbel_linux.c:2059
-#: eelf32mcore.c:1958 eelf32mep.c:1937 eelf32metag.c:2329
-#: eelf32microblaze.c:1937 eelf32microblazeel.c:1937 eelf32mipswindiss.c:2194
-#: eelf32or1k.c:1952 eelf32or1k_linux.c:2059 eelf32ppc.c:2318
-#: eelf32ppc_fbsd.c:2325 eelf32ppclinux.c:2318 eelf32ppcnto.c:2318
-#: eelf32ppcsim.c:2318 eelf32ppcvxworks.c:2292 eelf32ppcwindiss.c:2318
-#: eelf32rl78.c:1952 eelf32rx.c:1980 eelf32tilegx.c:2059 eelf32tilegx_be.c:2059
-#: eelf32tilepro.c:2059 eelf32vax.c:2034 eelf32visium.c:1937 eelf32xc16x.c:1937
-#: eelf32xc16xl.c:1937 eelf32xc16xs.c:1937 eelf32xstormy16.c:1948
-#: eelf32xtensa.c:3958 eelf64_aix.c:2034 eelf64_ia64.c:2089
-#: eelf64_ia64_fbsd.c:2096 eelf64_s390.c:2129 eelf64_sparc.c:2059
-#: eelf64_sparc_fbsd.c:2066 eelf64_sparc_sol2.c:2190 eelf64alpha.c:2152
-#: eelf64alpha_fbsd.c:2159 eelf64alpha_nbsd.c:2152 eelf64bmip.c:2319
-#: eelf64btsmip.c:2301 eelf64btsmip_fbsd.c:2308 eelf64hppa.c:2004
-#: eelf64lppc.c:2773 eelf64lriscv.c:2113 eelf64lriscv_lp64.c:2113
-#: eelf64lriscv_lp64f.c:2113 eelf64ltsmip.c:2301 eelf64ltsmip_fbsd.c:2308
-#: eelf64mmix.c:5797 eelf64ppc.c:2773 eelf64ppc_fbsd.c:2780 eelf64rdos.c:2069
-#: eelf64tilegx.c:2059 eelf64tilegx_be.c:2059 eelf_i386.c:6918
-#: eelf_i386_be.c:2034 eelf_i386_chaos.c:2014 eelf_i386_fbsd.c:2076
-#: eelf_i386_ldso.c:2051 eelf_i386_nacl.c:2069 eelf_i386_sol2.c:2207
-#: eelf_i386_vxworks.c:2096 eelf_iamcu.c:6564 eelf_k1om.c:7252
-#: eelf_k1om_fbsd.c:6907 eelf_l1om.c:7252 eelf_l1om_fbsd.c:6907
-#: eelf_s390.c:2059 eelf_x86_64.c:7296 eelf_x86_64_cloudabi.c:2069
-#: eelf_x86_64_fbsd.c:2076 eelf_x86_64_nacl.c:2069 eelf_x86_64_sol2.c:2200
-#: eh8300elf.c:1952 eh8300elf_linux.c:1952 eh8300helf.c:1952
-#: eh8300helf_linux.c:1952 eh8300hnelf.c:1952 eh8300self.c:1952
-#: eh8300self_linux.c:1952 eh8300snelf.c:1952 eh8300sxelf.c:1952
-#: eh8300sxelf_linux.c:1952 eh8300sxnelf.c:1952 ehppa64linux.c:2034
-#: ehppaelf.c:2241 ehppalinux.c:2363 ehppanbsd.c:2363 ehppaobsd.c:2363
-#: ei386lynx.c:2041 ei386moss.c:2034 ei386nto.c:2034 em32relf.c:1952
-#: em32relf_linux.c:2059 em32rlelf.c:1952 em32rlelf_linux.c:2059
-#: em68hc11elf.c:2245 em68hc11elfb.c:2245 em68hc12elf.c:2245
-#: em68hc12elfb.c:2245 em68kelf.c:2215 em68kelfnbsd.c:2215 em9s12zelf.c:1937
-#: emn10300.c:2034 ends32belf.c:2072 ends32belf16m.c:2072
-#: ends32belf_linux.c:2146 ends32elf.c:2072 ends32elf16m.c:2072
-#: ends32elf_linux.c:2146 enios2elf.c:2259 enios2linux.c:2341 eppclynx.c:2325
-#: epruelf.c:1957 escore3_elf.c:2054 escore7_elf.c:2054 eshelf.c:2034
-#: eshelf_fd.c:2059 eshelf_linux.c:2059 eshelf_nbsd.c:2034 eshelf_nto.c:2034
-#: eshelf_uclinux.c:2034 eshelf_vxworks.c:2071 eshlelf.c:2034 eshlelf_fd.c:2059
-#: eshlelf_linux.c:2059 eshlelf_nbsd.c:2034 eshlelf_nto.c:2034
-#: eshlelf_vxworks.c:2071 ev850.c:1983 ev850_rh850.c:1983
+#: eaarch64cloudabi.c:640 eaarch64cloudabib.c:640 eaarch64elf.c:640
+#: eaarch64elf32.c:640 eaarch64elf32b.c:640 eaarch64elfb.c:640
+#: eaarch64fbsd.c:640 eaarch64fbsdb.c:640 eaarch64linux.c:640
+#: eaarch64linux32.c:640 eaarch64linux32b.c:640 eaarch64linuxb.c:640
+#: earcelf.c:273 earcelf_prof.c:206 earclinux.c:328 earclinux_nps.c:328
+#: earclinux_prof.c:273 earcv2elf.c:206 earcv2elfx.c:206 earmelf.c:882
+#: earmelf_fbsd.c:882 earmelf_fuchsia.c:882 earmelf_linux.c:882
+#: earmelf_linux_eabi.c:882 earmelf_linux_fdpiceabi.c:882 earmelf_nacl.c:882
+#: earmelf_nbsd.c:882 earmelf_phoenix.c:882 earmelf_vxworks.c:918
+#: earmelfb.c:882 earmelfb_fbsd.c:882 earmelfb_fuchsia.c:882
+#: earmelfb_linux.c:882 earmelfb_linux_eabi.c:882
+#: earmelfb_linux_fdpiceabi.c:882 earmelfb_nacl.c:882 earmelfb_nbsd.c:882
+#: earmnto.c:857 earmsymbian.c:882 eavr1.c:429 eavr2.c:429 eavr25.c:429
+#: eavr3.c:429 eavr31.c:429 eavr35.c:429 eavr4.c:429 eavr5.c:429 eavr51.c:429
+#: eavr6.c:429 eavrtiny.c:429 eavrxmega1.c:429 eavrxmega2.c:429
+#: eavrxmega3.c:429 eavrxmega4.c:429 eavrxmega5.c:429 eavrxmega6.c:429
+#: eavrxmega7.c:429 ecriself.c:221 ecrislinux.c:303 ecskyelf.c:465
+#: ecskyelf_linux.c:572 ed10velf.c:206 eelf32_sparc.c:328
+#: eelf32_sparc_sol2.c:459 eelf32_sparc_vxworks.c:365 eelf32_spu.c:939
+#: eelf32_tic6x_be.c:440 eelf32_tic6x_elf_be.c:440 eelf32_tic6x_elf_le.c:440
+#: eelf32_tic6x_le.c:440 eelf32_tic6x_linux_be.c:440
+#: eelf32_tic6x_linux_le.c:440 eelf32_x86_64.c:5264 eelf32_x86_64_nacl.c:361
+#: eelf32am33lin.c:303 eelf32b4300.c:543 eelf32bfin.c:321 eelf32bfinfd.c:346
+#: eelf32bmip.c:543 eelf32bmipn32.c:557 eelf32bsmip.c:557 eelf32btsmip.c:543
+#: eelf32btsmip_fbsd.c:543 eelf32btsmipn32.c:543 eelf32btsmipn32_fbsd.c:543
+#: eelf32cr16.c:356 eelf32crx.c:243 eelf32ebmip.c:543 eelf32ebmipvxworks.c:578
+#: eelf32elmip.c:543 eelf32elmipvxworks.c:578 eelf32epiphany.c:221
+#: eelf32epiphany_4x4.c:208 eelf32frvfd.c:328 eelf32ip2k.c:221
+#: eelf32l4300.c:543 eelf32lm32.c:221 eelf32lm32fd.c:328 eelf32lmip.c:543
+#: eelf32lppc.c:591 eelf32lppclinux.c:591 eelf32lppcnto.c:591
+#: eelf32lppcsim.c:591 eelf32lr5900.c:461 eelf32lr5900n32.c:461
+#: eelf32lriscv.c:382 eelf32lriscv_ilp32.c:382 eelf32lriscv_ilp32f.c:382
+#: eelf32lsmip.c:543 eelf32ltsmip.c:543 eelf32ltsmip_fbsd.c:543
+#: eelf32ltsmipn32.c:543 eelf32ltsmipn32_fbsd.c:543 eelf32m32c.c:232
+#: eelf32mb_linux.c:328 eelf32mbel_linux.c:328 eelf32mcore.c:227
+#: eelf32mep.c:206 eelf32metag.c:577 eelf32microblaze.c:206
+#: eelf32microblazeel.c:206 eelf32mipswindiss.c:436 eelf32moxie.c:221
+#: eelf32or1k.c:221 eelf32or1k_linux.c:328 eelf32ppc.c:591 eelf32ppc_fbsd.c:591
+#: eelf32ppclinux.c:591 eelf32ppcnto.c:591 eelf32ppcsim.c:591
+#: eelf32ppcvxworks.c:565 eelf32ppcwindiss.c:591 eelf32rl78.c:221
+#: eelf32rx.c:249 eelf32tilegx.c:328 eelf32tilegx_be.c:328 eelf32tilepro.c:328
+#: eelf32vax.c:303 eelf32visium.c:206 eelf32xc16x.c:206 eelf32xc16xl.c:206
+#: eelf32xc16xs.c:206 eelf32xstormy16.c:217 eelf32xtensa.c:2231 eelf32z80.c:313
+#: eelf64_aix.c:303 eelf64_ia64.c:360 eelf64_ia64_fbsd.c:360 eelf64_s390.c:398
+#: eelf64_sparc.c:328 eelf64_sparc_fbsd.c:328 eelf64_sparc_sol2.c:459
+#: eelf64alpha.c:421 eelf64alpha_fbsd.c:421 eelf64alpha_nbsd.c:421
+#: eelf64bmip.c:557 eelf64bpf.c:206 eelf64btsmip.c:543 eelf64btsmip_fbsd.c:543
+#: eelf64hppa.c:273 eelf64lppc.c:1019 eelf64lriscv.c:382
+#: eelf64lriscv_lp64.c:382 eelf64lriscv_lp64f.c:382 eelf64ltsmip.c:543
+#: eelf64ltsmip_fbsd.c:543 eelf64mmix.c:4080 eelf64ppc.c:1019
+#: eelf64ppc_fbsd.c:1019 eelf64rdos.c:352 eelf64tilegx.c:328
+#: eelf64tilegx_be.c:328 eelf_i386.c:4886 eelf_i386_be.c:326
+#: eelf_i386_fbsd.c:361 eelf_i386_ldso.c:336 eelf_i386_nacl.c:361
+#: eelf_i386_sol2.c:492 eelf_i386_vxworks.c:388 eelf_iamcu.c:4864
+#: eelf_k1om.c:5220 eelf_k1om_fbsd.c:5200 eelf_l1om.c:5220
+#: eelf_l1om_fbsd.c:5200 eelf_s390.c:328 eelf_x86_64.c:5264
+#: eelf_x86_64_cloudabi.c:361 eelf_x86_64_fbsd.c:361 eelf_x86_64_nacl.c:361
+#: eelf_x86_64_sol2.c:492 eh8300elf.c:221 eh8300elf_linux.c:221
+#: eh8300helf.c:221 eh8300helf_linux.c:221 eh8300hnelf.c:221 eh8300self.c:221
+#: eh8300self_linux.c:221 eh8300snelf.c:221 eh8300sxelf.c:221
+#: eh8300sxelf_linux.c:221 eh8300sxnelf.c:221 ehppa64linux.c:303 ehppaelf.c:489
+#: ehppalinux.c:611 ehppanbsd.c:611 ehppaobsd.c:611 ei386lynx.c:317
+#: ei386moss.c:317 ei386nto.c:317 em32relf.c:221 em32relf_linux.c:328
+#: em32rlelf.c:221 em32rlelf_linux.c:328 em68hc11elf.c:491 em68hc11elfb.c:491
+#: em68hc12elf.c:491 em68hc12elfb.c:491 em68kelf.c:485 em68kelfnbsd.c:485
+#: emn10300.c:303 ends32belf.c:341 ends32belf16m.c:341 ends32belf_linux.c:415
+#: ends32elf.c:341 ends32elf16m.c:341 ends32elf_linux.c:415 enios2elf.c:507
+#: enios2linux.c:589 eppclynx.c:591 epruelf.c:226 escore3_elf.c:324
+#: escore7_elf.c:324 eshelf.c:303 eshelf_fd.c:328 eshelf_linux.c:328
+#: eshelf_nbsd.c:303 eshelf_nto.c:303 eshelf_uclinux.c:303 eshelf_vxworks.c:340
+#: eshlelf.c:303 eshlelf_fd.c:328 eshlelf_linux.c:328 eshlelf_nbsd.c:303
+#: eshlelf_nto.c:303 eshlelf_vxworks.c:340 ev850.c:253 ev850_rh850.c:253
 msgid "%F%P: invalid maximum page size `%s'\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2391 eaarch64cloudabib.c:2391 eaarch64elf.c:2391
-#: eaarch64elf32.c:2391 eaarch64elf32b.c:2391 eaarch64elfb.c:2391
-#: eaarch64fbsd.c:2391 eaarch64fbsdb.c:2391 eaarch64linux.c:2398
-#: eaarch64linux32.c:2398 eaarch64linux32b.c:2398 eaarch64linuxb.c:2398
-#: earcelf.c:2013 earcelf_prof.c:1946 earclinux.c:2079 earclinux_nps.c:2079
-#: earclinux_prof.c:2024 earcv2elf.c:1946 earcv2elfx.c:1946 earmelf.c:2641
-#: earmelf_fbsd.c:2648 earmelf_fuchsia.c:2641 earmelf_linux.c:2641
-#: earmelf_linux_eabi.c:2641 earmelf_linux_fdpiceabi.c:2641 earmelf_nacl.c:2641
-#: earmelf_nbsd.c:2641 earmelf_phoenix.c:2641 earmelf_vxworks.c:2677
-#: earmelfb.c:2641 earmelfb_fbsd.c:2648 earmelfb_fuchsia.c:2641
-#: earmelfb_linux.c:2641 earmelfb_linux_eabi.c:2641
-#: earmelfb_linux_fdpiceabi.c:2641 earmelfb_nacl.c:2641 earmelfb_nbsd.c:2641
-#: earmnto.c:2616 earmsymbian.c:2641 eavr1.c:2169 eavr2.c:2169 eavr25.c:2169
-#: eavr3.c:2169 eavr31.c:2169 eavr35.c:2169 eavr4.c:2169 eavr5.c:2169
-#: eavr51.c:2169 eavr6.c:2169 eavrtiny.c:2169 eavrxmega1.c:2169
-#: eavrxmega2.c:2169 eavrxmega3.c:2169 eavrxmega4.c:2169 eavrxmega5.c:2169
-#: eavrxmega6.c:2169 eavrxmega7.c:2169 ecriself.c:1961 ecrislinux.c:2043
-#: ecskyelf.c:2217 ecskyelf_linux.c:2324 ed10velf.c:1946 eelf32_sparc.c:2068
-#: eelf32_sparc_sol2.c:2199 eelf32_sparc_vxworks.c:2105 eelf32_spu.c:2679
-#: eelf32_tic6x_be.c:2180 eelf32_tic6x_elf_be.c:2180 eelf32_tic6x_elf_le.c:2180
-#: eelf32_tic6x_le.c:2180 eelf32_tic6x_linux_be.c:2180
-#: eelf32_tic6x_linux_le.c:2180 eelf32_x86_64.c:7305 eelf32_x86_64_nacl.c:2078
-#: eelf32am33lin.c:2043 eelf32b4300.c:2310 eelf32bfin.c:2060
-#: eelf32bfinfd.c:2085 eelf32bmip.c:2310 eelf32bmipn32.c:2328
-#: eelf32bsmip.c:2328 eelf32btsmip.c:2310 eelf32btsmip_fbsd.c:2317
-#: eelf32btsmipn32.c:2310 eelf32btsmipn32_fbsd.c:2317 eelf32cr16.c:2097
-#: eelf32cr16c.c:1946 eelf32crx.c:1985 eelf32ebmip.c:2310
-#: eelf32ebmipvxworks.c:2345 eelf32elmip.c:2310 eelf32elmipvxworks.c:2345
-#: eelf32epiphany.c:1961 eelf32epiphany_4x4.c:1948 eelf32frvfd.c:2068
-#: eelf32ip2k.c:1961 eelf32l4300.c:2310 eelf32lm32.c:1961 eelf32lm32fd.c:2068
-#: eelf32lmip.c:2310 eelf32lppc.c:2327 eelf32lppclinux.c:2327
-#: eelf32lppcnto.c:2327 eelf32lppcsim.c:2327 eelf32lr5900.c:2228
-#: eelf32lr5900n32.c:2228 eelf32lriscv.c:2122 eelf32lriscv_ilp32.c:2122
-#: eelf32lriscv_ilp32f.c:2122 eelf32lsmip.c:2310 eelf32ltsmip.c:2310
-#: eelf32ltsmip_fbsd.c:2317 eelf32ltsmipn32.c:2310 eelf32ltsmipn32_fbsd.c:2317
-#: eelf32m32c.c:1972 eelf32mb_linux.c:2068 eelf32mbel_linux.c:2068
-#: eelf32mcore.c:1967 eelf32mep.c:1946 eelf32metag.c:2338
-#: eelf32microblaze.c:1946 eelf32microblazeel.c:1946 eelf32mipswindiss.c:2203
-#: eelf32or1k.c:1961 eelf32or1k_linux.c:2068 eelf32ppc.c:2327
-#: eelf32ppc_fbsd.c:2334 eelf32ppclinux.c:2327 eelf32ppcnto.c:2327
-#: eelf32ppcsim.c:2327 eelf32ppcvxworks.c:2301 eelf32ppcwindiss.c:2327
-#: eelf32rl78.c:1961 eelf32rx.c:1989 eelf32tilegx.c:2068 eelf32tilegx_be.c:2068
-#: eelf32tilepro.c:2068 eelf32vax.c:2043 eelf32visium.c:1946 eelf32xc16x.c:1946
-#: eelf32xc16xl.c:1946 eelf32xc16xs.c:1946 eelf32xstormy16.c:1957
-#: eelf32xtensa.c:3967 eelf64_aix.c:2043 eelf64_ia64.c:2098
-#: eelf64_ia64_fbsd.c:2105 eelf64_s390.c:2138 eelf64_sparc.c:2068
-#: eelf64_sparc_fbsd.c:2075 eelf64_sparc_sol2.c:2199 eelf64alpha.c:2161
-#: eelf64alpha_fbsd.c:2168 eelf64alpha_nbsd.c:2161 eelf64bmip.c:2328
-#: eelf64btsmip.c:2310 eelf64btsmip_fbsd.c:2317 eelf64hppa.c:2013
-#: eelf64lppc.c:2782 eelf64lriscv.c:2122 eelf64lriscv_lp64.c:2122
-#: eelf64lriscv_lp64f.c:2122 eelf64ltsmip.c:2310 eelf64ltsmip_fbsd.c:2317
-#: eelf64mmix.c:5806 eelf64ppc.c:2782 eelf64ppc_fbsd.c:2789 eelf64rdos.c:2078
-#: eelf64tilegx.c:2068 eelf64tilegx_be.c:2068 eelf_i386.c:6927
-#: eelf_i386_be.c:2043 eelf_i386_chaos.c:2023 eelf_i386_fbsd.c:2085
-#: eelf_i386_ldso.c:2060 eelf_i386_nacl.c:2078 eelf_i386_sol2.c:2216
-#: eelf_i386_vxworks.c:2105 eelf_iamcu.c:6573 eelf_k1om.c:7261
-#: eelf_k1om_fbsd.c:6916 eelf_l1om.c:7261 eelf_l1om_fbsd.c:6916
-#: eelf_s390.c:2068 eelf_x86_64.c:7305 eelf_x86_64_cloudabi.c:2078
-#: eelf_x86_64_fbsd.c:2085 eelf_x86_64_nacl.c:2078 eelf_x86_64_sol2.c:2209
-#: eh8300elf.c:1961 eh8300elf_linux.c:1961 eh8300helf.c:1961
-#: eh8300helf_linux.c:1961 eh8300hnelf.c:1961 eh8300self.c:1961
-#: eh8300self_linux.c:1961 eh8300snelf.c:1961 eh8300sxelf.c:1961
-#: eh8300sxelf_linux.c:1961 eh8300sxnelf.c:1961 ehppa64linux.c:2043
-#: ehppaelf.c:2250 ehppalinux.c:2372 ehppanbsd.c:2372 ehppaobsd.c:2372
-#: ei386lynx.c:2050 ei386moss.c:2043 ei386nto.c:2043 em32relf.c:1961
-#: em32relf_linux.c:2068 em32rlelf.c:1961 em32rlelf_linux.c:2068
-#: em68hc11elf.c:2254 em68hc11elfb.c:2254 em68hc12elf.c:2254
-#: em68hc12elfb.c:2254 em68kelf.c:2224 em68kelfnbsd.c:2224 em9s12zelf.c:1946
-#: emn10300.c:2043 ends32belf.c:2081 ends32belf16m.c:2081
-#: ends32belf_linux.c:2155 ends32elf.c:2081 ends32elf16m.c:2081
-#: ends32elf_linux.c:2155 enios2elf.c:2268 enios2linux.c:2350 eppclynx.c:2334
-#: epruelf.c:1966 escore3_elf.c:2063 escore7_elf.c:2063 eshelf.c:2043
-#: eshelf_fd.c:2068 eshelf_linux.c:2068 eshelf_nbsd.c:2043 eshelf_nto.c:2043
-#: eshelf_uclinux.c:2043 eshelf_vxworks.c:2080 eshlelf.c:2043 eshlelf_fd.c:2068
-#: eshlelf_linux.c:2068 eshlelf_nbsd.c:2043 eshlelf_nto.c:2043
-#: eshlelf_vxworks.c:2080 ev850.c:1992 ev850_rh850.c:1992
+#: eaarch64cloudabi.c:649 eaarch64cloudabib.c:649 eaarch64elf.c:649
+#: eaarch64elf32.c:649 eaarch64elf32b.c:649 eaarch64elfb.c:649
+#: eaarch64fbsd.c:649 eaarch64fbsdb.c:649 eaarch64linux.c:649
+#: eaarch64linux32.c:649 eaarch64linux32b.c:649 eaarch64linuxb.c:649
+#: earcelf.c:282 earcelf_prof.c:215 earclinux.c:337 earclinux_nps.c:337
+#: earclinux_prof.c:282 earcv2elf.c:215 earcv2elfx.c:215 earmelf.c:891
+#: earmelf_fbsd.c:891 earmelf_fuchsia.c:891 earmelf_linux.c:891
+#: earmelf_linux_eabi.c:891 earmelf_linux_fdpiceabi.c:891 earmelf_nacl.c:891
+#: earmelf_nbsd.c:891 earmelf_phoenix.c:891 earmelf_vxworks.c:927
+#: earmelfb.c:891 earmelfb_fbsd.c:891 earmelfb_fuchsia.c:891
+#: earmelfb_linux.c:891 earmelfb_linux_eabi.c:891
+#: earmelfb_linux_fdpiceabi.c:891 earmelfb_nacl.c:891 earmelfb_nbsd.c:891
+#: earmnto.c:866 earmsymbian.c:891 eavr1.c:438 eavr2.c:438 eavr25.c:438
+#: eavr3.c:438 eavr31.c:438 eavr35.c:438 eavr4.c:438 eavr5.c:438 eavr51.c:438
+#: eavr6.c:438 eavrtiny.c:438 eavrxmega1.c:438 eavrxmega2.c:438
+#: eavrxmega3.c:438 eavrxmega4.c:438 eavrxmega5.c:438 eavrxmega6.c:438
+#: eavrxmega7.c:438 ecriself.c:230 ecrislinux.c:312 ecskyelf.c:474
+#: ecskyelf_linux.c:581 ed10velf.c:215 eelf32_sparc.c:337
+#: eelf32_sparc_sol2.c:468 eelf32_sparc_vxworks.c:374 eelf32_spu.c:948
+#: eelf32_tic6x_be.c:449 eelf32_tic6x_elf_be.c:449 eelf32_tic6x_elf_le.c:449
+#: eelf32_tic6x_le.c:449 eelf32_tic6x_linux_be.c:449
+#: eelf32_tic6x_linux_le.c:449 eelf32_x86_64.c:5273 eelf32_x86_64_nacl.c:370
+#: eelf32am33lin.c:312 eelf32b4300.c:552 eelf32bfin.c:330 eelf32bfinfd.c:355
+#: eelf32bmip.c:552 eelf32bmipn32.c:566 eelf32bsmip.c:566 eelf32btsmip.c:552
+#: eelf32btsmip_fbsd.c:552 eelf32btsmipn32.c:552 eelf32btsmipn32_fbsd.c:552
+#: eelf32cr16.c:365 eelf32crx.c:252 eelf32ebmip.c:552 eelf32ebmipvxworks.c:587
+#: eelf32elmip.c:552 eelf32elmipvxworks.c:587 eelf32epiphany.c:230
+#: eelf32epiphany_4x4.c:217 eelf32frvfd.c:337 eelf32ip2k.c:230
+#: eelf32l4300.c:552 eelf32lm32.c:230 eelf32lm32fd.c:337 eelf32lmip.c:552
+#: eelf32lppc.c:600 eelf32lppclinux.c:600 eelf32lppcnto.c:600
+#: eelf32lppcsim.c:600 eelf32lr5900.c:470 eelf32lr5900n32.c:470
+#: eelf32lriscv.c:391 eelf32lriscv_ilp32.c:391 eelf32lriscv_ilp32f.c:391
+#: eelf32lsmip.c:552 eelf32ltsmip.c:552 eelf32ltsmip_fbsd.c:552
+#: eelf32ltsmipn32.c:552 eelf32ltsmipn32_fbsd.c:552 eelf32m32c.c:241
+#: eelf32mb_linux.c:337 eelf32mbel_linux.c:337 eelf32mcore.c:236
+#: eelf32mep.c:215 eelf32metag.c:586 eelf32microblaze.c:215
+#: eelf32microblazeel.c:215 eelf32mipswindiss.c:445 eelf32moxie.c:230
+#: eelf32or1k.c:230 eelf32or1k_linux.c:337 eelf32ppc.c:600 eelf32ppc_fbsd.c:600
+#: eelf32ppclinux.c:600 eelf32ppcnto.c:600 eelf32ppcsim.c:600
+#: eelf32ppcvxworks.c:574 eelf32ppcwindiss.c:600 eelf32rl78.c:230
+#: eelf32rx.c:258 eelf32tilegx.c:337 eelf32tilegx_be.c:337 eelf32tilepro.c:337
+#: eelf32vax.c:312 eelf32visium.c:215 eelf32xc16x.c:215 eelf32xc16xl.c:215
+#: eelf32xc16xs.c:215 eelf32xstormy16.c:226 eelf32xtensa.c:2240 eelf32z80.c:322
+#: eelf64_aix.c:312 eelf64_ia64.c:369 eelf64_ia64_fbsd.c:369 eelf64_s390.c:407
+#: eelf64_sparc.c:337 eelf64_sparc_fbsd.c:337 eelf64_sparc_sol2.c:468
+#: eelf64alpha.c:430 eelf64alpha_fbsd.c:430 eelf64alpha_nbsd.c:430
+#: eelf64bmip.c:566 eelf64bpf.c:215 eelf64btsmip.c:552 eelf64btsmip_fbsd.c:552
+#: eelf64hppa.c:282 eelf64lppc.c:1028 eelf64lriscv.c:391
+#: eelf64lriscv_lp64.c:391 eelf64lriscv_lp64f.c:391 eelf64ltsmip.c:552
+#: eelf64ltsmip_fbsd.c:552 eelf64mmix.c:4089 eelf64ppc.c:1028
+#: eelf64ppc_fbsd.c:1028 eelf64rdos.c:361 eelf64tilegx.c:337
+#: eelf64tilegx_be.c:337 eelf_i386.c:4895 eelf_i386_be.c:335
+#: eelf_i386_fbsd.c:370 eelf_i386_ldso.c:345 eelf_i386_nacl.c:370
+#: eelf_i386_sol2.c:501 eelf_i386_vxworks.c:397 eelf_iamcu.c:4873
+#: eelf_k1om.c:5229 eelf_k1om_fbsd.c:5209 eelf_l1om.c:5229
+#: eelf_l1om_fbsd.c:5209 eelf_s390.c:337 eelf_x86_64.c:5273
+#: eelf_x86_64_cloudabi.c:370 eelf_x86_64_fbsd.c:370 eelf_x86_64_nacl.c:370
+#: eelf_x86_64_sol2.c:501 eh8300elf.c:230 eh8300elf_linux.c:230
+#: eh8300helf.c:230 eh8300helf_linux.c:230 eh8300hnelf.c:230 eh8300self.c:230
+#: eh8300self_linux.c:230 eh8300snelf.c:230 eh8300sxelf.c:230
+#: eh8300sxelf_linux.c:230 eh8300sxnelf.c:230 ehppa64linux.c:312 ehppaelf.c:498
+#: ehppalinux.c:620 ehppanbsd.c:620 ehppaobsd.c:620 ei386lynx.c:326
+#: ei386moss.c:326 ei386nto.c:326 em32relf.c:230 em32relf_linux.c:337
+#: em32rlelf.c:230 em32rlelf_linux.c:337 em68hc11elf.c:500 em68hc11elfb.c:500
+#: em68hc12elf.c:500 em68hc12elfb.c:500 em68kelf.c:494 em68kelfnbsd.c:494
+#: emn10300.c:312 ends32belf.c:350 ends32belf16m.c:350 ends32belf_linux.c:424
+#: ends32elf.c:350 ends32elf16m.c:350 ends32elf_linux.c:424 enios2elf.c:516
+#: enios2linux.c:598 eppclynx.c:600 epruelf.c:235 escore3_elf.c:333
+#: escore7_elf.c:333 eshelf.c:312 eshelf_fd.c:337 eshelf_linux.c:337
+#: eshelf_nbsd.c:312 eshelf_nto.c:312 eshelf_uclinux.c:312 eshelf_vxworks.c:349
+#: eshlelf.c:312 eshlelf_fd.c:337 eshlelf_linux.c:337 eshlelf_nbsd.c:312
+#: eshlelf_nto.c:312 eshlelf_vxworks.c:349 ev850.c:262 ev850_rh850.c:262
 msgid "%F%P: invalid common page size `%s'\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2399 eaarch64cloudabib.c:2399 eaarch64elf.c:2399
-#: eaarch64elf32.c:2399 eaarch64elf32b.c:2399 eaarch64elfb.c:2399
-#: eaarch64fbsd.c:2399 eaarch64fbsdb.c:2399 eaarch64linux.c:2406
-#: eaarch64linux32.c:2406 eaarch64linux32b.c:2406 eaarch64linuxb.c:2406
-#: earcelf.c:2021 earcelf_prof.c:1954 earclinux.c:2087 earclinux_nps.c:2087
-#: earclinux_prof.c:2032 earcv2elf.c:1954 earcv2elfx.c:1954 earmelf.c:2649
-#: earmelf_fbsd.c:2656 earmelf_fuchsia.c:2649 earmelf_linux.c:2649
-#: earmelf_linux_eabi.c:2649 earmelf_linux_fdpiceabi.c:2649 earmelf_nacl.c:2649
-#: earmelf_nbsd.c:2649 earmelf_phoenix.c:2649 earmelf_vxworks.c:2685
-#: earmelfb.c:2649 earmelfb_fbsd.c:2656 earmelfb_fuchsia.c:2649
-#: earmelfb_linux.c:2649 earmelfb_linux_eabi.c:2649
-#: earmelfb_linux_fdpiceabi.c:2649 earmelfb_nacl.c:2649 earmelfb_nbsd.c:2649
-#: earmnto.c:2624 earmsymbian.c:2649 eavr1.c:2177 eavr2.c:2177 eavr25.c:2177
-#: eavr3.c:2177 eavr31.c:2177 eavr35.c:2177 eavr4.c:2177 eavr5.c:2177
-#: eavr51.c:2177 eavr6.c:2177 eavrtiny.c:2177 eavrxmega1.c:2177
-#: eavrxmega2.c:2177 eavrxmega3.c:2177 eavrxmega4.c:2177 eavrxmega5.c:2177
-#: eavrxmega6.c:2177 eavrxmega7.c:2177 ecriself.c:1969 ecrislinux.c:2051
-#: ecskyelf.c:2225 ecskyelf_linux.c:2332 ed10velf.c:1954 eelf32_sparc.c:2076
-#: eelf32_sparc_sol2.c:2207 eelf32_sparc_vxworks.c:2113 eelf32_spu.c:2687
-#: eelf32_tic6x_be.c:2188 eelf32_tic6x_elf_be.c:2188 eelf32_tic6x_elf_le.c:2188
-#: eelf32_tic6x_le.c:2188 eelf32_tic6x_linux_be.c:2188
-#: eelf32_tic6x_linux_le.c:2188 eelf32_x86_64.c:7313 eelf32_x86_64_nacl.c:2086
-#: eelf32am33lin.c:2051 eelf32b4300.c:2318 eelf32bfin.c:2068
-#: eelf32bfinfd.c:2093 eelf32bmip.c:2318 eelf32bmipn32.c:2336
-#: eelf32bsmip.c:2336 eelf32btsmip.c:2318 eelf32btsmip_fbsd.c:2325
-#: eelf32btsmipn32.c:2318 eelf32btsmipn32_fbsd.c:2325 eelf32cr16.c:2105
-#: eelf32cr16c.c:1954 eelf32crx.c:1993 eelf32ebmip.c:2318
-#: eelf32ebmipvxworks.c:2353 eelf32elmip.c:2318 eelf32elmipvxworks.c:2353
-#: eelf32epiphany.c:1969 eelf32epiphany_4x4.c:1956 eelf32frvfd.c:2076
-#: eelf32ip2k.c:1969 eelf32l4300.c:2318 eelf32lm32.c:1969 eelf32lm32fd.c:2076
-#: eelf32lmip.c:2318 eelf32lppc.c:2335 eelf32lppclinux.c:2335
-#: eelf32lppcnto.c:2335 eelf32lppcsim.c:2335 eelf32lr5900.c:2236
-#: eelf32lr5900n32.c:2236 eelf32lriscv.c:2130 eelf32lriscv_ilp32.c:2130
-#: eelf32lriscv_ilp32f.c:2130 eelf32lsmip.c:2318 eelf32ltsmip.c:2318
-#: eelf32ltsmip_fbsd.c:2325 eelf32ltsmipn32.c:2318 eelf32ltsmipn32_fbsd.c:2325
-#: eelf32m32c.c:1980 eelf32mb_linux.c:2076 eelf32mbel_linux.c:2076
-#: eelf32mcore.c:1975 eelf32mep.c:1954 eelf32metag.c:2346
-#: eelf32microblaze.c:1954 eelf32microblazeel.c:1954 eelf32mipswindiss.c:2211
-#: eelf32or1k.c:1969 eelf32or1k_linux.c:2076 eelf32ppc.c:2335
-#: eelf32ppc_fbsd.c:2342 eelf32ppclinux.c:2335 eelf32ppcnto.c:2335
-#: eelf32ppcsim.c:2335 eelf32ppcvxworks.c:2309 eelf32ppcwindiss.c:2335
-#: eelf32rl78.c:1969 eelf32rx.c:1997 eelf32tilegx.c:2076 eelf32tilegx_be.c:2076
-#: eelf32tilepro.c:2076 eelf32vax.c:2051 eelf32visium.c:1954 eelf32xc16x.c:1954
-#: eelf32xc16xl.c:1954 eelf32xc16xs.c:1954 eelf32xstormy16.c:1965
-#: eelf32xtensa.c:3975 eelf64_aix.c:2051 eelf64_ia64.c:2106
-#: eelf64_ia64_fbsd.c:2113 eelf64_s390.c:2146 eelf64_sparc.c:2076
-#: eelf64_sparc_fbsd.c:2083 eelf64_sparc_sol2.c:2207 eelf64alpha.c:2169
-#: eelf64alpha_fbsd.c:2176 eelf64alpha_nbsd.c:2169 eelf64bmip.c:2336
-#: eelf64btsmip.c:2318 eelf64btsmip_fbsd.c:2325 eelf64hppa.c:2021
-#: eelf64lppc.c:2790 eelf64lriscv.c:2130 eelf64lriscv_lp64.c:2130
-#: eelf64lriscv_lp64f.c:2130 eelf64ltsmip.c:2318 eelf64ltsmip_fbsd.c:2325
-#: eelf64mmix.c:5814 eelf64ppc.c:2790 eelf64ppc_fbsd.c:2797 eelf64rdos.c:2086
-#: eelf64tilegx.c:2076 eelf64tilegx_be.c:2076 eelf_i386.c:6935
-#: eelf_i386_be.c:2051 eelf_i386_chaos.c:2031 eelf_i386_fbsd.c:2093
-#: eelf_i386_ldso.c:2068 eelf_i386_nacl.c:2086 eelf_i386_sol2.c:2224
-#: eelf_i386_vxworks.c:2113 eelf_iamcu.c:6581 eelf_k1om.c:7269
-#: eelf_k1om_fbsd.c:6924 eelf_l1om.c:7269 eelf_l1om_fbsd.c:6924
-#: eelf_s390.c:2076 eelf_x86_64.c:7313 eelf_x86_64_cloudabi.c:2086
-#: eelf_x86_64_fbsd.c:2093 eelf_x86_64_nacl.c:2086 eelf_x86_64_sol2.c:2217
-#: eh8300elf.c:1969 eh8300elf_linux.c:1969 eh8300helf.c:1969
-#: eh8300helf_linux.c:1969 eh8300hnelf.c:1969 eh8300self.c:1969
-#: eh8300self_linux.c:1969 eh8300snelf.c:1969 eh8300sxelf.c:1969
-#: eh8300sxelf_linux.c:1969 eh8300sxnelf.c:1969 ehppa64linux.c:2051
-#: ehppaelf.c:2258 ehppalinux.c:2380 ehppanbsd.c:2380 ehppaobsd.c:2380
-#: ei386lynx.c:2058 ei386moss.c:2051 ei386nto.c:2051 em32relf.c:1969
-#: em32relf_linux.c:2076 em32rlelf.c:1969 em32rlelf_linux.c:2076
-#: em68hc11elf.c:2262 em68hc11elfb.c:2262 em68hc12elf.c:2262
-#: em68hc12elfb.c:2262 em68kelf.c:2232 em68kelfnbsd.c:2232 em9s12zelf.c:1954
-#: emn10300.c:2051 ends32belf.c:2089 ends32belf16m.c:2089
-#: ends32belf_linux.c:2163 ends32elf.c:2089 ends32elf16m.c:2089
-#: ends32elf_linux.c:2163 enios2elf.c:2276 enios2linux.c:2358 eppclynx.c:2342
-#: epruelf.c:1974 escore3_elf.c:2071 escore7_elf.c:2071 eshelf.c:2051
-#: eshelf_fd.c:2076 eshelf_linux.c:2076 eshelf_nbsd.c:2051 eshelf_nto.c:2051
-#: eshelf_uclinux.c:2051 eshelf_vxworks.c:2088 eshlelf.c:2051 eshlelf_fd.c:2076
-#: eshlelf_linux.c:2076 eshlelf_nbsd.c:2051 eshlelf_nto.c:2051
-#: eshlelf_vxworks.c:2088 ev850.c:2000 ev850_rh850.c:2000
+#: eaarch64cloudabi.c:657 eaarch64cloudabib.c:657 eaarch64elf.c:657
+#: eaarch64elf32.c:657 eaarch64elf32b.c:657 eaarch64elfb.c:657
+#: eaarch64fbsd.c:657 eaarch64fbsdb.c:657 eaarch64linux.c:657
+#: eaarch64linux32.c:657 eaarch64linux32b.c:657 eaarch64linuxb.c:657
+#: earcelf.c:290 earcelf_prof.c:223 earclinux.c:345 earclinux_nps.c:345
+#: earclinux_prof.c:290 earcv2elf.c:223 earcv2elfx.c:223 earmelf.c:899
+#: earmelf_fbsd.c:899 earmelf_fuchsia.c:899 earmelf_linux.c:899
+#: earmelf_linux_eabi.c:899 earmelf_linux_fdpiceabi.c:899 earmelf_nacl.c:899
+#: earmelf_nbsd.c:899 earmelf_phoenix.c:899 earmelf_vxworks.c:935
+#: earmelfb.c:899 earmelfb_fbsd.c:899 earmelfb_fuchsia.c:899
+#: earmelfb_linux.c:899 earmelfb_linux_eabi.c:899
+#: earmelfb_linux_fdpiceabi.c:899 earmelfb_nacl.c:899 earmelfb_nbsd.c:899
+#: earmnto.c:874 earmsymbian.c:899 eavr1.c:446 eavr2.c:446 eavr25.c:446
+#: eavr3.c:446 eavr31.c:446 eavr35.c:446 eavr4.c:446 eavr5.c:446 eavr51.c:446
+#: eavr6.c:446 eavrtiny.c:446 eavrxmega1.c:446 eavrxmega2.c:446
+#: eavrxmega3.c:446 eavrxmega4.c:446 eavrxmega5.c:446 eavrxmega6.c:446
+#: eavrxmega7.c:446 ecriself.c:238 ecrislinux.c:320 ecskyelf.c:482
+#: ecskyelf_linux.c:589 ed10velf.c:223 eelf32_sparc.c:345
+#: eelf32_sparc_sol2.c:476 eelf32_sparc_vxworks.c:382 eelf32_spu.c:956
+#: eelf32_tic6x_be.c:457 eelf32_tic6x_elf_be.c:457 eelf32_tic6x_elf_le.c:457
+#: eelf32_tic6x_le.c:457 eelf32_tic6x_linux_be.c:457
+#: eelf32_tic6x_linux_le.c:457 eelf32_x86_64.c:5281 eelf32_x86_64_nacl.c:378
+#: eelf32am33lin.c:320 eelf32b4300.c:560 eelf32bfin.c:338 eelf32bfinfd.c:363
+#: eelf32bmip.c:560 eelf32bmipn32.c:574 eelf32bsmip.c:574 eelf32btsmip.c:560
+#: eelf32btsmip_fbsd.c:560 eelf32btsmipn32.c:560 eelf32btsmipn32_fbsd.c:560
+#: eelf32cr16.c:373 eelf32crx.c:260 eelf32ebmip.c:560 eelf32ebmipvxworks.c:595
+#: eelf32elmip.c:560 eelf32elmipvxworks.c:595 eelf32epiphany.c:238
+#: eelf32epiphany_4x4.c:225 eelf32frvfd.c:345 eelf32ip2k.c:238
+#: eelf32l4300.c:560 eelf32lm32.c:238 eelf32lm32fd.c:345 eelf32lmip.c:560
+#: eelf32lppc.c:608 eelf32lppclinux.c:608 eelf32lppcnto.c:608
+#: eelf32lppcsim.c:608 eelf32lr5900.c:478 eelf32lr5900n32.c:478
+#: eelf32lriscv.c:399 eelf32lriscv_ilp32.c:399 eelf32lriscv_ilp32f.c:399
+#: eelf32lsmip.c:560 eelf32ltsmip.c:560 eelf32ltsmip_fbsd.c:560
+#: eelf32ltsmipn32.c:560 eelf32ltsmipn32_fbsd.c:560 eelf32m32c.c:249
+#: eelf32mb_linux.c:345 eelf32mbel_linux.c:345 eelf32mcore.c:244
+#: eelf32mep.c:223 eelf32metag.c:594 eelf32microblaze.c:223
+#: eelf32microblazeel.c:223 eelf32mipswindiss.c:453 eelf32moxie.c:238
+#: eelf32or1k.c:238 eelf32or1k_linux.c:345 eelf32ppc.c:608 eelf32ppc_fbsd.c:608
+#: eelf32ppclinux.c:608 eelf32ppcnto.c:608 eelf32ppcsim.c:608
+#: eelf32ppcvxworks.c:582 eelf32ppcwindiss.c:608 eelf32rl78.c:238
+#: eelf32rx.c:266 eelf32tilegx.c:345 eelf32tilegx_be.c:345 eelf32tilepro.c:345
+#: eelf32vax.c:320 eelf32visium.c:223 eelf32xc16x.c:223 eelf32xc16xl.c:223
+#: eelf32xc16xs.c:223 eelf32xstormy16.c:234 eelf32xtensa.c:2248 eelf32z80.c:330
+#: eelf64_aix.c:320 eelf64_ia64.c:377 eelf64_ia64_fbsd.c:377 eelf64_s390.c:415
+#: eelf64_sparc.c:345 eelf64_sparc_fbsd.c:345 eelf64_sparc_sol2.c:476
+#: eelf64alpha.c:438 eelf64alpha_fbsd.c:438 eelf64alpha_nbsd.c:438
+#: eelf64bmip.c:574 eelf64bpf.c:223 eelf64btsmip.c:560 eelf64btsmip_fbsd.c:560
+#: eelf64hppa.c:290 eelf64lppc.c:1036 eelf64lriscv.c:399
+#: eelf64lriscv_lp64.c:399 eelf64lriscv_lp64f.c:399 eelf64ltsmip.c:560
+#: eelf64ltsmip_fbsd.c:560 eelf64mmix.c:4097 eelf64ppc.c:1036
+#: eelf64ppc_fbsd.c:1036 eelf64rdos.c:369 eelf64tilegx.c:345
+#: eelf64tilegx_be.c:345 eelf_i386.c:4903 eelf_i386_be.c:343
+#: eelf_i386_fbsd.c:378 eelf_i386_ldso.c:353 eelf_i386_nacl.c:378
+#: eelf_i386_sol2.c:509 eelf_i386_vxworks.c:405 eelf_iamcu.c:4881
+#: eelf_k1om.c:5237 eelf_k1om_fbsd.c:5217 eelf_l1om.c:5237
+#: eelf_l1om_fbsd.c:5217 eelf_s390.c:345 eelf_x86_64.c:5281
+#: eelf_x86_64_cloudabi.c:378 eelf_x86_64_fbsd.c:378 eelf_x86_64_nacl.c:378
+#: eelf_x86_64_sol2.c:509 eh8300elf.c:238 eh8300elf_linux.c:238
+#: eh8300helf.c:238 eh8300helf_linux.c:238 eh8300hnelf.c:238 eh8300self.c:238
+#: eh8300self_linux.c:238 eh8300snelf.c:238 eh8300sxelf.c:238
+#: eh8300sxelf_linux.c:238 eh8300sxnelf.c:238 ehppa64linux.c:320 ehppaelf.c:506
+#: ehppalinux.c:628 ehppanbsd.c:628 ehppaobsd.c:628 ei386lynx.c:334
+#: ei386moss.c:334 ei386nto.c:334 em32relf.c:238 em32relf_linux.c:345
+#: em32rlelf.c:238 em32rlelf_linux.c:345 em68hc11elf.c:508 em68hc11elfb.c:508
+#: em68hc12elf.c:508 em68hc12elfb.c:508 em68kelf.c:502 em68kelfnbsd.c:502
+#: emn10300.c:320 ends32belf.c:358 ends32belf16m.c:358 ends32belf_linux.c:432
+#: ends32elf.c:358 ends32elf16m.c:358 ends32elf_linux.c:432 enios2elf.c:524
+#: enios2linux.c:606 eppclynx.c:608 epruelf.c:243 escore3_elf.c:341
+#: escore7_elf.c:341 eshelf.c:320 eshelf_fd.c:345 eshelf_linux.c:345
+#: eshelf_nbsd.c:320 eshelf_nto.c:320 eshelf_uclinux.c:320 eshelf_vxworks.c:357
+#: eshlelf.c:320 eshlelf_fd.c:345 eshlelf_linux.c:345 eshlelf_nbsd.c:320
+#: eshlelf_nto.c:320 eshlelf_vxworks.c:357 ev850.c:270 ev850_rh850.c:270
 msgid "%F%P: invalid stack size `%s'\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2475 eaarch64cloudabib.c:2475 eaarch64elf.c:2475
-#: eaarch64elf32.c:2475 eaarch64elf32b.c:2475 eaarch64elfb.c:2475
-#: eaarch64fbsd.c:2475 eaarch64fbsdb.c:2475 eaarch64linux.c:2482
-#: eaarch64linux32.c:2482 eaarch64linux32b.c:2482 eaarch64linuxb.c:2482
-#: earcelf.c:2097 earcelf_prof.c:1975 earclinux.c:2163 earclinux_nps.c:2163
-#: earclinux_prof.c:2108 earcv2elf.c:1975 earcv2elfx.c:1975 earmelf.c:2725
-#: earmelf_fbsd.c:2732 earmelf_fuchsia.c:2725 earmelf_linux.c:2725
-#: earmelf_linux_eabi.c:2725 earmelf_linux_fdpiceabi.c:2725 earmelf_nacl.c:2725
-#: earmelf_nbsd.c:2725 earmelf_phoenix.c:2725 earmelf_vxworks.c:2761
-#: earmelfb.c:2725 earmelfb_fbsd.c:2732 earmelfb_fuchsia.c:2725
-#: earmelfb_linux.c:2725 earmelfb_linux_eabi.c:2725
-#: earmelfb_linux_fdpiceabi.c:2725 earmelfb_nacl.c:2725 earmelfb_nbsd.c:2725
-#: earmnto.c:2700 earmsymbian.c:2725 eavr1.c:2198 eavr2.c:2198 eavr25.c:2198
-#: eavr3.c:2198 eavr31.c:2198 eavr35.c:2198 eavr4.c:2198 eavr5.c:2198
-#: eavr51.c:2198 eavr6.c:2198 eavrtiny.c:2198 eavrxmega1.c:2198
-#: eavrxmega2.c:2198 eavrxmega3.c:2198 eavrxmega4.c:2198 eavrxmega5.c:2198
-#: eavrxmega6.c:2198 eavrxmega7.c:2198 ecriself.c:1990 ecrislinux.c:2127
-#: ecskyelf.c:2246 ecskyelf_linux.c:2408 ed10velf.c:1975 eelf32_sparc.c:2152
-#: eelf32_sparc_sol2.c:2283 eelf32_sparc_vxworks.c:2189 eelf32_spu.c:2708
-#: eelf32_tic6x_be.c:2264 eelf32_tic6x_elf_be.c:2264 eelf32_tic6x_elf_le.c:2264
-#: eelf32_tic6x_le.c:2264 eelf32_tic6x_linux_be.c:2264
-#: eelf32_tic6x_linux_le.c:2264 eelf32_x86_64.c:7442 eelf32_x86_64_nacl.c:2215
-#: eelf32am33lin.c:2127 eelf32b4300.c:2394 eelf32bfin.c:2144
-#: eelf32bfinfd.c:2169 eelf32bmip.c:2394 eelf32bmipn32.c:2412
-#: eelf32bsmip.c:2412 eelf32btsmip.c:2394 eelf32btsmip_fbsd.c:2401
-#: eelf32btsmipn32.c:2394 eelf32btsmipn32_fbsd.c:2401 eelf32cr16.c:2126
-#: eelf32cr16c.c:1975 eelf32crx.c:2014 eelf32ebmip.c:2394
-#: eelf32ebmipvxworks.c:2429 eelf32elmip.c:2394 eelf32elmipvxworks.c:2429
-#: eelf32epiphany.c:1990 eelf32epiphany_4x4.c:1977 eelf32frvfd.c:2152
-#: eelf32ip2k.c:1990 eelf32l4300.c:2394 eelf32lm32.c:1990 eelf32lm32fd.c:2152
-#: eelf32lmip.c:2394 eelf32lppc.c:2417 eelf32lppclinux.c:2417
-#: eelf32lppcnto.c:2417 eelf32lppcsim.c:2417 eelf32lr5900.c:2257
-#: eelf32lr5900n32.c:2257 eelf32lriscv.c:2206 eelf32lriscv_ilp32.c:2206
-#: eelf32lriscv_ilp32f.c:2206 eelf32lsmip.c:2394 eelf32ltsmip.c:2394
-#: eelf32ltsmip_fbsd.c:2401 eelf32ltsmipn32.c:2394 eelf32ltsmipn32_fbsd.c:2401
-#: eelf32m32c.c:2001 eelf32mb_linux.c:2152 eelf32mbel_linux.c:2152
-#: eelf32mcore.c:1996 eelf32mep.c:1975 eelf32metag.c:2422
-#: eelf32microblaze.c:1975 eelf32microblazeel.c:1975 eelf32mipswindiss.c:2232
-#: eelf32or1k.c:1990 eelf32or1k_linux.c:2152 eelf32ppc.c:2417
-#: eelf32ppc_fbsd.c:2424 eelf32ppclinux.c:2417 eelf32ppcnto.c:2417
-#: eelf32ppcsim.c:2417 eelf32ppcvxworks.c:2391 eelf32ppcwindiss.c:2417
-#: eelf32rl78.c:1990 eelf32rx.c:2018 eelf32tilegx.c:2152 eelf32tilegx_be.c:2152
-#: eelf32tilepro.c:2152 eelf32vax.c:2127 eelf32visium.c:1975 eelf32xc16x.c:1975
-#: eelf32xc16xl.c:1975 eelf32xc16xs.c:1975 eelf32xstormy16.c:1986
-#: eelf32xtensa.c:4051 eelf64_aix.c:2127 eelf64_ia64.c:2182
-#: eelf64_ia64_fbsd.c:2189 eelf64_s390.c:2222 eelf64_sparc.c:2152
-#: eelf64_sparc_fbsd.c:2159 eelf64_sparc_sol2.c:2283 eelf64alpha.c:2245
-#: eelf64alpha_fbsd.c:2252 eelf64alpha_nbsd.c:2245 eelf64bmip.c:2412
-#: eelf64btsmip.c:2394 eelf64btsmip_fbsd.c:2401 eelf64hppa.c:2097
-#: eelf64lppc.c:2872 eelf64lriscv.c:2206 eelf64lriscv_lp64.c:2206
-#: eelf64lriscv_lp64f.c:2206 eelf64ltsmip.c:2394 eelf64ltsmip_fbsd.c:2401
-#: eelf64mmix.c:5890 eelf64ppc.c:2872 eelf64ppc_fbsd.c:2879 eelf64rdos.c:2162
-#: eelf64tilegx.c:2152 eelf64tilegx_be.c:2152 eelf_i386.c:7061
-#: eelf_i386_be.c:2170 eelf_i386_chaos.c:2150 eelf_i386_fbsd.c:2219
-#: eelf_i386_ldso.c:2187 eelf_i386_nacl.c:2212 eelf_i386_sol2.c:2343
-#: eelf_i386_vxworks.c:2232 eelf_iamcu.c:6700 eelf_k1om.c:7388
-#: eelf_k1om_fbsd.c:7043 eelf_l1om.c:7388 eelf_l1om_fbsd.c:7043
-#: eelf_s390.c:2152 eelf_x86_64.c:7445 eelf_x86_64_cloudabi.c:2218
-#: eelf_x86_64_fbsd.c:2225 eelf_x86_64_nacl.c:2218 eelf_x86_64_sol2.c:2349
-#: eh8300elf.c:1990 eh8300elf_linux.c:1990 eh8300helf.c:1990
-#: eh8300helf_linux.c:1990 eh8300hnelf.c:1990 eh8300self.c:1990
-#: eh8300self_linux.c:1990 eh8300snelf.c:1990 eh8300sxelf.c:1990
-#: eh8300sxelf_linux.c:1990 eh8300sxnelf.c:1990 ehppa64linux.c:2127
-#: ehppaelf.c:2279 ehppalinux.c:2456 ehppanbsd.c:2456 ehppaobsd.c:2456
-#: ei386lynx.c:2134 ei386moss.c:2127 ei386nto.c:2127 em32relf.c:1990
-#: em32relf_linux.c:2152 em32rlelf.c:1990 em32rlelf_linux.c:2152
-#: em68hc11elf.c:2283 em68hc11elfb.c:2283 em68hc12elf.c:2283
-#: em68hc12elfb.c:2283 em68kelf.c:2308 em68kelfnbsd.c:2308 em9s12zelf.c:1975
-#: emn10300.c:2127 ends32belf.c:2110 ends32belf16m.c:2110
-#: ends32belf_linux.c:2239 ends32elf.c:2110 ends32elf16m.c:2110
-#: ends32elf_linux.c:2239 enios2elf.c:2297 enios2linux.c:2434 eppclynx.c:2424
-#: epruelf.c:1995 escore3_elf.c:2147 escore7_elf.c:2147 eshelf.c:2127
-#: eshelf_fd.c:2152 eshelf_linux.c:2152 eshelf_nbsd.c:2127 eshelf_nto.c:2127
-#: eshelf_uclinux.c:2127 eshelf_vxworks.c:2164 eshlelf.c:2127 eshlelf_fd.c:2152
-#: eshlelf_linux.c:2152 eshlelf_nbsd.c:2127 eshlelf_nto.c:2127
-#: eshlelf_vxworks.c:2164 ev850.c:2021 ev850_rh850.c:2021
+#: eaarch64cloudabi.c:742 eaarch64cloudabib.c:742 eaarch64elf.c:742
+#: eaarch64elf32.c:742 eaarch64elf32b.c:742 eaarch64elfb.c:742
+#: eaarch64fbsd.c:742 eaarch64fbsdb.c:742 eaarch64linux.c:742
+#: eaarch64linux32.c:742 eaarch64linux32b.c:742 eaarch64linuxb.c:742
+#: earcelf.c:366 earcelf_prof.c:244 earclinux.c:421 earclinux_nps.c:421
+#: earclinux_prof.c:366 earcv2elf.c:244 earcv2elfx.c:244 earmelf.c:975
+#: earmelf_fbsd.c:975 earmelf_fuchsia.c:975 earmelf_linux.c:975
+#: earmelf_linux_eabi.c:975 earmelf_linux_fdpiceabi.c:975 earmelf_nacl.c:975
+#: earmelf_nbsd.c:975 earmelf_phoenix.c:975 earmelf_vxworks.c:1011
+#: earmelfb.c:975 earmelfb_fbsd.c:975 earmelfb_fuchsia.c:975
+#: earmelfb_linux.c:975 earmelfb_linux_eabi.c:975
+#: earmelfb_linux_fdpiceabi.c:975 earmelfb_nacl.c:975 earmelfb_nbsd.c:975
+#: earmnto.c:950 earmsymbian.c:975 eavr1.c:467 eavr2.c:467 eavr25.c:467
+#: eavr3.c:467 eavr31.c:467 eavr35.c:467 eavr4.c:467 eavr5.c:467 eavr51.c:467
+#: eavr6.c:467 eavrtiny.c:467 eavrxmega1.c:467 eavrxmega2.c:467
+#: eavrxmega3.c:467 eavrxmega4.c:467 eavrxmega5.c:467 eavrxmega6.c:467
+#: eavrxmega7.c:467 ecriself.c:259 ecrislinux.c:396 ecskyelf.c:503
+#: ecskyelf_linux.c:665 ed10velf.c:244 eelf32_sparc.c:421
+#: eelf32_sparc_sol2.c:552 eelf32_sparc_vxworks.c:458 eelf32_spu.c:977
+#: eelf32_tic6x_be.c:533 eelf32_tic6x_elf_be.c:533 eelf32_tic6x_elf_le.c:533
+#: eelf32_tic6x_le.c:533 eelf32_tic6x_linux_be.c:533
+#: eelf32_tic6x_linux_le.c:533 eelf32_x86_64.c:5426 eelf32_x86_64_nacl.c:523
+#: eelf32am33lin.c:396 eelf32b4300.c:636 eelf32bfin.c:414 eelf32bfinfd.c:439
+#: eelf32bmip.c:636 eelf32bmipn32.c:650 eelf32bsmip.c:650 eelf32btsmip.c:636
+#: eelf32btsmip_fbsd.c:636 eelf32btsmipn32.c:636 eelf32btsmipn32_fbsd.c:636
+#: eelf32cr16.c:394 eelf32crx.c:281 eelf32ebmip.c:636 eelf32ebmipvxworks.c:671
+#: eelf32elmip.c:636 eelf32elmipvxworks.c:671 eelf32epiphany.c:259
+#: eelf32epiphany_4x4.c:246 eelf32frvfd.c:421 eelf32ip2k.c:259
+#: eelf32l4300.c:636 eelf32lm32.c:259 eelf32lm32fd.c:421 eelf32lmip.c:636
+#: eelf32lppc.c:690 eelf32lppclinux.c:690 eelf32lppcnto.c:690
+#: eelf32lppcsim.c:690 eelf32lr5900.c:499 eelf32lr5900n32.c:499
+#: eelf32lriscv.c:475 eelf32lriscv_ilp32.c:475 eelf32lriscv_ilp32f.c:475
+#: eelf32lsmip.c:636 eelf32ltsmip.c:636 eelf32ltsmip_fbsd.c:636
+#: eelf32ltsmipn32.c:636 eelf32ltsmipn32_fbsd.c:636 eelf32m32c.c:270
+#: eelf32mb_linux.c:421 eelf32mbel_linux.c:421 eelf32mcore.c:265
+#: eelf32mep.c:244 eelf32metag.c:670 eelf32microblaze.c:244
+#: eelf32microblazeel.c:244 eelf32mipswindiss.c:474 eelf32moxie.c:259
+#: eelf32or1k.c:259 eelf32or1k_linux.c:421 eelf32ppc.c:690 eelf32ppc_fbsd.c:690
+#: eelf32ppclinux.c:690 eelf32ppcnto.c:690 eelf32ppcsim.c:690
+#: eelf32ppcvxworks.c:664 eelf32ppcwindiss.c:690 eelf32rl78.c:259
+#: eelf32rx.c:287 eelf32tilegx.c:421 eelf32tilegx_be.c:421 eelf32tilepro.c:421
+#: eelf32vax.c:396 eelf32visium.c:244 eelf32xc16x.c:244 eelf32xc16xl.c:244
+#: eelf32xc16xs.c:244 eelf32xstormy16.c:255 eelf32xtensa.c:2324 eelf32z80.c:351
+#: eelf64_aix.c:396 eelf64_ia64.c:453 eelf64_ia64_fbsd.c:453 eelf64_s390.c:491
+#: eelf64_sparc.c:421 eelf64_sparc_fbsd.c:421 eelf64_sparc_sol2.c:552
+#: eelf64alpha.c:514 eelf64alpha_fbsd.c:514 eelf64alpha_nbsd.c:514
+#: eelf64bmip.c:650 eelf64bpf.c:244 eelf64btsmip.c:636 eelf64btsmip_fbsd.c:636
+#: eelf64hppa.c:366 eelf64lppc.c:1118 eelf64lriscv.c:475
+#: eelf64lriscv_lp64.c:475 eelf64lriscv_lp64f.c:475 eelf64ltsmip.c:636
+#: eelf64ltsmip_fbsd.c:636 eelf64mmix.c:4173 eelf64ppc.c:1118
+#: eelf64ppc_fbsd.c:1118 eelf64rdos.c:445 eelf64tilegx.c:421
+#: eelf64tilegx_be.c:421 eelf_i386.c:5045 eelf_i386_be.c:462
+#: eelf_i386_fbsd.c:520 eelf_i386_ldso.c:472 eelf_i386_nacl.c:520
+#: eelf_i386_sol2.c:628 eelf_i386_vxworks.c:524 eelf_iamcu.c:5000
+#: eelf_k1om.c:5356 eelf_k1om_fbsd.c:5336 eelf_l1om.c:5356
+#: eelf_l1om_fbsd.c:5336 eelf_s390.c:421 eelf_x86_64.c:5429
+#: eelf_x86_64_cloudabi.c:526 eelf_x86_64_fbsd.c:526 eelf_x86_64_nacl.c:526
+#: eelf_x86_64_sol2.c:657 eh8300elf.c:259 eh8300elf_linux.c:259
+#: eh8300helf.c:259 eh8300helf_linux.c:259 eh8300hnelf.c:259 eh8300self.c:259
+#: eh8300self_linux.c:259 eh8300snelf.c:259 eh8300sxelf.c:259
+#: eh8300sxelf_linux.c:259 eh8300sxnelf.c:259 ehppa64linux.c:396 ehppaelf.c:527
+#: ehppalinux.c:704 ehppanbsd.c:704 ehppaobsd.c:704 ei386lynx.c:410
+#: ei386moss.c:410 ei386nto.c:410 em32relf.c:259 em32relf_linux.c:421
+#: em32rlelf.c:259 em32rlelf_linux.c:421 em68hc11elf.c:529 em68hc11elfb.c:529
+#: em68hc12elf.c:529 em68hc12elfb.c:529 em68kelf.c:578 em68kelfnbsd.c:578
+#: emn10300.c:396 ends32belf.c:379 ends32belf16m.c:379 ends32belf_linux.c:508
+#: ends32elf.c:379 ends32elf16m.c:379 ends32elf_linux.c:508 enios2elf.c:545
+#: enios2linux.c:682 eppclynx.c:690 epruelf.c:264 escore3_elf.c:417
+#: escore7_elf.c:417 eshelf.c:396 eshelf_fd.c:421 eshelf_linux.c:421
+#: eshelf_nbsd.c:396 eshelf_nto.c:396 eshelf_uclinux.c:396 eshelf_vxworks.c:433
+#: eshlelf.c:396 eshlelf_fd.c:421 eshlelf_linux.c:421 eshlelf_nbsd.c:396
+#: eshlelf_nto.c:396 eshlelf_vxworks.c:433 ev850.c:291 ev850_rh850.c:291
 msgid "%P: warning: -z %s ignored\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2526 eaarch64cloudabib.c:2526 eaarch64elf.c:2526
-#: eaarch64elf32.c:2526 eaarch64elf32b.c:2526 eaarch64elfb.c:2526
-#: eaarch64fbsd.c:2526 eaarch64fbsdb.c:2526 eaarch64linux.c:2533
-#: eaarch64linux32.c:2533 eaarch64linux32b.c:2533 eaarch64linuxb.c:2533
-#: earmelf.c:2862 earmelf_fbsd.c:2869 earmelf_fuchsia.c:2862
-#: earmelf_linux.c:2862 earmelf_linux_eabi.c:2862
-#: earmelf_linux_fdpiceabi.c:2862 earmelf_nacl.c:2862 earmelf_nbsd.c:2862
-#: earmelf_phoenix.c:2862 earmelf_vxworks.c:2902 earmelfb.c:2862
-#: earmelfb_fbsd.c:2869 earmelfb_fuchsia.c:2862 earmelfb_linux.c:2862
-#: earmelfb_linux_eabi.c:2862 earmelfb_linux_fdpiceabi.c:2862
-#: earmelfb_nacl.c:2862 earmelfb_nbsd.c:2862 earmnto.c:2837 earmsymbian.c:2862
+#: eaarch64cloudabi.c:776 eaarch64cloudabib.c:776 eaarch64elf.c:776
+#: eaarch64elf32.c:776 eaarch64elf32b.c:776 eaarch64elfb.c:776
+#: eaarch64fbsd.c:776 eaarch64fbsdb.c:776 eaarch64linux.c:776
+#: eaarch64linux32.c:776 eaarch64linux32b.c:776 eaarch64linuxb.c:776
+msgid "%P: error: unrecognized option for --fix-cortex-a53-843419: %s\n"
+msgstr ""
+
+#: eaarch64cloudabi.c:805 eaarch64cloudabib.c:805 eaarch64elf.c:805
+#: eaarch64elf32.c:805 eaarch64elf32b.c:805 eaarch64elfb.c:805
+#: eaarch64fbsd.c:805 eaarch64fbsdb.c:805 eaarch64linux.c:805
+#: eaarch64linux32.c:805 eaarch64linux32b.c:805 eaarch64linuxb.c:805
+#: earmelf.c:1112 earmelf_fbsd.c:1112 earmelf_fuchsia.c:1112
+#: earmelf_linux.c:1112 earmelf_linux_eabi.c:1112
+#: earmelf_linux_fdpiceabi.c:1112 earmelf_nacl.c:1112 earmelf_nbsd.c:1112
+#: earmelf_phoenix.c:1112 earmelf_vxworks.c:1152 earmelfb.c:1112
+#: earmelfb_fbsd.c:1112 earmelfb_fuchsia.c:1112 earmelfb_linux.c:1112
+#: earmelfb_linux_eabi.c:1112 earmelfb_linux_fdpiceabi.c:1112
+#: earmelfb_nacl.c:1112 earmelfb_nbsd.c:1112 earmnto.c:1087 earmsymbian.c:1112
 #, c-format
 msgid ""
 "  --no-enum-size-warning      Don't warn about objects with incompatible\n"
 "                                enum sizes\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2528 eaarch64cloudabib.c:2528 eaarch64elf.c:2528
-#: eaarch64elf32.c:2528 eaarch64elf32b.c:2528 eaarch64elfb.c:2528
-#: eaarch64fbsd.c:2528 eaarch64fbsdb.c:2528 eaarch64linux.c:2535
-#: eaarch64linux32.c:2535 eaarch64linux32b.c:2535 eaarch64linuxb.c:2535
-#: earmelf.c:2864 earmelf_fbsd.c:2871 earmelf_fuchsia.c:2864
-#: earmelf_linux.c:2864 earmelf_linux_eabi.c:2864
-#: earmelf_linux_fdpiceabi.c:2864 earmelf_nacl.c:2864 earmelf_nbsd.c:2864
-#: earmelf_phoenix.c:2864 earmelf_vxworks.c:2904 earmelfb.c:2864
-#: earmelfb_fbsd.c:2871 earmelfb_fuchsia.c:2864 earmelfb_linux.c:2864
-#: earmelfb_linux_eabi.c:2864 earmelfb_linux_fdpiceabi.c:2864
-#: earmelfb_nacl.c:2864 earmelfb_nbsd.c:2864 earmnto.c:2839 earmsymbian.c:2864
+#: eaarch64cloudabi.c:807 eaarch64cloudabib.c:807 eaarch64elf.c:807
+#: eaarch64elf32.c:807 eaarch64elf32b.c:807 eaarch64elfb.c:807
+#: eaarch64fbsd.c:807 eaarch64fbsdb.c:807 eaarch64linux.c:807
+#: eaarch64linux32.c:807 eaarch64linux32b.c:807 eaarch64linuxb.c:807
+#: earmelf.c:1114 earmelf_fbsd.c:1114 earmelf_fuchsia.c:1114
+#: earmelf_linux.c:1114 earmelf_linux_eabi.c:1114
+#: earmelf_linux_fdpiceabi.c:1114 earmelf_nacl.c:1114 earmelf_nbsd.c:1114
+#: earmelf_phoenix.c:1114 earmelf_vxworks.c:1154 earmelfb.c:1114
+#: earmelfb_fbsd.c:1114 earmelfb_fuchsia.c:1114 earmelfb_linux.c:1114
+#: earmelfb_linux_eabi.c:1114 earmelfb_linux_fdpiceabi.c:1114
+#: earmelfb_nacl.c:1114 earmelfb_nbsd.c:1114 earmnto.c:1089 earmsymbian.c:1114
 #, c-format
 msgid ""
 "  --no-wchar-size-warning     Don't warn about objects with incompatible\n"
 "                                wchar_t sizes\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2530 eaarch64cloudabib.c:2530 eaarch64elf.c:2530
-#: eaarch64elf32.c:2530 eaarch64elf32b.c:2530 eaarch64elfb.c:2530
-#: eaarch64fbsd.c:2530 eaarch64fbsdb.c:2530 eaarch64linux.c:2537
-#: eaarch64linux32.c:2537 eaarch64linux32b.c:2537 eaarch64linuxb.c:2537
-#: earmelf.c:2866 earmelf_fbsd.c:2873 earmelf_fuchsia.c:2866
-#: earmelf_linux.c:2866 earmelf_linux_eabi.c:2866
-#: earmelf_linux_fdpiceabi.c:2866 earmelf_nacl.c:2866 earmelf_nbsd.c:2866
-#: earmelf_phoenix.c:2866 earmelf_vxworks.c:2906 earmelfb.c:2866
-#: earmelfb_fbsd.c:2873 earmelfb_fuchsia.c:2866 earmelfb_linux.c:2866
-#: earmelfb_linux_eabi.c:2866 earmelfb_linux_fdpiceabi.c:2866
-#: earmelfb_nacl.c:2866 earmelfb_nbsd.c:2866 earmnto.c:2841 earmsymbian.c:2866
+#: eaarch64cloudabi.c:809 eaarch64cloudabib.c:809 eaarch64elf.c:809
+#: eaarch64elf32.c:809 eaarch64elf32b.c:809 eaarch64elfb.c:809
+#: eaarch64fbsd.c:809 eaarch64fbsdb.c:809 eaarch64linux.c:809
+#: eaarch64linux32.c:809 eaarch64linux32b.c:809 eaarch64linuxb.c:809
+#: earmelf.c:1116 earmelf_fbsd.c:1116 earmelf_fuchsia.c:1116
+#: earmelf_linux.c:1116 earmelf_linux_eabi.c:1116
+#: earmelf_linux_fdpiceabi.c:1116 earmelf_nacl.c:1116 earmelf_nbsd.c:1116
+#: earmelf_phoenix.c:1116 earmelf_vxworks.c:1156 earmelfb.c:1116
+#: earmelfb_fbsd.c:1116 earmelfb_fuchsia.c:1116 earmelfb_linux.c:1116
+#: earmelfb_linux_eabi.c:1116 earmelfb_linux_fdpiceabi.c:1116
+#: earmelfb_nacl.c:1116 earmelfb_nbsd.c:1116 earmnto.c:1091 earmsymbian.c:1116
 #, c-format
 msgid ""
 "  --pic-veneer                Always generate PIC interworking veneers\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2531 eaarch64cloudabib.c:2531 eaarch64elf.c:2531
-#: eaarch64elf32.c:2531 eaarch64elf32b.c:2531 eaarch64elfb.c:2531
-#: eaarch64fbsd.c:2531 eaarch64fbsdb.c:2531 eaarch64linux.c:2538
-#: eaarch64linux32.c:2538 eaarch64linux32b.c:2538 eaarch64linuxb.c:2538
-#: earmelf.c:2873 earmelf_fbsd.c:2880 earmelf_fuchsia.c:2873
-#: earmelf_linux.c:2873 earmelf_linux_eabi.c:2873
-#: earmelf_linux_fdpiceabi.c:2873 earmelf_nacl.c:2873 earmelf_nbsd.c:2873
-#: earmelf_phoenix.c:2873 earmelf_vxworks.c:2913 earmelfb.c:2873
-#: earmelfb_fbsd.c:2880 earmelfb_fuchsia.c:2873 earmelfb_linux.c:2873
-#: earmelfb_linux_eabi.c:2873 earmelfb_linux_fdpiceabi.c:2873
-#: earmelfb_nacl.c:2873 earmelfb_nbsd.c:2873 earmnto.c:2848 earmsymbian.c:2873
+#: eaarch64cloudabi.c:810 eaarch64cloudabib.c:810 eaarch64elf.c:810
+#: eaarch64elf32.c:810 eaarch64elf32b.c:810 eaarch64elfb.c:810
+#: eaarch64fbsd.c:810 eaarch64fbsdb.c:810 eaarch64linux.c:810
+#: eaarch64linux32.c:810 eaarch64linux32b.c:810 eaarch64linuxb.c:810
+#: earmelf.c:1123 earmelf_fbsd.c:1123 earmelf_fuchsia.c:1123
+#: earmelf_linux.c:1123 earmelf_linux_eabi.c:1123
+#: earmelf_linux_fdpiceabi.c:1123 earmelf_nacl.c:1123 earmelf_nbsd.c:1123
+#: earmelf_phoenix.c:1123 earmelf_vxworks.c:1163 earmelfb.c:1123
+#: earmelfb_fbsd.c:1123 earmelfb_fuchsia.c:1123 earmelfb_linux.c:1123
+#: earmelfb_linux_eabi.c:1123 earmelfb_linux_fdpiceabi.c:1123
+#: earmelfb_nacl.c:1123 earmelfb_nbsd.c:1123 earmnto.c:1098 earmsymbian.c:1123
 #, c-format
 msgid ""
 "  --stub-group-size=N         Maximum size of a group of input sections "
@@ -5035,146 +3257,186 @@ msgid ""
 "                                choose suitable defaults.\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2540 eaarch64cloudabib.c:2540 eaarch64elf.c:2540
-#: eaarch64elf32.c:2540 eaarch64elf32b.c:2540 eaarch64elfb.c:2540
-#: eaarch64fbsd.c:2540 eaarch64fbsdb.c:2540 eaarch64linux.c:2547
-#: eaarch64linux32.c:2547 eaarch64linux32b.c:2547 eaarch64linuxb.c:2547
+#: eaarch64cloudabi.c:819 eaarch64cloudabib.c:819 eaarch64elf.c:819
+#: eaarch64elf32.c:819 eaarch64elf32b.c:819 eaarch64elfb.c:819
+#: eaarch64fbsd.c:819 eaarch64fbsdb.c:819 eaarch64linux.c:819
+#: eaarch64linux32.c:819 eaarch64linux32b.c:819 eaarch64linuxb.c:819
 #, c-format
 msgid "  --fix-cortex-a53-835769      Fix erratum 835769\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2541 eaarch64cloudabib.c:2541 eaarch64elf.c:2541
-#: eaarch64elf32.c:2541 eaarch64elf32b.c:2541 eaarch64elfb.c:2541
-#: eaarch64fbsd.c:2541 eaarch64fbsdb.c:2541 eaarch64linux.c:2548
-#: eaarch64linux32.c:2548 eaarch64linux32b.c:2548 eaarch64linuxb.c:2548
+#: eaarch64cloudabi.c:820 eaarch64cloudabib.c:820 eaarch64elf.c:820
+#: eaarch64elf32.c:820 eaarch64elf32b.c:820 eaarch64elfb.c:820
+#: eaarch64fbsd.c:820 eaarch64fbsdb.c:820 eaarch64linux.c:820
+#: eaarch64linux32.c:820 eaarch64linux32b.c:820 eaarch64linuxb.c:820
+#, c-format
+msgid ""
+"  --fix-cortex-a53-843419[=full|adr|adrp]      Fix erratum 843419 and "
+"optionally specify which workaround to use.\n"
+"                                               full (default): Use both ADRP "
+"and ADR workaround, this will \n"
+"                                                 increase the size of your "
+"binaries.\n"
+"                                               adr: Only use the ADR "
+"workaround, this will not cause any increase\n"
+"                                                 in binary size but linking "
+"will fail if the referenced address is\n"
+"                                                 out of range of an ADR "
+"instruction.  This will remove the need of using\n"
+"                                                 a veneer and results in "
+"both performance and size benefits.\n"
+"                                               adrp: Use only the ADRP "
+"workaround, this will never rewrite your ADRP\n"
+"                                                 instruction into an ADR.  "
+"As such the workaround will always use a\n"
+"                                                 veneer and this will give "
+"you both a performance and size overhead.\n"
+msgstr ""
+
+#: eaarch64cloudabi.c:831 eaarch64cloudabib.c:831 eaarch64elf.c:831
+#: eaarch64elf32.c:831 eaarch64elf32b.c:831 eaarch64elfb.c:831
+#: eaarch64fbsd.c:831 eaarch64fbsdb.c:831 eaarch64linux.c:831
+#: eaarch64linux32.c:831 eaarch64linux32b.c:831 eaarch64linuxb.c:831
 #, c-format
-msgid "  --fix-cortex-a53-843419      Fix erratum 843419\n"
+msgid ""
+"  --no-apply-dynamic-relocs    Do not apply link-time values for dynamic "
+"relocations\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:2542 eaarch64cloudabib.c:2542 eaarch64elf.c:2542
-#: eaarch64elf32.c:2542 eaarch64elf32b.c:2542 eaarch64elfb.c:2542
-#: eaarch64fbsd.c:2542 eaarch64fbsdb.c:2542 eaarch64linux.c:2549
-#: eaarch64linux32.c:2549 eaarch64linux32b.c:2549 eaarch64linuxb.c:2549
+#: eaarch64cloudabi.c:832 eaarch64cloudabib.c:832 eaarch64elf.c:832
+#: eaarch64elf32.c:832 eaarch64elf32b.c:832 eaarch64elfb.c:832
+#: eaarch64fbsd.c:832 eaarch64fbsdb.c:832 eaarch64linux.c:832
+#: eaarch64linux32.c:832 eaarch64linux32b.c:832 eaarch64linuxb.c:832
 #, c-format
 msgid ""
-"  --no-apply-dynamic-relocs    Do not apply link-time values for dynamic "
-"relocations\n"
+"  -z force-bti                  Turn on Branch Target Identification "
+"mechanism and generate PLTs with BTI. Generate warnings for missing BTI on "
+"inputs\n"
+msgstr ""
+
+#: eaarch64cloudabi.c:833 eaarch64cloudabib.c:833 eaarch64elf.c:833
+#: eaarch64elf32.c:833 eaarch64elf32b.c:833 eaarch64elfb.c:833
+#: eaarch64fbsd.c:833 eaarch64fbsdb.c:833 eaarch64linux.c:833
+#: eaarch64linux32.c:833 eaarch64linux32b.c:833 eaarch64linuxb.c:833
+#, c-format
+msgid ""
+"  -z pac-plt                    Protect PLTs with Pointer Authentication.\n"
 msgstr ""
 
-#: eaix5ppc.c:315 eaix5rs6.c:315 eaixppc.c:315 eaixrs6.c:315 eppcmacos.c:315
+#: eaix5ppc.c:317 eaix5rs6.c:317 eaixppc.c:317 eaixrs6.c:317 eppcmacos.c:317
 msgid "%F%P: cannot open %s\n"
 msgstr ""
 
-#: eaix5ppc.c:362 eaix5rs6.c:362 eaixppc.c:362 eaixrs6.c:362 eppcmacos.c:362
+#: eaix5ppc.c:364 eaix5rs6.c:364 eaixppc.c:364 eaixrs6.c:364 eppcmacos.c:364
 msgid "%F%P: cannot read %s\n"
 msgstr ""
 
-#: eaix5ppc.c:390 eaix5rs6.c:390 eaixppc.c:390 eaixrs6.c:390 eppcmacos.c:390
+#: eaix5ppc.c:392 eaix5rs6.c:392 eaixppc.c:392 eaixrs6.c:392 eppcmacos.c:392
 msgid "%P: warning: ignoring invalid -D number %s\n"
 msgstr ""
 
-#: eaix5ppc.c:398 eaix5rs6.c:398 eaixppc.c:398 eaixrs6.c:398 eppcmacos.c:398
+#: eaix5ppc.c:400 eaix5rs6.c:400 eaixppc.c:400 eaixrs6.c:400 eppcmacos.c:400
 msgid "%P: warning: ignoring invalid -H number %s\n"
 msgstr ""
 
-#: eaix5ppc.c:510 eaix5rs6.c:510 eaixppc.c:510 eaixrs6.c:510 eppcmacos.c:510
+#: eaix5ppc.c:512 eaix5rs6.c:512 eaixppc.c:512 eaixrs6.c:512 eppcmacos.c:512
 msgid "%P: warning: ignoring invalid -bmaxdata number %s\n"
 msgstr ""
 
-#: eaix5ppc.c:519 eaix5rs6.c:519 eaixppc.c:519 eaixrs6.c:519 eppcmacos.c:519
+#: eaix5ppc.c:521 eaix5rs6.c:521 eaixppc.c:521 eaixrs6.c:521 eppcmacos.c:521
 msgid "%P: warning: ignoring invalid -bmaxstack number %s\n"
 msgstr ""
 
-#: eaix5ppc.c:532 eaix5rs6.c:532 eaixppc.c:532 eaixrs6.c:532 eppcmacos.c:532
+#: eaix5ppc.c:534 eaix5rs6.c:534 eaixppc.c:534 eaixrs6.c:534 eppcmacos.c:534
 msgid "%P: warning: ignoring invalid module type %s\n"
 msgstr ""
 
-#: eaix5ppc.c:562 eaix5rs6.c:562 eaixppc.c:562 eaixrs6.c:562 eppcmacos.c:562
+#: eaix5ppc.c:564 eaix5rs6.c:564 eaixppc.c:564 eaixrs6.c:564 eppcmacos.c:564
 msgid "%P: warning: ignoring invalid -pD number %s\n"
 msgstr ""
 
-#: eaix5ppc.c:585 eaix5rs6.c:585 eaixppc.c:585 eaixrs6.c:585 eppcmacos.c:585
+#: eaix5ppc.c:587 eaix5rs6.c:587 eaixppc.c:587 eaixrs6.c:587 eppcmacos.c:587
 msgid "%P: warning: ignoring invalid -pT number %s\n"
 msgstr ""
 
-#: eaix5ppc.c:714 eaix5rs6.c:714 eaixppc.c:714 eaixrs6.c:714 eppcmacos.c:714
+#: eaix5ppc.c:716 eaix5rs6.c:716 eaixppc.c:716 eaixrs6.c:716 eppcmacos.c:716
 msgid "%F%P: bfd_xcoff_link_record_set failed: %E\n"
 msgstr ""
 
-#: eaix5ppc.c:744 eaix5rs6.c:744 eaixppc.c:744 eaixrs6.c:744 eppcmacos.c:744
+#: eaix5ppc.c:746 eaix5rs6.c:746 eaixppc.c:746 eaixrs6.c:746 eppcmacos.c:746
 msgid "%F%P: bfd_link_hash_lookup of export symbol failed: %E\n"
 msgstr ""
 
-#: eaix5ppc.c:746 eaix5rs6.c:746 eaixppc.c:746 eaixrs6.c:746 eppcmacos.c:746
+#: eaix5ppc.c:748 eaix5rs6.c:748 eaixppc.c:748 eaixrs6.c:748 eppcmacos.c:748
 msgid "%F%P: bfd_xcoff_export_symbol failed: %E\n"
 msgstr ""
 
-#: eaix5ppc.c:852 eaix5rs6.c:852 eaixppc.c:852 eaixrs6.c:852 eppcmacos.c:852
+#: eaix5ppc.c:854 eaix5rs6.c:854 eaixppc.c:854 eaixrs6.c:854 eppcmacos.c:854
 msgid "%F%P: can't find output section %s\n"
 msgstr ""
 
-#: eaix5ppc.c:889 eaix5rs6.c:889 eaixppc.c:889 eaixrs6.c:889 eppcmacos.c:889
+#: eaix5ppc.c:891 eaix5rs6.c:891 eaixppc.c:891 eaixrs6.c:891 eppcmacos.c:891
 msgid "%F%P: can't find %s in output section\n"
 msgstr ""
 
-#: eaix5ppc.c:957 eaix5rs6.c:957 eaixppc.c:957 eaixrs6.c:957 eppcmacos.c:957
+#: eaix5ppc.c:958 eaix5rs6.c:958 eaixppc.c:958 eaixrs6.c:958 eppcmacos.c:958
 msgid "%P: can't find required output section %s\n"
 msgstr ""
 
-#: eaix5ppc.c:1166 eaix5rs6.c:1166 eaixppc.c:1166 eaixrs6.c:1166
-#: eppcmacos.c:1166
+#: eaix5ppc.c:1167 eaix5rs6.c:1167 eaixppc.c:1167 eaixrs6.c:1167
+#: eppcmacos.c:1167
 msgid "%F%P:%s:%d: #! ([member]) is not supported in import files\n"
 msgstr ""
 
-#: eaix5ppc.c:1183 eaix5rs6.c:1183 eaixppc.c:1183 eaixrs6.c:1183
-#: eppcmacos.c:1183
+#: eaix5ppc.c:1184 eaix5rs6.c:1184 eaixppc.c:1184 eaixrs6.c:1184
+#: eppcmacos.c:1184
 msgid "%F%P: could not parse import path: %E\n"
 msgstr ""
 
-#: eaix5ppc.c:1193 eaix5ppc.c:1205 eaix5rs6.c:1193 eaix5rs6.c:1205
-#: eaixppc.c:1193 eaixppc.c:1205 eaixrs6.c:1193 eaixrs6.c:1205 eppcmacos.c:1193
-#: eppcmacos.c:1205
+#: eaix5ppc.c:1194 eaix5ppc.c:1206 eaix5rs6.c:1194 eaix5rs6.c:1206
+#: eaixppc.c:1194 eaixppc.c:1206 eaixrs6.c:1194 eaixrs6.c:1206 eppcmacos.c:1194
+#: eppcmacos.c:1206
 msgid "%P:%s:%d: warning: syntax error in import file\n"
 msgstr ""
 
-#: eaix5ppc.c:1240 eaix5rs6.c:1240 eaixppc.c:1240 eaixrs6.c:1240
-#: eppcmacos.c:1240
+#: eaix5ppc.c:1241 eaix5rs6.c:1241 eaixppc.c:1241 eaixrs6.c:1241
+#: eppcmacos.c:1241
 msgid "%P:%s%d: warning: syntax error in import/export file\n"
 msgstr ""
 
-#: eaix5ppc.c:1258 eaix5rs6.c:1258 eaixppc.c:1258 eaixrs6.c:1258
-#: eppcmacos.c:1258
+#: eaix5ppc.c:1259 eaix5rs6.c:1259 eaixppc.c:1259 eaixrs6.c:1259
+#: eppcmacos.c:1259
 msgid "%P:%s:%d: warning: syntax error in import/export file\n"
 msgstr ""
 
-#: eaix5ppc.c:1293 eaix5rs6.c:1293 eaixppc.c:1293 eaixrs6.c:1293
-#: eppcmacos.c:1293
+#: eaix5ppc.c:1294 eaix5rs6.c:1294 eaixppc.c:1294 eaixrs6.c:1294
+#: eppcmacos.c:1294
 msgid "%X%P:%s:%d: failed to import symbol %s: %E\n"
 msgstr ""
 
-#: eaix5ppc.c:1303 eaix5rs6.c:1303 eaixppc.c:1303 eaixrs6.c:1303
-#: eppcmacos.c:1303
+#: eaix5ppc.c:1304 eaix5rs6.c:1304 eaixppc.c:1304 eaixrs6.c:1304
+#: eppcmacos.c:1304
 msgid "%P:%s:%d: warning: ignoring unterminated last line\n"
 msgstr ""
 
-#: eaix5ppc.c:1338 eaix5rs6.c:1338 eaixppc.c:1338 eaixrs6.c:1338
-#: eppcmacos.c:1338
+#: eaix5ppc.c:1339 eaix5rs6.c:1339 eaixppc.c:1339 eaixrs6.c:1339
+#: eppcmacos.c:1339
 msgid "%F%P: only relocations against symbols are permitted\n"
 msgstr ""
 
-#: eaix5ppc.c:1341 eaix5rs6.c:1341 eaixppc.c:1341 eaixrs6.c:1341
-#: eppcmacos.c:1341
+#: eaix5ppc.c:1342 eaix5rs6.c:1342 eaixppc.c:1342 eaixrs6.c:1342
+#: eppcmacos.c:1342
 msgid "%F%P: bfd_xcoff_link_count_reloc failed: %E\n"
 msgstr ""
 
-#: ealphavms.c:166 eelf64_ia64_vms.c:166
+#: ealphavms.c:167 eelf64_ia64_vms.c:167
 #, c-format
 msgid ""
 "  --identification <string>          Set the identification of the output\n"
 msgstr ""
 
 #: earm_wince_pe.c:376 earmpe.c:376 ei386pe.c:376 ei386pe_posix.c:376
-#: ei386pep.c:358 emcorepe.c:376 eppcpe.c:376 eshpe.c:376
+#: ei386pep.c:359 emcorepe.c:376 eppcpe.c:376 eshpe.c:376
 #, c-format
 msgid ""
 "  --base_file <basefile>             Generate a base file for relocatable "
@@ -5182,46 +3444,46 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:377 earmpe.c:377 ei386pe.c:377 ei386pe_posix.c:377
-#: ei386pep.c:359 emcorepe.c:377 eppcpe.c:377 eshpe.c:377
+#: ei386pep.c:360 emcorepe.c:377 eppcpe.c:377 eshpe.c:377
 #, c-format
 msgid ""
 "  --dll                              Set image base to the default for DLLs\n"
 msgstr ""
 
 #: earm_wince_pe.c:378 earmpe.c:378 ei386pe.c:378 ei386pe_posix.c:378
-#: ei386pep.c:360 emcorepe.c:378 eppcpe.c:378 eshpe.c:378
+#: ei386pep.c:361 emcorepe.c:378 eppcpe.c:378 eshpe.c:378
 #, c-format
 msgid "  --file-alignment <size>            Set file alignment\n"
 msgstr ""
 
 #: earm_wince_pe.c:379 earmpe.c:379 ei386pe.c:379 ei386pe_posix.c:379
-#: ei386pep.c:361 emcorepe.c:379 eppcpe.c:379 eshpe.c:379
+#: ei386pep.c:362 emcorepe.c:379 eppcpe.c:379 eshpe.c:379
 #, c-format
 msgid "  --heap <size>                      Set initial size of the heap\n"
 msgstr ""
 
 #: earm_wince_pe.c:380 earmpe.c:380 ei386pe.c:380 ei386pe_posix.c:380
-#: ei386pep.c:362 emcorepe.c:380 eppcpe.c:380 eshpe.c:380
+#: ei386pep.c:363 emcorepe.c:380 eppcpe.c:380 eshpe.c:380
 #, c-format
 msgid ""
 "  --image-base <address>             Set start address of the executable\n"
 msgstr ""
 
 #: earm_wince_pe.c:381 earmpe.c:381 ei386pe.c:381 ei386pe_posix.c:381
-#: ei386pep.c:363 emcorepe.c:381 eppcpe.c:381 eshpe.c:381
+#: ei386pep.c:364 emcorepe.c:381 eppcpe.c:381 eshpe.c:381
 #, c-format
 msgid ""
 "  --major-image-version <number>     Set version number of the executable\n"
 msgstr ""
 
 #: earm_wince_pe.c:382 earmpe.c:382 ei386pe.c:382 ei386pe_posix.c:382
-#: ei386pep.c:364 emcorepe.c:382 eppcpe.c:382 eshpe.c:382
+#: ei386pep.c:365 emcorepe.c:382 eppcpe.c:382 eshpe.c:382
 #, c-format
 msgid "  --major-os-version <number>        Set minimum required OS version\n"
 msgstr ""
 
 #: earm_wince_pe.c:383 earmpe.c:383 ei386pe.c:383 ei386pe_posix.c:383
-#: ei386pep.c:365 emcorepe.c:383 eppcpe.c:383 eshpe.c:383
+#: ei386pep.c:366 emcorepe.c:383 eppcpe.c:383 eshpe.c:383
 #, c-format
 msgid ""
 "  --major-subsystem-version <number> Set minimum required OS subsystem "
@@ -5229,20 +3491,20 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:384 earmpe.c:384 ei386pe.c:384 ei386pe_posix.c:384
-#: ei386pep.c:366 emcorepe.c:384 eppcpe.c:384 eshpe.c:384
+#: ei386pep.c:367 emcorepe.c:384 eppcpe.c:384 eshpe.c:384
 #, c-format
 msgid ""
 "  --minor-image-version <number>     Set revision number of the executable\n"
 msgstr ""
 
 #: earm_wince_pe.c:385 earmpe.c:385 ei386pe.c:385 ei386pe_posix.c:385
-#: ei386pep.c:367 emcorepe.c:385 eppcpe.c:385 eshpe.c:385
+#: ei386pep.c:368 emcorepe.c:385 eppcpe.c:385 eshpe.c:385
 #, c-format
 msgid "  --minor-os-version <number>        Set minimum required OS revision\n"
 msgstr ""
 
 #: earm_wince_pe.c:386 earmpe.c:386 ei386pe.c:386 ei386pe_posix.c:386
-#: ei386pep.c:368 emcorepe.c:386 eppcpe.c:386 eshpe.c:386
+#: ei386pep.c:369 emcorepe.c:386 eppcpe.c:386 eshpe.c:386
 #, c-format
 msgid ""
 "  --minor-subsystem-version <number> Set minimum required OS subsystem "
@@ -5250,33 +3512,33 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:387 earmpe.c:387 ei386pe.c:387 ei386pe_posix.c:387
-#: ei386pep.c:369 emcorepe.c:387 eppcpe.c:387 eshpe.c:387
+#: ei386pep.c:370 emcorepe.c:387 eppcpe.c:387 eshpe.c:387
 #, c-format
 msgid "  --section-alignment <size>         Set section alignment\n"
 msgstr ""
 
 #: earm_wince_pe.c:388 earmpe.c:388 ei386pe.c:388 ei386pe_posix.c:388
-#: ei386pep.c:370 emcorepe.c:388 eppcpe.c:388 eshpe.c:388
+#: ei386pep.c:371 emcorepe.c:388 eppcpe.c:388 eshpe.c:388
 #, c-format
 msgid "  --stack <size>                     Set size of the initial stack\n"
 msgstr ""
 
 #: earm_wince_pe.c:389 earmpe.c:389 ei386pe.c:389 ei386pe_posix.c:389
-#: ei386pep.c:371 emcorepe.c:389 eppcpe.c:389 eshpe.c:389
+#: ei386pep.c:372 emcorepe.c:389 eppcpe.c:389 eshpe.c:389
 #, c-format
 msgid ""
 "  --subsystem <name>[:<version>]     Set required OS subsystem [& version]\n"
 msgstr ""
 
 #: earm_wince_pe.c:390 earmpe.c:390 ei386pe.c:390 ei386pe_posix.c:390
-#: ei386pep.c:372 emcorepe.c:390 eppcpe.c:390 eshpe.c:390
+#: ei386pep.c:373 emcorepe.c:390 eppcpe.c:390 eshpe.c:390
 #, c-format
 msgid ""
 "  --support-old-code                 Support interworking with old code\n"
 msgstr ""
 
 #: earm_wince_pe.c:391 earmpe.c:391 ei386pe.c:391 ei386pe_posix.c:391
-#: ei386pep.c:373 emcorepe.c:391 eppcpe.c:391 eshpe.c:391
+#: ei386pep.c:374 emcorepe.c:391 eppcpe.c:391 eshpe.c:391
 #, c-format
 msgid ""
 "  --[no-]leading-underscore          Set explicit symbol underscore prefix "
@@ -5300,41 +3562,41 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:394 earmpe.c:394 ei386pe.c:394 ei386pe_posix.c:394
-#: ei386pep.c:375 emcorepe.c:394 eppcpe.c:394 eshpe.c:394
+#: ei386pep.c:376 emcorepe.c:394 eppcpe.c:394 eshpe.c:394
 #, c-format
 msgid ""
 "                                     This makes binaries non-deterministic\n"
 msgstr ""
 
 #: earm_wince_pe.c:396 earmpe.c:396 ei386pe.c:396 ei386pe_posix.c:396
-#: ei386pep.c:377 emcorepe.c:396 eppcpe.c:396 eshpe.c:396
+#: ei386pep.c:378 emcorepe.c:396 eppcpe.c:396 eshpe.c:396
 #, c-format
 msgid ""
 "  --add-stdcall-alias                Export symbols with and without @nn\n"
 msgstr ""
 
 #: earm_wince_pe.c:397 earmpe.c:397 ei386pe.c:397 ei386pe_posix.c:397
-#: ei386pep.c:378 emcorepe.c:397 eppcpe.c:397 eshpe.c:397
+#: ei386pep.c:379 emcorepe.c:397 eppcpe.c:397 eshpe.c:397
 #, c-format
 msgid "  --disable-stdcall-fixup            Don't link _sym to _sym@nn\n"
 msgstr ""
 
 #: earm_wince_pe.c:398 earmpe.c:398 ei386pe.c:398 ei386pe_posix.c:398
-#: ei386pep.c:379 emcorepe.c:398 eppcpe.c:398 eshpe.c:398
+#: ei386pep.c:380 emcorepe.c:398 eppcpe.c:398 eshpe.c:398
 #, c-format
 msgid ""
 "  --enable-stdcall-fixup             Link _sym to _sym@nn without warnings\n"
 msgstr ""
 
 #: earm_wince_pe.c:399 earmpe.c:399 ei386pe.c:399 ei386pe_posix.c:399
-#: ei386pep.c:380 emcorepe.c:399 eppcpe.c:399 eshpe.c:399
+#: ei386pep.c:381 emcorepe.c:399 eppcpe.c:399 eshpe.c:399
 #, c-format
 msgid ""
 "  --exclude-symbols sym,sym,...      Exclude symbols from automatic export\n"
 msgstr ""
 
 #: earm_wince_pe.c:400 earmpe.c:400 ei386pe.c:400 ei386pe_posix.c:400
-#: ei386pep.c:381 emcorepe.c:400 eppcpe.c:400 eshpe.c:400
+#: ei386pep.c:382 emcorepe.c:400 eppcpe.c:400 eshpe.c:400
 #, c-format
 msgid ""
 "  --exclude-all-symbols              Exclude all symbols from automatic "
@@ -5342,7 +3604,7 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:401 earmpe.c:401 ei386pe.c:401 ei386pe_posix.c:401
-#: ei386pep.c:382 emcorepe.c:401 eppcpe.c:401 eshpe.c:401
+#: ei386pep.c:383 emcorepe.c:401 eppcpe.c:401 eshpe.c:401
 #, c-format
 msgid ""
 "  --exclude-libs lib,lib,...         Exclude libraries from automatic "
@@ -5350,13 +3612,13 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:402 earmpe.c:402 ei386pe.c:402 ei386pe_posix.c:402
-#: ei386pep.c:383 emcorepe.c:402 eppcpe.c:402 eshpe.c:402
+#: ei386pep.c:384 emcorepe.c:402 eppcpe.c:402 eshpe.c:402
 #, c-format
 msgid "  --exclude-modules-for-implib mod,mod,...\n"
 msgstr ""
 
 #: earm_wince_pe.c:403 earmpe.c:403 ei386pe.c:403 ei386pe_posix.c:403
-#: ei386pep.c:384 emcorepe.c:403 eppcpe.c:403 eshpe.c:403
+#: ei386pep.c:385 emcorepe.c:403 eppcpe.c:403 eshpe.c:403
 #, c-format
 msgid ""
 "                                     Exclude objects, archive members from "
@@ -5372,7 +3634,7 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:405 earmpe.c:405 ei386pe.c:405 ei386pe_posix.c:405
-#: ei386pep.c:386 emcorepe.c:405 eppcpe.c:405 eshpe.c:405
+#: ei386pep.c:387 emcorepe.c:405 eppcpe.c:405 eshpe.c:405
 #, c-format
 msgid ""
 "  --export-all-symbols               Automatically export all globals to "
@@ -5380,20 +3642,20 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:406 earmpe.c:406 ei386pe.c:406 ei386pe_posix.c:406
-#: ei386pep.c:387 emcorepe.c:406 eppcpe.c:406 eshpe.c:406
+#: ei386pep.c:388 emcorepe.c:406 eppcpe.c:406 eshpe.c:406
 #, c-format
 msgid "  --kill-at                          Remove @nn from exported symbols\n"
 msgstr ""
 
 #: earm_wince_pe.c:407 earmpe.c:407 ei386pe.c:407 ei386pe_posix.c:407
-#: ei386pep.c:388 emcorepe.c:407 eppcpe.c:407 eshpe.c:407
+#: ei386pep.c:389 emcorepe.c:407 eppcpe.c:407 eshpe.c:407
 #, c-format
 msgid ""
 "  --output-def <file>                Generate a .DEF file for the built DLL\n"
 msgstr ""
 
 #: earm_wince_pe.c:408 earmpe.c:408 ei386pe.c:408 ei386pe_posix.c:408
-#: ei386pep.c:389 emcorepe.c:408 eppcpe.c:408 eshpe.c:408
+#: ei386pep.c:390 emcorepe.c:408 eppcpe.c:408 eshpe.c:408
 #, c-format
 msgid "  --warn-duplicate-exports           Warn about duplicate exports\n"
 msgstr ""
@@ -5427,7 +3689,7 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:412 earmpe.c:412 ei386pe.c:412 ei386pe_posix.c:412
-#: ei386pep.c:393 emcorepe.c:412 eppcpe.c:412 eshpe.c:412
+#: ei386pep.c:394 emcorepe.c:412 eppcpe.c:412 eshpe.c:412
 #, c-format
 msgid ""
 "  --dll-search-prefix=<string>       When linking dynamically to a dll "
@@ -5438,7 +3700,7 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:413 earmpe.c:413 ei386pe.c:413 ei386pe_posix.c:413
-#: ei386pep.c:394 emcorepe.c:413 eppcpe.c:413 eshpe.c:413
+#: ei386pep.c:395 emcorepe.c:413 eppcpe.c:413 eshpe.c:413
 #, c-format
 msgid ""
 "  --enable-auto-import               Do sophisticated linking of _sym to\n"
@@ -5446,7 +3708,7 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:414 earmpe.c:414 ei386pe.c:414 ei386pe_posix.c:414
-#: ei386pep.c:395 emcorepe.c:414 eppcpe.c:414 eshpe.c:414
+#: ei386pep.c:396 emcorepe.c:414 eppcpe.c:414 eshpe.c:414
 #, c-format
 msgid ""
 "  --disable-auto-import              Do not auto-import DATA items from "
@@ -5499,7 +3761,7 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:421 earmpe.c:421 ei386pe.c:421 ei386pe_posix.c:421
-#: ei386pep.c:399 emcorepe.c:421 eppcpe.c:421 eshpe.c:421
+#: ei386pep.c:400 emcorepe.c:421 eppcpe.c:421 eshpe.c:421
 #, c-format
 msgid ""
 "  --enable-long-section-names        Use long COFF section names even in\n"
@@ -5507,7 +3769,7 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:422 earmpe.c:422 ei386pe.c:422 ei386pe_posix.c:422
-#: ei386pep.c:400 emcorepe.c:422 eppcpe.c:422 eshpe.c:422
+#: ei386pep.c:401 emcorepe.c:422 eppcpe.c:422 eshpe.c:422
 #, c-format
 msgid ""
 "  --disable-long-section-names       Never use long COFF section names, "
@@ -5516,7 +3778,7 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:423 earmpe.c:423 ei386pe.c:423 ei386pe_posix.c:423
-#: ei386pep.c:402 emcorepe.c:423 eppcpe.c:423 eshpe.c:423
+#: ei386pep.c:403 emcorepe.c:423 eppcpe.c:423 eshpe.c:423
 #, c-format
 msgid ""
 "  --dynamicbase                      Image base address may be relocated "
@@ -5526,13 +3788,13 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:424 earmpe.c:424 ei386pe.c:424 ei386pe_posix.c:424
-#: ei386pep.c:403 emcorepe.c:424 eppcpe.c:424 eshpe.c:424
+#: ei386pep.c:404 emcorepe.c:424 eppcpe.c:424 eshpe.c:424
 #, c-format
 msgid "  --forceinteg               Code integrity checks are enforced\n"
 msgstr ""
 
 #: earm_wince_pe.c:425 earmpe.c:425 ei386pe.c:425 ei386pe_posix.c:425
-#: ei386pep.c:404 emcorepe.c:425 eppcpe.c:425 eshpe.c:425
+#: ei386pep.c:405 emcorepe.c:425 eppcpe.c:425 eshpe.c:425
 #, c-format
 msgid ""
 "  --nxcompat                 Image is compatible with data execution "
@@ -5540,7 +3802,7 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:426 earmpe.c:426 ei386pe.c:426 ei386pe_posix.c:426
-#: ei386pep.c:405 emcorepe.c:426 eppcpe.c:426 eshpe.c:426
+#: ei386pep.c:406 emcorepe.c:426 eppcpe.c:426 eshpe.c:426
 #, c-format
 msgid ""
 "  --no-isolation             Image understands isolation but do not isolate "
@@ -5556,57 +3818,57 @@ msgid ""
 msgstr ""
 
 #: earm_wince_pe.c:428 earmpe.c:428 ei386pe.c:428 ei386pe_posix.c:428
-#: ei386pep.c:407 emcorepe.c:428 eppcpe.c:428 eshpe.c:428
+#: ei386pep.c:408 emcorepe.c:428 eppcpe.c:428 eshpe.c:428
 #, c-format
 msgid "  --no-bind                  Do not bind this image\n"
 msgstr ""
 
 #: earm_wince_pe.c:429 earmpe.c:429 ei386pe.c:429 ei386pe_posix.c:429
-#: ei386pep.c:408 emcorepe.c:429 eppcpe.c:429 eshpe.c:429
+#: ei386pep.c:409 emcorepe.c:429 eppcpe.c:429 eshpe.c:429
 #, c-format
 msgid "  --wdmdriver                Driver uses the WDM model\n"
 msgstr ""
 
 #: earm_wince_pe.c:430 earmpe.c:430 ei386pe.c:430 ei386pe_posix.c:430
-#: ei386pep.c:409 emcorepe.c:430 eppcpe.c:430 eshpe.c:430
+#: ei386pep.c:410 emcorepe.c:430 eppcpe.c:430 eshpe.c:430
 #, c-format
 msgid "  --tsaware                  Image is Terminal Server aware\n"
 msgstr ""
 
 #: earm_wince_pe.c:431 earmpe.c:431 ei386pe.c:431 ei386pe_posix.c:431
-#: ei386pep.c:410 emcorepe.c:431 eppcpe.c:431 eshpe.c:431
+#: ei386pep.c:411 emcorepe.c:431 eppcpe.c:431 eshpe.c:431
 #, c-format
 msgid "  --build-id[=STYLE]         Generate build ID\n"
 msgstr ""
 
-#: earm_wince_pe.c:559 earmpe.c:559 ei386beos.c:204 ei386pe.c:559
-#: ei386pe_posix.c:559 ei386pep.c:535 emcorepe.c:559 eppcpe.c:559 eshpe.c:559
+#: earm_wince_pe.c:559 earmpe.c:559 ei386beos.c:205 ei386pe.c:559
+#: ei386pe_posix.c:559 ei386pep.c:536 emcorepe.c:559 eppcpe.c:559 eshpe.c:559
 msgid "%P: warning: bad version number in -subsystem option\n"
 msgstr ""
 
-#: earm_wince_pe.c:584 earmpe.c:584 ei386beos.c:221 ei386pe.c:584
-#: ei386pe_posix.c:584 ei386pep.c:560 emcorepe.c:584 eppcpe.c:584 eshpe.c:584
+#: earm_wince_pe.c:584 earmpe.c:584 ei386beos.c:222 ei386pe.c:584
+#: ei386pe_posix.c:584 ei386pep.c:561 emcorepe.c:584 eppcpe.c:584 eshpe.c:584
 msgid "%F%P: invalid subsystem type %s\n"
 msgstr ""
 
-#: earm_wince_pe.c:605 earmpe.c:605 ei386beos.c:232 ei386pe.c:605
-#: ei386pe_posix.c:605 ei386pep.c:581 emcorepe.c:605 eppcpe.c:605 eshpe.c:605
+#: earm_wince_pe.c:605 earmpe.c:605 ei386beos.c:233 ei386pe.c:605
+#: ei386pe_posix.c:605 ei386pep.c:582 emcorepe.c:605 eppcpe.c:605 eshpe.c:605
 msgid "%F%P: invalid hex number for PE parameter '%s'\n"
 msgstr ""
 
-#: earm_wince_pe.c:622 earmpe.c:622 ei386beos.c:249 ei386pe.c:622
-#: ei386pe_posix.c:622 ei386pep.c:598 emcorepe.c:622 eppcpe.c:622 eshpe.c:622
+#: earm_wince_pe.c:622 earmpe.c:622 ei386beos.c:250 ei386pe.c:622
+#: ei386pe_posix.c:622 ei386pep.c:599 emcorepe.c:622 eppcpe.c:622 eshpe.c:622
 msgid "%F%P: strange hex info for PE parameter '%s'\n"
 msgstr ""
 
-#: earm_wince_pe.c:638 earmpe.c:638 eelf32mcore.c:2002 ei386beos.c:265
-#: ei386pe.c:638 ei386pe_posix.c:638 ei386pep.c:615 emcorepe.c:638 eppcpe.c:638
+#: earm_wince_pe.c:638 earmpe.c:638 eelf32mcore.c:271 ei386beos.c:266
+#: ei386pe.c:638 ei386pe_posix.c:638 ei386pep.c:616 emcorepe.c:638 eppcpe.c:638
 #: eshpe.c:638
 msgid "%F%P: cannot open base file %s\n"
 msgstr ""
 
-#: earm_wince_pe.c:934 earmpe.c:934 ei386beos.c:361 ei386pe.c:934
-#: ei386pe_posix.c:934 ei386pep.c:895 emcorepe.c:934 eppcpe.c:934 eshpe.c:934
+#: earm_wince_pe.c:934 earmpe.c:934 ei386beos.c:362 ei386pe.c:934
+#: ei386pe_posix.c:934 ei386pep.c:896 emcorepe.c:934 eppcpe.c:934 eshpe.c:934
 msgid "%P: warning, file alignment > section alignment\n"
 msgstr ""
 
@@ -5623,255 +3885,255 @@ msgid "%P: warning: resolving %s by linking to %s\n"
 msgstr ""
 
 #: earm_wince_pe.c:997 earmpe.c:997 ei386pe.c:997 ei386pe_posix.c:997
-#: ei386pep.c:981 ei386pep.c:1008 emcorepe.c:997 eppcpe.c:997 eshpe.c:997
+#: ei386pep.c:982 ei386pep.c:1009 emcorepe.c:997 eppcpe.c:997 eshpe.c:997
 msgid "Use --enable-stdcall-fixup to disable these warnings\n"
 msgstr ""
 
 #: earm_wince_pe.c:998 earmpe.c:998 ei386pe.c:998 ei386pe_posix.c:998
-#: ei386pep.c:982 ei386pep.c:1009 emcorepe.c:998 eppcpe.c:998 eshpe.c:998
+#: ei386pep.c:983 ei386pep.c:1010 emcorepe.c:998 eppcpe.c:998 eshpe.c:998
 msgid "Use --disable-stdcall-fixup to disable these fixups\n"
 msgstr ""
 
 #: earm_wince_pe.c:1067 earmpe.c:1067 ei386pe.c:1067 ei386pe_posix.c:1067
-#: ei386pep.c:1060 emcorepe.c:1067 eppcpe.c:1067 eshpe.c:1067
+#: ei386pep.c:1061 emcorepe.c:1067 eppcpe.c:1067 eshpe.c:1067
 msgid "%P: %C: cannot get section contents - auto-import exception\n"
 msgstr ""
 
 #: earm_wince_pe.c:1152 earmpe.c:1152 ei386pe.c:1152 ei386pe_posix.c:1152
-#: ei386pep.c:1154 emcorepe.c:1152 eppcpe.c:1152 eshpe.c:1152
+#: ei386pep.c:1155 emcorepe.c:1152 eppcpe.c:1152 eshpe.c:1152
 msgid "%P: warning: .buildid section discarded, --build-id ignored\n"
 msgstr ""
 
 #: earm_wince_pe.c:1249 earmpe.c:1249 ei386pe.c:1249 ei386pe_posix.c:1249
-#: ei386pep.c:1251 emcorepe.c:1249 eppcpe.c:1249 eshpe.c:1249
+#: ei386pep.c:1252 emcorepe.c:1249 eppcpe.c:1249 eshpe.c:1249
 msgid "%P: warning: cannot create .buildid section, --build-id ignored\n"
 msgstr ""
 
-#: earm_wince_pe.c:1302 earmpe.c:1302 ei386pe.c:1302 ei386pe_posix.c:1302
-#: ei386pep.c:1305 emcorepe.c:1302 eppcpe.c:1302 eshpe.c:1302
+#: earm_wince_pe.c:1303 earmpe.c:1303 ei386pe.c:1303 ei386pe_posix.c:1303
+#: ei386pep.c:1307 emcorepe.c:1303 eppcpe.c:1303 eshpe.c:1303
 msgid "%F%P: cannot perform PE operations on non PE output file '%pB'\n"
 msgstr ""
 
-#: earm_wince_pe.c:1442 earmpe.c:1442 ei386pe.c:1442 ei386pe_posix.c:1442
-#: ei386pep.c:1426 emcorepe.c:1442 eppcpe.c:1442 eshpe.c:1442
+#: earm_wince_pe.c:1443 earmpe.c:1443 ei386pe.c:1443 ei386pe_posix.c:1443
+#: ei386pep.c:1428 emcorepe.c:1443 eppcpe.c:1443 eshpe.c:1443
 msgid "%X%P: unable to process relocs: %E\n"
 msgstr ""
 
-#: earm_wince_pe.c:1680 earmelf.c:190 earmelf_fbsd.c:190 earmelf_fuchsia.c:190
-#: earmelf_linux.c:190 earmelf_linux_eabi.c:190 earmelf_linux_fdpiceabi.c:190
-#: earmelf_nacl.c:190 earmelf_nbsd.c:190 earmelf_phoenix.c:190
-#: earmelf_vxworks.c:190 earmelfb.c:190 earmelfb_fbsd.c:190
-#: earmelfb_fuchsia.c:190 earmelfb_linux.c:190 earmelfb_linux_eabi.c:190
-#: earmelfb_linux_fdpiceabi.c:190 earmelfb_nacl.c:190 earmelfb_nbsd.c:190
-#: earmnto.c:190 earmpe.c:1680 earmsymbian.c:190 ei386beos.c:613
-#: ei386beos.c:634 ei386pe.c:1680 ei386pe_posix.c:1680 emcorepe.c:1680
-#: eppcpe.c:1680 eshpe.c:1680
+#: earm_wince_pe.c:1681 earmelf.c:139 earmelf_fbsd.c:139 earmelf_fuchsia.c:139
+#: earmelf_linux.c:139 earmelf_linux_eabi.c:139 earmelf_linux_fdpiceabi.c:139
+#: earmelf_nacl.c:139 earmelf_nbsd.c:139 earmelf_phoenix.c:139
+#: earmelf_vxworks.c:139 earmelfb.c:139 earmelfb_fbsd.c:139
+#: earmelfb_fuchsia.c:139 earmelfb_linux.c:139 earmelfb_linux_eabi.c:139
+#: earmelfb_linux_fdpiceabi.c:139 earmelfb_nacl.c:139 earmelfb_nbsd.c:139
+#: earmnto.c:139 earmpe.c:1681 earmsymbian.c:139 ei386beos.c:609
+#: ei386beos.c:630 ei386pe.c:1681 ei386pe_posix.c:1681 emcorepe.c:1681
+#: eppcpe.c:1681 eshpe.c:1681
 #, c-format
 msgid "%P: errors encountered processing file %s\n"
 msgstr ""
 
-#: earm_wince_pe.c:1703 earmpe.c:1703 ei386pe.c:1703 ei386pe_posix.c:1703
-#: emcorepe.c:1703 eppcpe.c:1703 eshpe.c:1703
+#: earm_wince_pe.c:1704 earmpe.c:1704 ei386pe.c:1704 ei386pe_posix.c:1704
+#: emcorepe.c:1704 eppcpe.c:1704 eshpe.c:1704
 #, c-format
 msgid "%P: errors encountered processing file %s for interworking\n"
 msgstr ""
 
-#: earm_wince_pe.c:1871 earmelf.c:572 earmelf_fbsd.c:572 earmelf_fuchsia.c:572
-#: earmelf_linux.c:572 earmelf_linux_eabi.c:572 earmelf_linux_fdpiceabi.c:572
-#: earmelf_nacl.c:572 earmelf_nbsd.c:572 earmelf_phoenix.c:572
-#: earmelf_vxworks.c:572 earmelfb.c:572 earmelfb_fbsd.c:572
-#: earmelfb_fuchsia.c:572 earmelfb_linux.c:572 earmelfb_linux_eabi.c:572
-#: earmelfb_linux_fdpiceabi.c:572 earmelfb_nacl.c:572 earmelfb_nbsd.c:572
-#: earmnto.c:572 earmpe.c:1871 earmsymbian.c:572 ei386pe.c:1871
+#: earm_wince_pe.c:1871 earmelf.c:520 earmelf_fbsd.c:520 earmelf_fuchsia.c:520
+#: earmelf_linux.c:520 earmelf_linux_eabi.c:520 earmelf_linux_fdpiceabi.c:520
+#: earmelf_nacl.c:520 earmelf_nbsd.c:520 earmelf_phoenix.c:520
+#: earmelf_vxworks.c:520 earmelfb.c:520 earmelfb_fbsd.c:520
+#: earmelfb_fuchsia.c:520 earmelfb_linux.c:520 earmelfb_linux_eabi.c:520
+#: earmelfb_linux_fdpiceabi.c:520 earmelfb_nacl.c:520 earmelfb_nbsd.c:520
+#: earmnto.c:520 earmpe.c:1871 earmsymbian.c:520 ei386pe.c:1871
 #: ei386pe_posix.c:1871 emcorepe.c:1871 eppcpe.c:1871 eshpe.c:1871
 msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
 msgstr ""
 
-#: earm_wince_pe.c:1876 earmelf.c:577 earmelf_fbsd.c:577 earmelf_fuchsia.c:577
-#: earmelf_linux.c:577 earmelf_linux_eabi.c:577 earmelf_linux_fdpiceabi.c:577
-#: earmelf_nacl.c:577 earmelf_nbsd.c:577 earmelf_phoenix.c:577
-#: earmelf_vxworks.c:577 earmelfb.c:577 earmelfb_fbsd.c:577
-#: earmelfb_fuchsia.c:577 earmelfb_linux.c:577 earmelfb_linux_eabi.c:577
-#: earmelfb_linux_fdpiceabi.c:577 earmelfb_nacl.c:577 earmelfb_nbsd.c:577
-#: earmnto.c:577 earmpe.c:1876 earmsymbian.c:577 ei386pe.c:1876
+#: earm_wince_pe.c:1876 earmelf.c:525 earmelf_fbsd.c:525 earmelf_fuchsia.c:525
+#: earmelf_linux.c:525 earmelf_linux_eabi.c:525 earmelf_linux_fdpiceabi.c:525
+#: earmelf_nacl.c:525 earmelf_nbsd.c:525 earmelf_phoenix.c:525
+#: earmelf_vxworks.c:525 earmelfb.c:525 earmelfb_fbsd.c:525
+#: earmelfb_fuchsia.c:525 earmelfb_linux.c:525 earmelfb_linux_eabi.c:525
+#: earmelfb_linux_fdpiceabi.c:525 earmelfb_nacl.c:525 earmelfb_nbsd.c:525
+#: earmnto.c:525 earmpe.c:1876 earmsymbian.c:525 ei386pe.c:1876
 #: ei386pe_posix.c:1876 emcorepe.c:1876 eppcpe.c:1876 eshpe.c:1876
 msgid "%P: warning: cannot find thumb start symbol %s\n"
 msgstr ""
 
-#: earmelf.c:603 earmelf_fbsd.c:603 earmelf_fuchsia.c:603 earmelf_linux.c:603
-#: earmelf_linux_eabi.c:603 earmelf_linux_fdpiceabi.c:603 earmelf_nacl.c:603
-#: earmelf_nbsd.c:603 earmelf_phoenix.c:603 earmelf_vxworks.c:603
-#: earmelfb.c:603 earmelfb_fbsd.c:603 earmelfb_fuchsia.c:603
-#: earmelfb_linux.c:603 earmelfb_linux_eabi.c:603
-#: earmelfb_linux_fdpiceabi.c:603 earmelfb_nacl.c:603 earmelfb_nbsd.c:603
-#: earmnto.c:603 earmsymbian.c:603
+#: earmelf.c:551 earmelf_fbsd.c:551 earmelf_fuchsia.c:551 earmelf_linux.c:551
+#: earmelf_linux_eabi.c:551 earmelf_linux_fdpiceabi.c:551 earmelf_nacl.c:551
+#: earmelf_nbsd.c:551 earmelf_phoenix.c:551 earmelf_vxworks.c:551
+#: earmelfb.c:551 earmelfb_fbsd.c:551 earmelfb_fuchsia.c:551
+#: earmelfb_linux.c:551 earmelfb_linux_eabi.c:551
+#: earmelfb_linux_fdpiceabi.c:551 earmelfb_nacl.c:551 earmelfb_nbsd.c:551
+#: earmnto.c:551 earmsymbian.c:551
 msgid "%F%P: %s: can't open: %E\n"
 msgstr ""
 
-#: earmelf.c:606 earmelf_fbsd.c:606 earmelf_fuchsia.c:606 earmelf_linux.c:606
-#: earmelf_linux_eabi.c:606 earmelf_linux_fdpiceabi.c:606 earmelf_nacl.c:606
-#: earmelf_nbsd.c:606 earmelf_phoenix.c:606 earmelf_vxworks.c:606
-#: earmelfb.c:606 earmelfb_fbsd.c:606 earmelfb_fuchsia.c:606
-#: earmelfb_linux.c:606 earmelfb_linux_eabi.c:606
-#: earmelfb_linux_fdpiceabi.c:606 earmelfb_nacl.c:606 earmelfb_nbsd.c:606
-#: earmnto.c:606 earmsymbian.c:606
+#: earmelf.c:554 earmelf_fbsd.c:554 earmelf_fuchsia.c:554 earmelf_linux.c:554
+#: earmelf_linux_eabi.c:554 earmelf_linux_fdpiceabi.c:554 earmelf_nacl.c:554
+#: earmelf_nbsd.c:554 earmelf_phoenix.c:554 earmelf_vxworks.c:554
+#: earmelfb.c:554 earmelfb_fbsd.c:554 earmelfb_fuchsia.c:554
+#: earmelfb_linux.c:554 earmelfb_linux_eabi.c:554
+#: earmelfb_linux_fdpiceabi.c:554 earmelfb_nacl.c:554 earmelfb_nbsd.c:554
+#: earmnto.c:554 earmsymbian.c:554
 msgid "%F%P: %s: not a relocatable file: %E\n"
 msgstr ""
 
-#: earmelf.c:2772 earmelf_fbsd.c:2779 earmelf_fuchsia.c:2772
-#: earmelf_linux.c:2772 earmelf_linux_eabi.c:2772
-#: earmelf_linux_fdpiceabi.c:2772 earmelf_nacl.c:2772 earmelf_nbsd.c:2772
-#: earmelf_phoenix.c:2772 earmelf_vxworks.c:2808 earmelfb.c:2772
-#: earmelfb_fbsd.c:2779 earmelfb_fuchsia.c:2772 earmelfb_linux.c:2772
-#: earmelfb_linux_eabi.c:2772 earmelfb_linux_fdpiceabi.c:2772
-#: earmelfb_nacl.c:2772 earmelfb_nbsd.c:2772 earmnto.c:2747 earmsymbian.c:2772
+#: earmelf.c:1022 earmelf_fbsd.c:1022 earmelf_fuchsia.c:1022
+#: earmelf_linux.c:1022 earmelf_linux_eabi.c:1022
+#: earmelf_linux_fdpiceabi.c:1022 earmelf_nacl.c:1022 earmelf_nbsd.c:1022
+#: earmelf_phoenix.c:1022 earmelf_vxworks.c:1058 earmelfb.c:1022
+#: earmelfb_fbsd.c:1022 earmelfb_fuchsia.c:1022 earmelfb_linux.c:1022
+#: earmelfb_linux_eabi.c:1022 earmelfb_linux_fdpiceabi.c:1022
+#: earmelfb_nacl.c:1022 earmelfb_nbsd.c:1022 earmnto.c:997 earmsymbian.c:1022
 msgid "%P: unrecognized VFP11 fix type '%s'\n"
 msgstr ""
 
-#: earmelf.c:2785 earmelf_fbsd.c:2792 earmelf_fuchsia.c:2785
-#: earmelf_linux.c:2785 earmelf_linux_eabi.c:2785
-#: earmelf_linux_fdpiceabi.c:2785 earmelf_nacl.c:2785 earmelf_nbsd.c:2785
-#: earmelf_phoenix.c:2785 earmelf_vxworks.c:2821 earmelfb.c:2785
-#: earmelfb_fbsd.c:2792 earmelfb_fuchsia.c:2785 earmelfb_linux.c:2785
-#: earmelfb_linux_eabi.c:2785 earmelfb_linux_fdpiceabi.c:2785
-#: earmelfb_nacl.c:2785 earmelfb_nbsd.c:2785 earmnto.c:2760 earmsymbian.c:2785
+#: earmelf.c:1035 earmelf_fbsd.c:1035 earmelf_fuchsia.c:1035
+#: earmelf_linux.c:1035 earmelf_linux_eabi.c:1035
+#: earmelf_linux_fdpiceabi.c:1035 earmelf_nacl.c:1035 earmelf_nbsd.c:1035
+#: earmelf_phoenix.c:1035 earmelf_vxworks.c:1071 earmelfb.c:1035
+#: earmelfb_fbsd.c:1035 earmelfb_fuchsia.c:1035 earmelfb_linux.c:1035
+#: earmelfb_linux_eabi.c:1035 earmelfb_linux_fdpiceabi.c:1035
+#: earmelfb_nacl.c:1035 earmelfb_nbsd.c:1035 earmnto.c:1010 earmsymbian.c:1035
 msgid "%P: unrecognized STM32L4XX fix type '%s'\n"
 msgstr ""
 
-#: earmelf.c:2852 earmelf_fbsd.c:2859 earmelf_fuchsia.c:2852
-#: earmelf_linux.c:2852 earmelf_linux_eabi.c:2852
-#: earmelf_linux_fdpiceabi.c:2852 earmelf_nacl.c:2852 earmelf_nbsd.c:2852
-#: earmelf_phoenix.c:2852 earmelf_vxworks.c:2892 earmelfb.c:2852
-#: earmelfb_fbsd.c:2859 earmelfb_fuchsia.c:2852 earmelfb_linux.c:2852
-#: earmelfb_linux_eabi.c:2852 earmelfb_linux_fdpiceabi.c:2852
-#: earmelfb_nacl.c:2852 earmelfb_nbsd.c:2852 earmnto.c:2827 earmsymbian.c:2852
+#: earmelf.c:1102 earmelf_fbsd.c:1102 earmelf_fuchsia.c:1102
+#: earmelf_linux.c:1102 earmelf_linux_eabi.c:1102
+#: earmelf_linux_fdpiceabi.c:1102 earmelf_nacl.c:1102 earmelf_nbsd.c:1102
+#: earmelf_phoenix.c:1102 earmelf_vxworks.c:1142 earmelfb.c:1102
+#: earmelfb_fbsd.c:1102 earmelfb_fuchsia.c:1102 earmelfb_linux.c:1102
+#: earmelfb_linux_eabi.c:1102 earmelfb_linux_fdpiceabi.c:1102
+#: earmelfb_nacl.c:1102 earmelfb_nbsd.c:1102 earmnto.c:1077 earmsymbian.c:1102
 #, c-format
 msgid ""
 "  --thumb-entry=<sym>         Set the entry point to be Thumb symbol <sym>\n"
 msgstr ""
 
-#: earmelf.c:2853 earmelf_fbsd.c:2860 earmelf_fuchsia.c:2853
-#: earmelf_linux.c:2853 earmelf_linux_eabi.c:2853
-#: earmelf_linux_fdpiceabi.c:2853 earmelf_nacl.c:2853 earmelf_nbsd.c:2853
-#: earmelf_phoenix.c:2853 earmelf_vxworks.c:2893 earmelfb.c:2853
-#: earmelfb_fbsd.c:2860 earmelfb_fuchsia.c:2853 earmelfb_linux.c:2853
-#: earmelfb_linux_eabi.c:2853 earmelfb_linux_fdpiceabi.c:2853
-#: earmelfb_nacl.c:2853 earmelfb_nbsd.c:2853 earmnto.c:2828 earmsymbian.c:2853
+#: earmelf.c:1103 earmelf_fbsd.c:1103 earmelf_fuchsia.c:1103
+#: earmelf_linux.c:1103 earmelf_linux_eabi.c:1103
+#: earmelf_linux_fdpiceabi.c:1103 earmelf_nacl.c:1103 earmelf_nbsd.c:1103
+#: earmelf_phoenix.c:1103 earmelf_vxworks.c:1143 earmelfb.c:1103
+#: earmelfb_fbsd.c:1103 earmelfb_fuchsia.c:1103 earmelfb_linux.c:1103
+#: earmelfb_linux_eabi.c:1103 earmelfb_linux_fdpiceabi.c:1103
+#: earmelfb_nacl.c:1103 earmelfb_nbsd.c:1103 earmnto.c:1078 earmsymbian.c:1103
 #, c-format
 msgid "  --be8                       Output BE8 format image\n"
 msgstr ""
 
-#: earmelf.c:2854 earmelf_fbsd.c:2861 earmelf_fuchsia.c:2854
-#: earmelf_linux.c:2854 earmelf_linux_eabi.c:2854
-#: earmelf_linux_fdpiceabi.c:2854 earmelf_nacl.c:2854 earmelf_nbsd.c:2854
-#: earmelf_phoenix.c:2854 earmelf_vxworks.c:2894 earmelfb.c:2854
-#: earmelfb_fbsd.c:2861 earmelfb_fuchsia.c:2854 earmelfb_linux.c:2854
-#: earmelfb_linux_eabi.c:2854 earmelfb_linux_fdpiceabi.c:2854
-#: earmelfb_nacl.c:2854 earmelfb_nbsd.c:2854 earmnto.c:2829 earmsymbian.c:2854
+#: earmelf.c:1104 earmelf_fbsd.c:1104 earmelf_fuchsia.c:1104
+#: earmelf_linux.c:1104 earmelf_linux_eabi.c:1104
+#: earmelf_linux_fdpiceabi.c:1104 earmelf_nacl.c:1104 earmelf_nbsd.c:1104
+#: earmelf_phoenix.c:1104 earmelf_vxworks.c:1144 earmelfb.c:1104
+#: earmelfb_fbsd.c:1104 earmelfb_fuchsia.c:1104 earmelfb_linux.c:1104
+#: earmelfb_linux_eabi.c:1104 earmelfb_linux_fdpiceabi.c:1104
+#: earmelfb_nacl.c:1104 earmelfb_nbsd.c:1104 earmnto.c:1079 earmsymbian.c:1104
 #, c-format
 msgid "  --target1-rel               Interpret R_ARM_TARGET1 as R_ARM_REL32\n"
 msgstr ""
 
-#: earmelf.c:2855 earmelf_fbsd.c:2862 earmelf_fuchsia.c:2855
-#: earmelf_linux.c:2855 earmelf_linux_eabi.c:2855
-#: earmelf_linux_fdpiceabi.c:2855 earmelf_nacl.c:2855 earmelf_nbsd.c:2855
-#: earmelf_phoenix.c:2855 earmelf_vxworks.c:2895 earmelfb.c:2855
-#: earmelfb_fbsd.c:2862 earmelfb_fuchsia.c:2855 earmelfb_linux.c:2855
-#: earmelfb_linux_eabi.c:2855 earmelfb_linux_fdpiceabi.c:2855
-#: earmelfb_nacl.c:2855 earmelfb_nbsd.c:2855 earmnto.c:2830 earmsymbian.c:2855
+#: earmelf.c:1105 earmelf_fbsd.c:1105 earmelf_fuchsia.c:1105
+#: earmelf_linux.c:1105 earmelf_linux_eabi.c:1105
+#: earmelf_linux_fdpiceabi.c:1105 earmelf_nacl.c:1105 earmelf_nbsd.c:1105
+#: earmelf_phoenix.c:1105 earmelf_vxworks.c:1145 earmelfb.c:1105
+#: earmelfb_fbsd.c:1105 earmelfb_fuchsia.c:1105 earmelfb_linux.c:1105
+#: earmelfb_linux_eabi.c:1105 earmelfb_linux_fdpiceabi.c:1105
+#: earmelfb_nacl.c:1105 earmelfb_nbsd.c:1105 earmnto.c:1080 earmsymbian.c:1105
 #, c-format
 msgid "  --target1-abs               Interpret R_ARM_TARGET1 as R_ARM_ABS32\n"
 msgstr ""
 
-#: earmelf.c:2856 earmelf_fbsd.c:2863 earmelf_fuchsia.c:2856
-#: earmelf_linux.c:2856 earmelf_linux_eabi.c:2856
-#: earmelf_linux_fdpiceabi.c:2856 earmelf_nacl.c:2856 earmelf_nbsd.c:2856
-#: earmelf_phoenix.c:2856 earmelf_vxworks.c:2896 earmelfb.c:2856
-#: earmelfb_fbsd.c:2863 earmelfb_fuchsia.c:2856 earmelfb_linux.c:2856
-#: earmelfb_linux_eabi.c:2856 earmelfb_linux_fdpiceabi.c:2856
-#: earmelfb_nacl.c:2856 earmelfb_nbsd.c:2856 earmnto.c:2831 earmsymbian.c:2856
+#: earmelf.c:1106 earmelf_fbsd.c:1106 earmelf_fuchsia.c:1106
+#: earmelf_linux.c:1106 earmelf_linux_eabi.c:1106
+#: earmelf_linux_fdpiceabi.c:1106 earmelf_nacl.c:1106 earmelf_nbsd.c:1106
+#: earmelf_phoenix.c:1106 earmelf_vxworks.c:1146 earmelfb.c:1106
+#: earmelfb_fbsd.c:1106 earmelfb_fuchsia.c:1106 earmelfb_linux.c:1106
+#: earmelfb_linux_eabi.c:1106 earmelfb_linux_fdpiceabi.c:1106
+#: earmelfb_nacl.c:1106 earmelfb_nbsd.c:1106 earmnto.c:1081 earmsymbian.c:1106
 #, c-format
 msgid "  --target2=<type>            Specify definition of R_ARM_TARGET2\n"
 msgstr ""
 
-#: earmelf.c:2857 earmelf_fbsd.c:2864 earmelf_fuchsia.c:2857
-#: earmelf_linux.c:2857 earmelf_linux_eabi.c:2857
-#: earmelf_linux_fdpiceabi.c:2857 earmelf_nacl.c:2857 earmelf_nbsd.c:2857
-#: earmelf_phoenix.c:2857 earmelf_vxworks.c:2897 earmelfb.c:2857
-#: earmelfb_fbsd.c:2864 earmelfb_fuchsia.c:2857 earmelfb_linux.c:2857
-#: earmelfb_linux_eabi.c:2857 earmelfb_linux_fdpiceabi.c:2857
-#: earmelfb_nacl.c:2857 earmelfb_nbsd.c:2857 earmnto.c:2832 earmsymbian.c:2857
+#: earmelf.c:1107 earmelf_fbsd.c:1107 earmelf_fuchsia.c:1107
+#: earmelf_linux.c:1107 earmelf_linux_eabi.c:1107
+#: earmelf_linux_fdpiceabi.c:1107 earmelf_nacl.c:1107 earmelf_nbsd.c:1107
+#: earmelf_phoenix.c:1107 earmelf_vxworks.c:1147 earmelfb.c:1107
+#: earmelfb_fbsd.c:1107 earmelfb_fuchsia.c:1107 earmelfb_linux.c:1107
+#: earmelfb_linux_eabi.c:1107 earmelfb_linux_fdpiceabi.c:1107
+#: earmelfb_nacl.c:1107 earmelfb_nbsd.c:1107 earmnto.c:1082 earmsymbian.c:1107
 #, c-format
 msgid "  --fix-v4bx                  Rewrite BX rn as MOV pc, rn for ARMv4\n"
 msgstr ""
 
-#: earmelf.c:2858 earmelf_fbsd.c:2865 earmelf_fuchsia.c:2858
-#: earmelf_linux.c:2858 earmelf_linux_eabi.c:2858
-#: earmelf_linux_fdpiceabi.c:2858 earmelf_nacl.c:2858 earmelf_nbsd.c:2858
-#: earmelf_phoenix.c:2858 earmelf_vxworks.c:2898 earmelfb.c:2858
-#: earmelfb_fbsd.c:2865 earmelfb_fuchsia.c:2858 earmelfb_linux.c:2858
-#: earmelfb_linux_eabi.c:2858 earmelfb_linux_fdpiceabi.c:2858
-#: earmelfb_nacl.c:2858 earmelfb_nbsd.c:2858 earmnto.c:2833 earmsymbian.c:2858
+#: earmelf.c:1108 earmelf_fbsd.c:1108 earmelf_fuchsia.c:1108
+#: earmelf_linux.c:1108 earmelf_linux_eabi.c:1108
+#: earmelf_linux_fdpiceabi.c:1108 earmelf_nacl.c:1108 earmelf_nbsd.c:1108
+#: earmelf_phoenix.c:1108 earmelf_vxworks.c:1148 earmelfb.c:1108
+#: earmelfb_fbsd.c:1108 earmelfb_fuchsia.c:1108 earmelfb_linux.c:1108
+#: earmelfb_linux_eabi.c:1108 earmelfb_linux_fdpiceabi.c:1108
+#: earmelfb_nacl.c:1108 earmelfb_nbsd.c:1108 earmnto.c:1083 earmsymbian.c:1108
 #, c-format
 msgid ""
 "  --fix-v4bx-interworking     Rewrite BX rn branch to ARMv4 interworking "
 "veneer\n"
 msgstr ""
 
-#: earmelf.c:2859 earmelf_fbsd.c:2866 earmelf_fuchsia.c:2859
-#: earmelf_linux.c:2859 earmelf_linux_eabi.c:2859
-#: earmelf_linux_fdpiceabi.c:2859 earmelf_nacl.c:2859 earmelf_nbsd.c:2859
-#: earmelf_phoenix.c:2859 earmelf_vxworks.c:2899 earmelfb.c:2859
-#: earmelfb_fbsd.c:2866 earmelfb_fuchsia.c:2859 earmelfb_linux.c:2859
-#: earmelfb_linux_eabi.c:2859 earmelfb_linux_fdpiceabi.c:2859
-#: earmelfb_nacl.c:2859 earmelfb_nbsd.c:2859 earmnto.c:2834 earmsymbian.c:2859
+#: earmelf.c:1109 earmelf_fbsd.c:1109 earmelf_fuchsia.c:1109
+#: earmelf_linux.c:1109 earmelf_linux_eabi.c:1109
+#: earmelf_linux_fdpiceabi.c:1109 earmelf_nacl.c:1109 earmelf_nbsd.c:1109
+#: earmelf_phoenix.c:1109 earmelf_vxworks.c:1149 earmelfb.c:1109
+#: earmelfb_fbsd.c:1109 earmelfb_fuchsia.c:1109 earmelfb_linux.c:1109
+#: earmelfb_linux_eabi.c:1109 earmelfb_linux_fdpiceabi.c:1109
+#: earmelfb_nacl.c:1109 earmelfb_nbsd.c:1109 earmnto.c:1084 earmsymbian.c:1109
 #, c-format
 msgid "  --use-blx                   Enable use of BLX instructions\n"
 msgstr ""
 
-#: earmelf.c:2860 earmelf_fbsd.c:2867 earmelf_fuchsia.c:2860
-#: earmelf_linux.c:2860 earmelf_linux_eabi.c:2860
-#: earmelf_linux_fdpiceabi.c:2860 earmelf_nacl.c:2860 earmelf_nbsd.c:2860
-#: earmelf_phoenix.c:2860 earmelf_vxworks.c:2900 earmelfb.c:2860
-#: earmelfb_fbsd.c:2867 earmelfb_fuchsia.c:2860 earmelfb_linux.c:2860
-#: earmelfb_linux_eabi.c:2860 earmelfb_linux_fdpiceabi.c:2860
-#: earmelfb_nacl.c:2860 earmelfb_nbsd.c:2860 earmnto.c:2835 earmsymbian.c:2860
+#: earmelf.c:1110 earmelf_fbsd.c:1110 earmelf_fuchsia.c:1110
+#: earmelf_linux.c:1110 earmelf_linux_eabi.c:1110
+#: earmelf_linux_fdpiceabi.c:1110 earmelf_nacl.c:1110 earmelf_nbsd.c:1110
+#: earmelf_phoenix.c:1110 earmelf_vxworks.c:1150 earmelfb.c:1110
+#: earmelfb_fbsd.c:1110 earmelfb_fuchsia.c:1110 earmelfb_linux.c:1110
+#: earmelfb_linux_eabi.c:1110 earmelfb_linux_fdpiceabi.c:1110
+#: earmelfb_nacl.c:1110 earmelfb_nbsd.c:1110 earmnto.c:1085 earmsymbian.c:1110
 #, c-format
 msgid "  --vfp11-denorm-fix          Specify how to fix VFP11 denorm erratum\n"
 msgstr ""
 
-#: earmelf.c:2861 earmelf_fbsd.c:2868 earmelf_fuchsia.c:2861
-#: earmelf_linux.c:2861 earmelf_linux_eabi.c:2861
-#: earmelf_linux_fdpiceabi.c:2861 earmelf_nacl.c:2861 earmelf_nbsd.c:2861
-#: earmelf_phoenix.c:2861 earmelf_vxworks.c:2901 earmelfb.c:2861
-#: earmelfb_fbsd.c:2868 earmelfb_fuchsia.c:2861 earmelfb_linux.c:2861
-#: earmelfb_linux_eabi.c:2861 earmelfb_linux_fdpiceabi.c:2861
-#: earmelfb_nacl.c:2861 earmelfb_nbsd.c:2861 earmnto.c:2836 earmsymbian.c:2861
+#: earmelf.c:1111 earmelf_fbsd.c:1111 earmelf_fuchsia.c:1111
+#: earmelf_linux.c:1111 earmelf_linux_eabi.c:1111
+#: earmelf_linux_fdpiceabi.c:1111 earmelf_nacl.c:1111 earmelf_nbsd.c:1111
+#: earmelf_phoenix.c:1111 earmelf_vxworks.c:1151 earmelfb.c:1111
+#: earmelfb_fbsd.c:1111 earmelfb_fuchsia.c:1111 earmelfb_linux.c:1111
+#: earmelfb_linux_eabi.c:1111 earmelfb_linux_fdpiceabi.c:1111
+#: earmelfb_nacl.c:1111 earmelfb_nbsd.c:1111 earmnto.c:1086 earmsymbian.c:1111
 #, c-format
 msgid ""
 "  --fix-stm32l4xx-629360      Specify how to fix STM32L4XX 629360 erratum\n"
 msgstr ""
 
-#: earmelf.c:2867 earmelf_fbsd.c:2874 earmelf_fuchsia.c:2867
-#: earmelf_linux.c:2867 earmelf_linux_eabi.c:2867
-#: earmelf_linux_fdpiceabi.c:2867 earmelf_nacl.c:2867 earmelf_nbsd.c:2867
-#: earmelf_phoenix.c:2867 earmelf_vxworks.c:2907 earmelfb.c:2867
-#: earmelfb_fbsd.c:2874 earmelfb_fuchsia.c:2867 earmelfb_linux.c:2867
-#: earmelfb_linux_eabi.c:2867 earmelfb_linux_fdpiceabi.c:2867
-#: earmelfb_nacl.c:2867 earmelfb_nbsd.c:2867 earmnto.c:2842 earmsymbian.c:2867
+#: earmelf.c:1117 earmelf_fbsd.c:1117 earmelf_fuchsia.c:1117
+#: earmelf_linux.c:1117 earmelf_linux_eabi.c:1117
+#: earmelf_linux_fdpiceabi.c:1117 earmelf_nacl.c:1117 earmelf_nbsd.c:1117
+#: earmelf_phoenix.c:1117 earmelf_vxworks.c:1157 earmelfb.c:1117
+#: earmelfb_fbsd.c:1117 earmelfb_fuchsia.c:1117 earmelfb_linux.c:1117
+#: earmelfb_linux_eabi.c:1117 earmelfb_linux_fdpiceabi.c:1117
+#: earmelfb_nacl.c:1117 earmelfb_nbsd.c:1117 earmnto.c:1092 earmsymbian.c:1117
 #, c-format
 msgid ""
 "  --long-plt                  Generate long .plt entries\n"
 "                              to handle large .plt/.got displacements\n"
 msgstr ""
 
-#: earmelf.c:2869 earmelf_fbsd.c:2876 earmelf_fuchsia.c:2869
-#: earmelf_linux.c:2869 earmelf_linux_eabi.c:2869
-#: earmelf_linux_fdpiceabi.c:2869 earmelf_nacl.c:2869 earmelf_nbsd.c:2869
-#: earmelf_phoenix.c:2869 earmelf_vxworks.c:2909 earmelfb.c:2869
-#: earmelfb_fbsd.c:2876 earmelfb_fuchsia.c:2869 earmelfb_linux.c:2869
-#: earmelfb_linux_eabi.c:2869 earmelfb_linux_fdpiceabi.c:2869
-#: earmelfb_nacl.c:2869 earmelfb_nbsd.c:2869 earmnto.c:2844 earmsymbian.c:2869
+#: earmelf.c:1119 earmelf_fbsd.c:1119 earmelf_fuchsia.c:1119
+#: earmelf_linux.c:1119 earmelf_linux_eabi.c:1119
+#: earmelf_linux_fdpiceabi.c:1119 earmelf_nacl.c:1119 earmelf_nbsd.c:1119
+#: earmelf_phoenix.c:1119 earmelf_vxworks.c:1159 earmelfb.c:1119
+#: earmelfb_fbsd.c:1119 earmelfb_fuchsia.c:1119 earmelfb_linux.c:1119
+#: earmelfb_linux_eabi.c:1119 earmelfb_linux_fdpiceabi.c:1119
+#: earmelfb_nacl.c:1119 earmelfb_nbsd.c:1119 earmnto.c:1094 earmsymbian.c:1119
 #, c-format
 msgid ""
 "  --cmse-implib               Make import library to be a secure gateway "
@@ -5879,93 +4141,93 @@ msgid ""
 "                                library as per ARMv8-M Security Extensions\n"
 msgstr ""
 
-#: earmelf.c:2871 earmelf_fbsd.c:2878 earmelf_fuchsia.c:2871
-#: earmelf_linux.c:2871 earmelf_linux_eabi.c:2871
-#: earmelf_linux_fdpiceabi.c:2871 earmelf_nacl.c:2871 earmelf_nbsd.c:2871
-#: earmelf_phoenix.c:2871 earmelf_vxworks.c:2911 earmelfb.c:2871
-#: earmelfb_fbsd.c:2878 earmelfb_fuchsia.c:2871 earmelfb_linux.c:2871
-#: earmelfb_linux_eabi.c:2871 earmelfb_linux_fdpiceabi.c:2871
-#: earmelfb_nacl.c:2871 earmelfb_nbsd.c:2871 earmnto.c:2846 earmsymbian.c:2871
+#: earmelf.c:1121 earmelf_fbsd.c:1121 earmelf_fuchsia.c:1121
+#: earmelf_linux.c:1121 earmelf_linux_eabi.c:1121
+#: earmelf_linux_fdpiceabi.c:1121 earmelf_nacl.c:1121 earmelf_nbsd.c:1121
+#: earmelf_phoenix.c:1121 earmelf_vxworks.c:1161 earmelfb.c:1121
+#: earmelfb_fbsd.c:1121 earmelfb_fuchsia.c:1121 earmelfb_linux.c:1121
+#: earmelfb_linux_eabi.c:1121 earmelfb_linux_fdpiceabi.c:1121
+#: earmelfb_nacl.c:1121 earmelfb_nbsd.c:1121 earmnto.c:1096 earmsymbian.c:1121
 #, c-format
 msgid ""
 "  --in-implib                 Import library whose symbols address must\n"
 "                                remain stable\n"
 msgstr ""
 
-#: earmelf.c:2882 earmelf_fbsd.c:2889 earmelf_fuchsia.c:2882
-#: earmelf_linux.c:2882 earmelf_linux_eabi.c:2882
-#: earmelf_linux_fdpiceabi.c:2882 earmelf_nacl.c:2882 earmelf_nbsd.c:2882
-#: earmelf_phoenix.c:2882 earmelf_vxworks.c:2922 earmelfb.c:2882
-#: earmelfb_fbsd.c:2889 earmelfb_fuchsia.c:2882 earmelfb_linux.c:2882
-#: earmelfb_linux_eabi.c:2882 earmelfb_linux_fdpiceabi.c:2882
-#: earmelfb_nacl.c:2882 earmelfb_nbsd.c:2882 earmnto.c:2857 earmsymbian.c:2882
+#: earmelf.c:1132 earmelf_fbsd.c:1132 earmelf_fuchsia.c:1132
+#: earmelf_linux.c:1132 earmelf_linux_eabi.c:1132
+#: earmelf_linux_fdpiceabi.c:1132 earmelf_nacl.c:1132 earmelf_nbsd.c:1132
+#: earmelf_phoenix.c:1132 earmelf_vxworks.c:1172 earmelfb.c:1132
+#: earmelfb_fbsd.c:1132 earmelfb_fuchsia.c:1132 earmelfb_linux.c:1132
+#: earmelfb_linux_eabi.c:1132 earmelfb_linux_fdpiceabi.c:1132
+#: earmelfb_nacl.c:1132 earmelfb_nbsd.c:1132 earmnto.c:1107 earmsymbian.c:1132
 #, c-format
 msgid ""
 "  --[no-]fix-cortex-a8        Disable/enable Cortex-A8 Thumb-2 branch "
 "erratum fix\n"
 msgstr ""
 
-#: earmelf.c:2883 earmelf_fbsd.c:2890 earmelf_fuchsia.c:2883
-#: earmelf_linux.c:2883 earmelf_linux_eabi.c:2883
-#: earmelf_linux_fdpiceabi.c:2883 earmelf_nacl.c:2883 earmelf_nbsd.c:2883
-#: earmelf_phoenix.c:2883 earmelf_vxworks.c:2923 earmelfb.c:2883
-#: earmelfb_fbsd.c:2890 earmelfb_fuchsia.c:2883 earmelfb_linux.c:2883
-#: earmelfb_linux_eabi.c:2883 earmelfb_linux_fdpiceabi.c:2883
-#: earmelfb_nacl.c:2883 earmelfb_nbsd.c:2883 earmnto.c:2858 earmsymbian.c:2883
+#: earmelf.c:1133 earmelf_fbsd.c:1133 earmelf_fuchsia.c:1133
+#: earmelf_linux.c:1133 earmelf_linux_eabi.c:1133
+#: earmelf_linux_fdpiceabi.c:1133 earmelf_nacl.c:1133 earmelf_nbsd.c:1133
+#: earmelf_phoenix.c:1133 earmelf_vxworks.c:1173 earmelfb.c:1133
+#: earmelfb_fbsd.c:1133 earmelfb_fuchsia.c:1133 earmelfb_linux.c:1133
+#: earmelfb_linux_eabi.c:1133 earmelfb_linux_fdpiceabi.c:1133
+#: earmelfb_nacl.c:1133 earmelfb_nbsd.c:1133 earmnto.c:1108 earmsymbian.c:1133
 #, c-format
 msgid "  --no-merge-exidx-entries    Disable merging exidx entries\n"
 msgstr ""
 
-#: earmelf.c:2884 earmelf_fbsd.c:2891 earmelf_fuchsia.c:2884
-#: earmelf_linux.c:2884 earmelf_linux_eabi.c:2884
-#: earmelf_linux_fdpiceabi.c:2884 earmelf_nacl.c:2884 earmelf_nbsd.c:2884
-#: earmelf_phoenix.c:2884 earmelf_vxworks.c:2924 earmelfb.c:2884
-#: earmelfb_fbsd.c:2891 earmelfb_fuchsia.c:2884 earmelfb_linux.c:2884
-#: earmelfb_linux_eabi.c:2884 earmelfb_linux_fdpiceabi.c:2884
-#: earmelfb_nacl.c:2884 earmelfb_nbsd.c:2884 earmnto.c:2859 earmsymbian.c:2884
+#: earmelf.c:1134 earmelf_fbsd.c:1134 earmelf_fuchsia.c:1134
+#: earmelf_linux.c:1134 earmelf_linux_eabi.c:1134
+#: earmelf_linux_fdpiceabi.c:1134 earmelf_nacl.c:1134 earmelf_nbsd.c:1134
+#: earmelf_phoenix.c:1134 earmelf_vxworks.c:1174 earmelfb.c:1134
+#: earmelfb_fbsd.c:1134 earmelfb_fuchsia.c:1134 earmelfb_linux.c:1134
+#: earmelfb_linux_eabi.c:1134 earmelfb_linux_fdpiceabi.c:1134
+#: earmelfb_nacl.c:1134 earmelfb_nbsd.c:1134 earmnto.c:1109 earmsymbian.c:1134
 #, c-format
 msgid ""
 "  --[no-]fix-arm1176          Disable/enable ARM1176 BLX immediate erratum "
 "fix\n"
 msgstr ""
 
-#: earmelf_vxworks.c:672 eelf32_sparc_vxworks.c:123 eelf32ebmipvxworks.c:350
-#: eelf32elmipvxworks.c:350 eelf32ppcvxworks.c:284 eelf_i386_vxworks.c:123
-#: eshelf_vxworks.c:123 eshlelf_vxworks.c:123
+#: earmelf_vxworks.c:600 eelf32_sparc_vxworks.c:71 eelf32ebmipvxworks.c:267
+#: eelf32elmipvxworks.c:267 eelf32ppcvxworks.c:236 eelf_i386_vxworks.c:94
+#: eshelf_vxworks.c:71 eshlelf_vxworks.c:71
 msgid "%X%P: cannot create dynamic sections %E\n"
 msgstr ""
 
-#: earmelf_vxworks.c:678 eelf32_sparc_vxworks.c:129 eelf32ebmipvxworks.c:356
-#: eelf32elmipvxworks.c:356 eelf32ppcvxworks.c:290 eelf_i386_vxworks.c:129
-#: eshelf_vxworks.c:129 eshlelf_vxworks.c:129
+#: earmelf_vxworks.c:606 eelf32_sparc_vxworks.c:77 eelf32ebmipvxworks.c:273
+#: eelf32elmipvxworks.c:273 eelf32ppcvxworks.c:242 eelf_i386_vxworks.c:100
+#: eshelf_vxworks.c:77 eshlelf_vxworks.c:77
 msgid "%X%P: dynamic sections created in non-dynamic link\n"
 msgstr ""
 
-#: earmelf_vxworks.c:2926 eelf32_sparc_vxworks.c:2206 eelf32ebmipvxworks.c:2477
-#: eelf32elmipvxworks.c:2477 eelf32ppcvxworks.c:2525 eelf_i386_vxworks.c:2259
-#: eshelf_vxworks.c:2181 eshlelf_vxworks.c:2181
+#: earmelf_vxworks.c:1176 eelf32_sparc_vxworks.c:475 eelf32ebmipvxworks.c:733
+#: eelf32elmipvxworks.c:733 eelf32ppcvxworks.c:798 eelf_i386_vxworks.c:551
+#: eshelf_vxworks.c:450 eshlelf_vxworks.c:450
 #, c-format
 msgid "  --force-dynamic             Always create dynamic sections\n"
 msgstr ""
 
-#: eavr1.c:174 eavr2.c:174 eavr25.c:174 eavr3.c:174 eavr31.c:174 eavr35.c:174
-#: eavr4.c:174 eavr5.c:174 eavr51.c:174 eavr6.c:174 eavrtiny.c:174
-#: eavrxmega1.c:174 eavrxmega2.c:174 eavrxmega3.c:174 eavrxmega4.c:174
-#: eavrxmega5.c:174 eavrxmega6.c:174 eavrxmega7.c:174
+#: eavr1.c:122 eavr2.c:122 eavr25.c:122 eavr3.c:122 eavr31.c:122 eavr35.c:122
+#: eavr4.c:122 eavr5.c:122 eavr51.c:122 eavr6.c:122 eavrtiny.c:122
+#: eavrxmega1.c:122 eavrxmega2.c:122 eavrxmega3.c:122 eavrxmega4.c:122
+#: eavrxmega5.c:122 eavrxmega6.c:122 eavrxmega7.c:122
 msgid "%X%P: can not setup the input section list: %E\n"
 msgstr ""
 
-#: eavr1.c:209 eavr2.c:209 eavr25.c:209 eavr3.c:209 eavr31.c:209 eavr35.c:209
-#: eavr4.c:209 eavr5.c:209 eavr51.c:209 eavr6.c:209 eavrtiny.c:209
-#: eavrxmega1.c:209 eavrxmega2.c:209 eavrxmega3.c:209 eavrxmega4.c:209
-#: eavrxmega5.c:209 eavrxmega6.c:209 eavrxmega7.c:209
+#: eavr1.c:157 eavr2.c:157 eavr25.c:157 eavr3.c:157 eavr31.c:157 eavr35.c:157
+#: eavr4.c:157 eavr5.c:157 eavr51.c:157 eavr6.c:157 eavrtiny.c:157
+#: eavrxmega1.c:157 eavrxmega2.c:157 eavrxmega3.c:157 eavrxmega4.c:157
+#: eavrxmega5.c:157 eavrxmega6.c:157 eavrxmega7.c:157
 msgid "%X%P: can not create stub BFD: %E\n"
 msgstr ""
 
-#: eavr1.c:2247 eavr2.c:2247 eavr25.c:2247 eavr3.c:2247 eavr31.c:2247
-#: eavr35.c:2247 eavr4.c:2247 eavr5.c:2247 eavr51.c:2247 eavr6.c:2247
-#: eavrtiny.c:2247 eavrxmega1.c:2247 eavrxmega2.c:2247 eavrxmega3.c:2247
-#: eavrxmega4.c:2247 eavrxmega5.c:2247 eavrxmega6.c:2247 eavrxmega7.c:2247
+#: eavr1.c:516 eavr2.c:516 eavr25.c:516 eavr3.c:516 eavr31.c:516 eavr35.c:516
+#: eavr4.c:516 eavr5.c:516 eavr51.c:516 eavr6.c:516 eavrtiny.c:516
+#: eavrxmega1.c:516 eavrxmega2.c:516 eavrxmega3.c:516 eavrxmega4.c:516
+#: eavrxmega5.c:516 eavrxmega6.c:516 eavrxmega7.c:516
 #, c-format
 msgid ""
 "  --pmem-wrap-around=<val>    Make the linker relaxation machine assume that "
@@ -5976,10 +4238,10 @@ msgid ""
 "64k.\n"
 msgstr ""
 
-#: eavr1.c:2253 eavr2.c:2253 eavr25.c:2253 eavr3.c:2253 eavr31.c:2253
-#: eavr35.c:2253 eavr4.c:2253 eavr5.c:2253 eavr51.c:2253 eavr6.c:2253
-#: eavrtiny.c:2253 eavrxmega1.c:2253 eavrxmega2.c:2253 eavrxmega3.c:2253
-#: eavrxmega4.c:2253 eavrxmega5.c:2253 eavrxmega6.c:2253 eavrxmega7.c:2253
+#: eavr1.c:522 eavr2.c:522 eavr25.c:522 eavr3.c:522 eavr31.c:522 eavr35.c:522
+#: eavr4.c:522 eavr5.c:522 eavr51.c:522 eavr6.c:522 eavrtiny.c:522
+#: eavrxmega1.c:522 eavrxmega2.c:522 eavrxmega3.c:522 eavrxmega4.c:522
+#: eavrxmega5.c:522 eavrxmega6.c:522 eavrxmega7.c:522
 #, c-format
 msgid ""
 "  --no-call-ret-replacement   The relaxation machine normally will\n"
@@ -5989,10 +4251,10 @@ msgid ""
 "                                This option disables this optimization.\n"
 msgstr ""
 
-#: eavr1.c:2261 eavr2.c:2261 eavr25.c:2261 eavr3.c:2261 eavr31.c:2261
-#: eavr35.c:2261 eavr4.c:2261 eavr5.c:2261 eavr51.c:2261 eavr6.c:2261
-#: eavrtiny.c:2261 eavrxmega1.c:2261 eavrxmega2.c:2261 eavrxmega3.c:2261
-#: eavrxmega4.c:2261 eavrxmega5.c:2261 eavrxmega6.c:2261 eavrxmega7.c:2261
+#: eavr1.c:530 eavr2.c:530 eavr25.c:530 eavr3.c:530 eavr31.c:530 eavr35.c:530
+#: eavr4.c:530 eavr5.c:530 eavr51.c:530 eavr6.c:530 eavrtiny.c:530
+#: eavrxmega1.c:530 eavrxmega2.c:530 eavrxmega3.c:530 eavrxmega4.c:530
+#: eavrxmega5.c:530 eavrxmega6.c:530 eavrxmega7.c:530
 #, c-format
 msgid ""
 "  --no-stubs                  If the linker detects to attempt to access\n"
@@ -6002,217 +4264,217 @@ msgid ""
 "switch.\n"
 msgstr ""
 
-#: eavr1.c:2269 eavr2.c:2269 eavr25.c:2269 eavr3.c:2269 eavr31.c:2269
-#: eavr35.c:2269 eavr4.c:2269 eavr5.c:2269 eavr51.c:2269 eavr6.c:2269
-#: eavrtiny.c:2269 eavrxmega1.c:2269 eavrxmega2.c:2269 eavrxmega3.c:2269
-#: eavrxmega4.c:2269 eavrxmega5.c:2269 eavrxmega6.c:2269 eavrxmega7.c:2269
+#: eavr1.c:538 eavr2.c:538 eavr25.c:538 eavr3.c:538 eavr31.c:538 eavr35.c:538
+#: eavr4.c:538 eavr5.c:538 eavr51.c:538 eavr6.c:538 eavrtiny.c:538
+#: eavrxmega1.c:538 eavrxmega2.c:538 eavrxmega3.c:538 eavrxmega4.c:538
+#: eavrxmega5.c:538 eavrxmega6.c:538 eavrxmega7.c:538
 #, c-format
 msgid "  --debug-stubs               Used for debugging avr-ld.\n"
 msgstr ""
 
-#: eavr1.c:2271 eavr2.c:2271 eavr25.c:2271 eavr3.c:2271 eavr31.c:2271
-#: eavr35.c:2271 eavr4.c:2271 eavr5.c:2271 eavr51.c:2271 eavr6.c:2271
-#: eavrtiny.c:2271 eavrxmega1.c:2271 eavrxmega2.c:2271 eavrxmega3.c:2271
-#: eavrxmega4.c:2271 eavrxmega5.c:2271 eavrxmega6.c:2271 eavrxmega7.c:2271
+#: eavr1.c:540 eavr2.c:540 eavr25.c:540 eavr3.c:540 eavr31.c:540 eavr35.c:540
+#: eavr4.c:540 eavr5.c:540 eavr51.c:540 eavr6.c:540 eavrtiny.c:540
+#: eavrxmega1.c:540 eavrxmega2.c:540 eavrxmega3.c:540 eavrxmega4.c:540
+#: eavrxmega5.c:540 eavrxmega6.c:540 eavrxmega7.c:540
 #, c-format
 msgid "  --debug-relax               Used for debugging avr-ld.\n"
 msgstr ""
 
-#: ecskyelf.c:319 ecskyelf_linux.c:319
+#: ecskyelf.c:275 ecskyelf_linux.c:275
 msgid "%X%P: cannot size stub section: %E\n"
 msgstr ""
 
-#: ecskyelf.c:336 ecskyelf_linux.c:336
+#: ecskyelf.c:292 ecskyelf_linux.c:292
 msgid "%X%P: cannot build stubs: %E\n"
 msgstr ""
 
-#: ecskyelf.c:2276 ecskyelf_linux.c:2438
+#: ecskyelf.c:533 ecskyelf_linux.c:695
 #, c-format
 msgid "  --[no-]branch-stub\n"
 msgstr ""
 
-#: ecskyelf.c:2277 ecskyelf_linux.c:2439
+#: ecskyelf.c:534 ecskyelf_linux.c:696
 #, c-format
 msgid ""
 "\t\t\tDisable/enable use of stubs to expand branch instructions that cannot "
 "reach the target.\n"
 msgstr ""
 
-#: ecskyelf.c:2279 ecskyelf_linux.c:2441
+#: ecskyelf.c:536 ecskyelf_linux.c:698
 #, c-format
 msgid "  --stub-group-size=N\n"
 msgstr ""
 
-#: ecskyelf.c:2280 ecskyelf_linux.c:2442
+#: ecskyelf.c:537 ecskyelf_linux.c:699
 #, c-format
 msgid ""
 "\t\t\tMaximum size of a group of input sections handled by one stub section."
 msgstr ""
 
-#: ed30v_e.c:113 ed30v_o.c:113 ed30velf.c:113 eelf32_dlx.c:113 eelf32fr30.c:113
-#: eelf32frv.c:113 eelf32ft32.c:113 eelf32iq10.c:113 eelf32iq2000.c:113
-#: eelf32moxie.c:113 eelf32mt.c:113 emn10200.c:113 emoxiebox.c:113
-#: emsp430X.c:138 emsp430elf.c:138 epjelf.c:113 epjlelf.c:113 exgateelf.c:113
+#: ed30v_e.c:73 ed30v_o.c:73 ed30velf.c:73 eelf32_dlx.c:73 eelf32fr30.c:73
+#: eelf32frv.c:73 eelf32ft32.c:73 eelf32iq10.c:73 eelf32iq2000.c:73
+#: eelf32mt.c:73 em9s12zelf.c:73 emn10200.c:73 emoxiebox.c:73 emsp430X.c:98
+#: emsp430elf.c:98 epjelf.c:73 epjlelf.c:73 exgateelf.c:73
 msgid "%X%P: can not size group sections: %E\n"
 msgstr ""
 
-#: eelf32_spu.c:307 ev850.c:124 ev850_rh850.c:124
+#: eelf32_spu.c:255 ev850.c:73 ev850_rh850.c:73
 msgid "%X%P: can not create note section: %E\n"
 msgstr ""
 
-#: eelf32_spu.c:396
+#: eelf32_spu.c:344
 msgid "%F%P: no built-in overlay manager\n"
 msgstr ""
 
-#: eelf32_spu.c:406
+#: eelf32_spu.c:354
 msgid "%X%P: can not open built-in overlay manager: %E\n"
 msgstr ""
 
-#: eelf32_spu.c:412
+#: eelf32_spu.c:360
 msgid "%X%P: can not load built-in overlay manager: %E\n"
 msgstr ""
 
-#: eelf32_spu.c:472
+#: eelf32_spu.c:420
 msgid "%X%P: can not find overlays: %E\n"
 msgstr ""
 
-#: eelf32_spu.c:479
+#: eelf32_spu.c:427
 msgid "%P: --auto-overlay ignored with user overlay script\n"
 msgstr ""
 
-#: eelf32_spu.c:500
+#: eelf32_spu.c:448
 msgid "%X%P: can not size overlay stubs: %E\n"
 msgstr ""
 
-#: eelf32_spu.c:573
+#: eelf32_spu.c:521
 msgid "%F%P: can not open script: %E\n"
 msgstr ""
 
-#: eelf32_spu.c:620
+#: eelf32_spu.c:568
 msgid "%X%P: %pA exceeds local store range\n"
 msgstr ""
 
-#: eelf32_spu.c:623
+#: eelf32_spu.c:571
 msgid "%P: --auto-overlay ignored with zero local store range\n"
 msgstr ""
 
-#: eelf32_spu.c:727
+#: eelf32_spu.c:675
 #, c-format
 msgid "running: %s \"%s\" \"%s\" \"%s\" \"%s\"\n"
 msgstr ""
 
-#: eelf32_spu.c:2741
+#: eelf32_spu.c:1010
 msgid "%F%P: invalid --local-store address range `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:2777
+#: eelf32_spu.c:1046
 msgid "%F%P: invalid --num-lines/--num-regions `%u'\n"
 msgstr ""
 
-#: eelf32_spu.c:2782
+#: eelf32_spu.c:1051
 msgid "%F%P: invalid --line-size/--region-size `%u'\n"
 msgstr ""
 
-#: eelf32_spu.c:2803
+#: eelf32_spu.c:1072
 msgid "%F%P: invalid --num-lines/--num-regions `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:2816
+#: eelf32_spu.c:1085
 msgid "%F%P: invalid --line-size/--region-size `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:2825
+#: eelf32_spu.c:1094
 msgid "%F%P: invalid --fixed-space value `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:2834
+#: eelf32_spu.c:1103
 msgid "%F%P: invalid --reserved-space value `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:2843
+#: eelf32_spu.c:1112
 msgid "%F%P: invalid --extra-stack-space value `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:2880
+#: eelf32_spu.c:1149
 #, c-format
 msgid "  --plugin                    Make SPU plugin\n"
 msgstr ""
 
-#: eelf32_spu.c:2882
+#: eelf32_spu.c:1151
 #, c-format
 msgid "  --no-overlays               No overlay handling\n"
 msgstr ""
 
-#: eelf32_spu.c:2884
+#: eelf32_spu.c:1153
 #, c-format
 msgid ""
 "  --compact-stubs             Use smaller and possibly slower call stubs\n"
 msgstr ""
 
-#: eelf32_spu.c:2886
+#: eelf32_spu.c:1155
 #, c-format
 msgid "  --emit-stub-syms            Add symbols on overlay call stubs\n"
 msgstr ""
 
-#: eelf32_spu.c:2888
+#: eelf32_spu.c:1157
 #, c-format
 msgid ""
 "  --extra-overlay-stubs       Add stubs on all calls out of overlay regions\n"
 msgstr ""
 
-#: eelf32_spu.c:2890
+#: eelf32_spu.c:1159
 #, c-format
 msgid "  --local-store=lo:hi         Valid address range\n"
 msgstr ""
 
-#: eelf32_spu.c:2892
+#: eelf32_spu.c:1161
 #, c-format
 msgid "  --stack-analysis            Estimate maximum stack requirement\n"
 msgstr ""
 
-#: eelf32_spu.c:2894
+#: eelf32_spu.c:1163
 #, c-format
 msgid ""
 "  --emit-stack-syms           Add sym giving stack needed for each func\n"
 msgstr ""
 
-#: eelf32_spu.c:2896
+#: eelf32_spu.c:1165
 #, c-format
 msgid ""
 "  --auto-overlay [=filename]  Create an overlay script in filename if\n"
 "                                executable does not fit in local store\n"
 msgstr ""
 
-#: eelf32_spu.c:2899
+#: eelf32_spu.c:1168
 #, c-format
 msgid "  --auto-relink               Rerun linker using auto-overlay script\n"
 msgstr ""
 
-#: eelf32_spu.c:2901
+#: eelf32_spu.c:1170
 #, c-format
 msgid ""
 "  --overlay-rodata            Place read-only data with associated function\n"
 "                                code in overlays\n"
 msgstr ""
 
-#: eelf32_spu.c:2904
+#: eelf32_spu.c:1173
 #, c-format
 msgid "  --num-regions               Number of overlay buffers (default 1)\n"
 msgstr ""
 
-#: eelf32_spu.c:2906
+#: eelf32_spu.c:1175
 #, c-format
 msgid ""
 "  --region-size               Size of overlay buffers (default 0, auto)\n"
 msgstr ""
 
-#: eelf32_spu.c:2908
+#: eelf32_spu.c:1177
 #, c-format
 msgid ""
 "  --fixed-space=bytes         Local store for non-overlay code and data\n"
 msgstr ""
 
-#: eelf32_spu.c:2910
+#: eelf32_spu.c:1179
 #, c-format
 msgid ""
 "  --reserved-space=bytes      Local store for stack and heap.  If not "
@@ -6221,7 +4483,7 @@ msgid ""
 "heap\n"
 msgstr ""
 
-#: eelf32_spu.c:2913
+#: eelf32_spu.c:1182
 #, c-format
 msgid ""
 "  --extra-stack-space=bytes   Space for negative sp access (default 2000) "
@@ -6229,460 +4491,486 @@ msgid ""
 "                                --reserved-space not given\n"
 msgstr ""
 
-#: eelf32_spu.c:2916
+#: eelf32_spu.c:1185
 #, c-format
 msgid "  --soft-icache               Generate software icache overlays\n"
 msgstr ""
 
-#: eelf32_spu.c:2918
+#: eelf32_spu.c:1187
 #, c-format
 msgid ""
 "  --num-lines                 Number of soft-icache lines (default 32)\n"
 msgstr ""
 
-#: eelf32_spu.c:2920
+#: eelf32_spu.c:1189
 #, c-format
 msgid "  --line-size                 Size of soft-icache lines (default 1k)\n"
 msgstr ""
 
-#: eelf32_spu.c:2922
+#: eelf32_spu.c:1191
 #, c-format
 msgid "  --non-ia-text               Allow non-icache code in icache lines\n"
 msgstr ""
 
-#: eelf32_spu.c:2924
+#: eelf32_spu.c:1193
 #, c-format
 msgid "  --lrlive-analysis           Scan function prologue for lr liveness\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:140 eelf32_tic6x_elf_be.c:140 eelf32_tic6x_elf_le.c:140
-#: eelf32_tic6x_le.c:140 eelf32_tic6x_linux_be.c:140
-#: eelf32_tic6x_linux_le.c:140
+#: eelf32_tic6x_be.c:88 eelf32_tic6x_elf_be.c:88 eelf32_tic6x_elf_le.c:88
+#: eelf32_tic6x_le.c:88 eelf32_tic6x_linux_be.c:88 eelf32_tic6x_linux_le.c:88
 msgid "%F%P: invalid --dsbt-index %d, outside DSBT size\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:2274 eelf32_tic6x_elf_be.c:2274 eelf32_tic6x_elf_le.c:2274
-#: eelf32_tic6x_le.c:2274 eelf32_tic6x_linux_be.c:2274
-#: eelf32_tic6x_linux_le.c:2274
+#: eelf32_tic6x_be.c:543 eelf32_tic6x_elf_be.c:543 eelf32_tic6x_elf_le.c:543
+#: eelf32_tic6x_le.c:543 eelf32_tic6x_linux_be.c:543
+#: eelf32_tic6x_linux_le.c:543
 msgid "%F%P: invalid --dsbt-index %s\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:2284 eelf32_tic6x_elf_be.c:2284 eelf32_tic6x_elf_le.c:2284
-#: eelf32_tic6x_le.c:2284 eelf32_tic6x_linux_be.c:2284
-#: eelf32_tic6x_linux_le.c:2284
+#: eelf32_tic6x_be.c:553 eelf32_tic6x_elf_be.c:553 eelf32_tic6x_elf_le.c:553
+#: eelf32_tic6x_le.c:553 eelf32_tic6x_linux_be.c:553
+#: eelf32_tic6x_linux_le.c:553
 msgid "%F%P: invalid --dsbt-size %s\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:2300 eelf32_tic6x_elf_be.c:2300 eelf32_tic6x_elf_le.c:2300
-#: eelf32_tic6x_le.c:2300 eelf32_tic6x_linux_be.c:2300
-#: eelf32_tic6x_linux_le.c:2300
+#: eelf32_tic6x_be.c:569 eelf32_tic6x_elf_be.c:569 eelf32_tic6x_elf_le.c:569
+#: eelf32_tic6x_le.c:569 eelf32_tic6x_linux_be.c:569
+#: eelf32_tic6x_linux_le.c:569
 #, c-format
 msgid ""
 "  --dsbt-index <index>    Use this as the DSBT index for the output object\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:2301 eelf32_tic6x_elf_be.c:2301 eelf32_tic6x_elf_le.c:2301
-#: eelf32_tic6x_le.c:2301 eelf32_tic6x_linux_be.c:2301
-#: eelf32_tic6x_linux_le.c:2301
+#: eelf32_tic6x_be.c:570 eelf32_tic6x_elf_be.c:570 eelf32_tic6x_elf_le.c:570
+#: eelf32_tic6x_le.c:570 eelf32_tic6x_linux_be.c:570
+#: eelf32_tic6x_linux_le.c:570
 #, c-format
 msgid ""
 "  --dsbt-size <index>     Use this as the number of entries in the DSBT "
 "table\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:2302 eelf32_tic6x_elf_be.c:2302 eelf32_tic6x_elf_le.c:2302
-#: eelf32_tic6x_le.c:2302 eelf32_tic6x_linux_be.c:2302
-#: eelf32_tic6x_linux_le.c:2302
+#: eelf32_tic6x_be.c:571 eelf32_tic6x_elf_be.c:571 eelf32_tic6x_elf_le.c:571
+#: eelf32_tic6x_le.c:571 eelf32_tic6x_linux_be.c:571
+#: eelf32_tic6x_linux_le.c:571
 #, c-format
 msgid "  --no-merge-exidx-entries\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:2303 eelf32_tic6x_elf_be.c:2303 eelf32_tic6x_elf_le.c:2303
-#: eelf32_tic6x_le.c:2303 eelf32_tic6x_linux_be.c:2303
-#: eelf32_tic6x_linux_le.c:2303
+#: eelf32_tic6x_be.c:572 eelf32_tic6x_elf_be.c:572 eelf32_tic6x_elf_le.c:572
+#: eelf32_tic6x_le.c:572 eelf32_tic6x_linux_be.c:572
+#: eelf32_tic6x_linux_le.c:572
 #, c-format
 msgid "                          Disable merging exidx entries\n"
 msgstr ""
 
-#: eelf32_x86_64.c:7417 eelf32_x86_64_nacl.c:2190 eelf_i386.c:7036
-#: eelf_i386_be.c:2152 eelf_i386_chaos.c:2132 eelf_i386_fbsd.c:2194
-#: eelf_i386_ldso.c:2169 eelf_i386_nacl.c:2187 eelf_i386_sol2.c:2325
-#: eelf_i386_vxworks.c:2214 eelf_iamcu.c:6682 eelf_k1om.c:7370
-#: eelf_k1om_fbsd.c:7025 eelf_l1om.c:7370 eelf_l1om_fbsd.c:7025
-#: eelf_x86_64.c:7417 eelf_x86_64_cloudabi.c:2190 eelf_x86_64_fbsd.c:2197
-#: eelf_x86_64_nacl.c:2190 eelf_x86_64_sol2.c:2321
+#: eelf32_x86_64.c:5385 eelf32_x86_64_nacl.c:482 eelf_i386.c:5004
+#: eelf_i386_be.c:444 eelf_i386_fbsd.c:479 eelf_i386_ldso.c:454
+#: eelf_i386_nacl.c:479 eelf_i386_sol2.c:610 eelf_i386_vxworks.c:506
+#: eelf_iamcu.c:4982 eelf_k1om.c:5338 eelf_k1om_fbsd.c:5318 eelf_l1om.c:5338
+#: eelf_l1om_fbsd.c:5318 eelf_x86_64.c:5385 eelf_x86_64_cloudabi.c:482
+#: eelf_x86_64_fbsd.c:482 eelf_x86_64_nacl.c:482 eelf_x86_64_sol2.c:613
 msgid "%F%P: invalid number for -z call-nop=prefix-: %s\n"
 msgstr ""
 
-#: eelf32_x86_64.c:7426 eelf32_x86_64_nacl.c:2199 eelf_i386.c:7045
-#: eelf_i386_be.c:2161 eelf_i386_chaos.c:2141 eelf_i386_fbsd.c:2203
-#: eelf_i386_ldso.c:2178 eelf_i386_nacl.c:2196 eelf_i386_sol2.c:2334
-#: eelf_i386_vxworks.c:2223 eelf_iamcu.c:6691 eelf_k1om.c:7379
-#: eelf_k1om_fbsd.c:7034 eelf_l1om.c:7379 eelf_l1om_fbsd.c:7034
-#: eelf_x86_64.c:7426 eelf_x86_64_cloudabi.c:2199 eelf_x86_64_fbsd.c:2206
-#: eelf_x86_64_nacl.c:2199 eelf_x86_64_sol2.c:2330
+#: eelf32_x86_64.c:5394 eelf32_x86_64_nacl.c:491 eelf_i386.c:5013
+#: eelf_i386_be.c:453 eelf_i386_fbsd.c:488 eelf_i386_ldso.c:463
+#: eelf_i386_nacl.c:488 eelf_i386_sol2.c:619 eelf_i386_vxworks.c:515
+#: eelf_iamcu.c:4991 eelf_k1om.c:5347 eelf_k1om_fbsd.c:5327 eelf_l1om.c:5347
+#: eelf_l1om_fbsd.c:5327 eelf_x86_64.c:5394 eelf_x86_64_cloudabi.c:491
+#: eelf_x86_64_fbsd.c:491 eelf_x86_64_nacl.c:491 eelf_x86_64_sol2.c:622
 msgid "%F%P: invalid number for -z call-nop=suffix-: %s\n"
 msgstr ""
 
-#: eelf32_x86_64.c:7431 eelf32_x86_64_nacl.c:2204 eelf_i386.c:7050
-#: eelf_i386_be.c:2166 eelf_i386_chaos.c:2146 eelf_i386_fbsd.c:2208
-#: eelf_i386_ldso.c:2183 eelf_i386_nacl.c:2201 eelf_i386_sol2.c:2339
-#: eelf_i386_vxworks.c:2228 eelf_iamcu.c:6696 eelf_k1om.c:7384
-#: eelf_k1om_fbsd.c:7039 eelf_l1om.c:7384 eelf_l1om_fbsd.c:7039
-#: eelf_x86_64.c:7431 eelf_x86_64_cloudabi.c:2204 eelf_x86_64_fbsd.c:2211
-#: eelf_x86_64_nacl.c:2204 eelf_x86_64_sol2.c:2335
+#: eelf32_x86_64.c:5399 eelf32_x86_64_nacl.c:496 eelf_i386.c:5018
+#: eelf_i386_be.c:458 eelf_i386_fbsd.c:493 eelf_i386_ldso.c:468
+#: eelf_i386_nacl.c:493 eelf_i386_sol2.c:624 eelf_i386_vxworks.c:520
+#: eelf_iamcu.c:4996 eelf_k1om.c:5352 eelf_k1om_fbsd.c:5332 eelf_l1om.c:5352
+#: eelf_l1om_fbsd.c:5332 eelf_x86_64.c:5399 eelf_x86_64_cloudabi.c:496
+#: eelf_x86_64_fbsd.c:496 eelf_x86_64_nacl.c:496 eelf_x86_64_sol2.c:627
 msgid "%F%P: unsupported option: -z %s\n"
 msgstr ""
 
-#: eelf32_x86_64.c:7463 eelf32_x86_64_nacl.c:2236 eelf_i386.c:7082
-#: eelf_i386_be.c:2182 eelf_i386_chaos.c:2171 eelf_i386_fbsd.c:2240
-#: eelf_i386_ldso.c:2208 eelf_i386_nacl.c:2233 eelf_i386_sol2.c:2364
-#: eelf_i386_vxworks.c:2249 eelf_iamcu.c:6721 eelf_k1om.c:7409
-#: eelf_k1om_fbsd.c:7064 eelf_l1om.c:7409 eelf_l1om_fbsd.c:7064
-#: eelf_x86_64.c:7466 eelf_x86_64_cloudabi.c:2239 eelf_x86_64_fbsd.c:2246
-#: eelf_x86_64_nacl.c:2239 eelf_x86_64_sol2.c:2370
+#: eelf32_x86_64.c:5421 eelf32_x86_64_nacl.c:518 eelf_i386.c:5040
+#: eelf_i386_fbsd.c:515 eelf_i386_nacl.c:515 eelf_x86_64.c:5421
+#: eelf_x86_64_cloudabi.c:518 eelf_x86_64_fbsd.c:518 eelf_x86_64_nacl.c:518
+#: eelf_x86_64_sol2.c:649
+msgid "%F%P: invalid option for -z cet-report=: %s\n"
+msgstr ""
+
+#: eelf32_x86_64.c:5447 eelf32_x86_64_nacl.c:544 eelf_i386.c:5066
+#: eelf_i386_be.c:474 eelf_i386_fbsd.c:541 eelf_i386_ldso.c:493
+#: eelf_i386_nacl.c:541 eelf_i386_sol2.c:649 eelf_i386_vxworks.c:541
+#: eelf_iamcu.c:5021 eelf_k1om.c:5377 eelf_k1om_fbsd.c:5357 eelf_l1om.c:5377
+#: eelf_l1om_fbsd.c:5357 eelf_x86_64.c:5450 eelf_x86_64_cloudabi.c:547
+#: eelf_x86_64_fbsd.c:547 eelf_x86_64_nacl.c:547 eelf_x86_64_sol2.c:678
 #, c-format
 msgid ""
 "  -z noextern-protected-data  Do not treat protected data symbol as "
 "external\n"
 msgstr ""
 
-#: eelf32_x86_64.c:7466 eelf32_x86_64_nacl.c:2239 eelf32lppc.c:2517
-#: eelf32lppclinux.c:2517 eelf32lppcnto.c:2517 eelf32lppcsim.c:2517
-#: eelf32ppc.c:2517 eelf32ppc_fbsd.c:2524 eelf32ppclinux.c:2517
-#: eelf32ppcnto.c:2517 eelf32ppcsim.c:2517 eelf32ppcvxworks.c:2495
-#: eelf32ppcwindiss.c:2517 eelf64lppc.c:3013 eelf64ppc.c:3013
-#: eelf64ppc_fbsd.c:3020 eelf_i386.c:7085 eelf_i386_be.c:2185
-#: eelf_i386_chaos.c:2174 eelf_i386_fbsd.c:2243 eelf_i386_ldso.c:2211
-#: eelf_i386_nacl.c:2236 eelf_i386_sol2.c:2367 eelf_i386_vxworks.c:2252
-#: eelf_iamcu.c:6724 eelf_k1om.c:7412 eelf_k1om_fbsd.c:7067 eelf_l1om.c:7412
-#: eelf_l1om_fbsd.c:7067 eelf_x86_64.c:7469 eelf_x86_64_cloudabi.c:2242
-#: eelf_x86_64_fbsd.c:2249 eelf_x86_64_nacl.c:2242 eelf_x86_64_sol2.c:2373
-#: eppclynx.c:2524
+#: eelf32_x86_64.c:5450 eelf32_x86_64_nacl.c:547 eelf32lppc.c:790
+#: eelf32lppclinux.c:790 eelf32lppcnto.c:790 eelf32lppcsim.c:790
+#: eelf32ppc.c:790 eelf32ppc_fbsd.c:790 eelf32ppclinux.c:790 eelf32ppcnto.c:790
+#: eelf32ppcsim.c:790 eelf32ppcvxworks.c:768 eelf32ppcwindiss.c:790
+#: eelf64lppc.c:1259 eelf64ppc.c:1259 eelf64ppc_fbsd.c:1259 eelf_i386.c:5069
+#: eelf_i386_be.c:477 eelf_i386_fbsd.c:544 eelf_i386_ldso.c:496
+#: eelf_i386_nacl.c:544 eelf_i386_sol2.c:652 eelf_i386_vxworks.c:544
+#: eelf_iamcu.c:5024 eelf_k1om.c:5380 eelf_k1om_fbsd.c:5360 eelf_l1om.c:5380
+#: eelf_l1om_fbsd.c:5360 eelf_x86_64.c:5453 eelf_x86_64_cloudabi.c:550
+#: eelf_x86_64_fbsd.c:550 eelf_x86_64_nacl.c:550 eelf_x86_64_sol2.c:681
+#: eppclynx.c:790
 #, c-format
 msgid ""
 "  -z dynamic-undefined-weak   Make undefined weak symbols dynamic\n"
 "  -z nodynamic-undefined-weak Do not make undefined weak symbols dynamic\n"
 msgstr ""
 
-#: eelf32_x86_64.c:7470 eelf32_x86_64_nacl.c:2243 eelf_x86_64.c:7473
-#: eelf_x86_64_cloudabi.c:2246 eelf_x86_64_fbsd.c:2253 eelf_x86_64_nacl.c:2246
-#: eelf_x86_64_sol2.c:2377
+#: eelf32_x86_64.c:5454 eelf32_x86_64_nacl.c:551 eelf_x86_64.c:5457
+#: eelf_x86_64_cloudabi.c:554 eelf_x86_64_fbsd.c:554 eelf_x86_64_nacl.c:554
+#: eelf_x86_64_sol2.c:685
 #, c-format
 msgid "  -z noreloc-overflow         Disable relocation overflow check\n"
 msgstr ""
 
-#: eelf32_x86_64.c:7473 eelf32_x86_64_nacl.c:2246 eelf_i386.c:7089
-#: eelf_i386_be.c:2189 eelf_i386_chaos.c:2178 eelf_i386_fbsd.c:2247
-#: eelf_i386_ldso.c:2215 eelf_i386_nacl.c:2240 eelf_i386_sol2.c:2371
-#: eelf_i386_vxworks.c:2256 eelf_iamcu.c:6728 eelf_k1om.c:7416
-#: eelf_k1om_fbsd.c:7071 eelf_l1om.c:7416 eelf_l1om_fbsd.c:7071
-#: eelf_x86_64.c:7476 eelf_x86_64_cloudabi.c:2249 eelf_x86_64_fbsd.c:2256
-#: eelf_x86_64_nacl.c:2249 eelf_x86_64_sol2.c:2380
+#: eelf32_x86_64.c:5457 eelf32_x86_64_nacl.c:554 eelf_i386.c:5073
+#: eelf_i386_be.c:481 eelf_i386_fbsd.c:548 eelf_i386_ldso.c:500
+#: eelf_i386_nacl.c:548 eelf_i386_sol2.c:656 eelf_i386_vxworks.c:548
+#: eelf_iamcu.c:5028 eelf_k1om.c:5384 eelf_k1om_fbsd.c:5364 eelf_l1om.c:5384
+#: eelf_l1om_fbsd.c:5364 eelf_x86_64.c:5460 eelf_x86_64_cloudabi.c:557
+#: eelf_x86_64_fbsd.c:557 eelf_x86_64_nacl.c:557 eelf_x86_64_sol2.c:688
 #, c-format
 msgid "  -z call-nop=PADDING         Use PADDING as 1-byte NOP for branch\n"
 msgstr ""
 
-#: eelf32_x86_64.c:7476 eelf32_x86_64_nacl.c:2249 eelf_i386.c:7092
-#: eelf_i386_fbsd.c:2250 eelf_i386_nacl.c:2243 eelf_x86_64.c:7479
-#: eelf_x86_64_cloudabi.c:2252 eelf_x86_64_fbsd.c:2259 eelf_x86_64_nacl.c:2252
-#: eelf_x86_64_sol2.c:2383
+#: eelf32_x86_64.c:5460 eelf32_x86_64_nacl.c:557 eelf_i386.c:5076
+#: eelf_i386_fbsd.c:551 eelf_i386_nacl.c:551 eelf_x86_64.c:5463
+#: eelf_x86_64_cloudabi.c:560 eelf_x86_64_fbsd.c:560 eelf_x86_64_nacl.c:560
+#: eelf_x86_64_sol2.c:691
 #, c-format
 msgid "  -z ibtplt                   Generate IBT-enabled PLT entries\n"
 msgstr ""
 
-#: eelf32_x86_64.c:7478 eelf32_x86_64_nacl.c:2251 eelf_i386.c:7094
-#: eelf_i386_fbsd.c:2252 eelf_i386_nacl.c:2245 eelf_x86_64.c:7481
-#: eelf_x86_64_cloudabi.c:2254 eelf_x86_64_fbsd.c:2261 eelf_x86_64_nacl.c:2254
-#: eelf_x86_64_sol2.c:2385
+#: eelf32_x86_64.c:5462 eelf32_x86_64_nacl.c:559 eelf_i386.c:5078
+#: eelf_i386_fbsd.c:553 eelf_i386_nacl.c:553 eelf_x86_64.c:5465
+#: eelf_x86_64_cloudabi.c:562 eelf_x86_64_fbsd.c:562 eelf_x86_64_nacl.c:562
+#: eelf_x86_64_sol2.c:693
 #, c-format
 msgid "  -z ibt                      Generate GNU_PROPERTY_X86_FEATURE_1_IBT\n"
 msgstr ""
 
-#: eelf32_x86_64.c:7480 eelf32_x86_64_nacl.c:2253 eelf_i386.c:7096
-#: eelf_i386_fbsd.c:2254 eelf_i386_nacl.c:2247 eelf_x86_64.c:7483
-#: eelf_x86_64_cloudabi.c:2256 eelf_x86_64_fbsd.c:2263 eelf_x86_64_nacl.c:2256
-#: eelf_x86_64_sol2.c:2387
+#: eelf32_x86_64.c:5464 eelf32_x86_64_nacl.c:561 eelf_i386.c:5080
+#: eelf_i386_fbsd.c:555 eelf_i386_nacl.c:555 eelf_x86_64.c:5467
+#: eelf_x86_64_cloudabi.c:564 eelf_x86_64_fbsd.c:564 eelf_x86_64_nacl.c:564
+#: eelf_x86_64_sol2.c:695
 #, c-format
 msgid ""
 "  -z shstk                    Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK\n"
 msgstr ""
 
-#: eelf32b4300.c:125 eelf32bmip.c:125 eelf32bmipn32.c:143 eelf32bsmip.c:143
-#: eelf32btsmip.c:125 eelf32btsmip_fbsd.c:125 eelf32btsmipn32.c:125
-#: eelf32btsmipn32_fbsd.c:125 eelf32ebmip.c:125 eelf32ebmipvxworks.c:125
-#: eelf32elmip.c:125 eelf32elmipvxworks.c:125 eelf32l4300.c:125
-#: eelf32lmip.c:125 eelf32lr5900.c:125 eelf32lr5900n32.c:125 eelf32lsmip.c:125
-#: eelf32ltsmip.c:125 eelf32ltsmip_fbsd.c:125 eelf32ltsmipn32.c:125
-#: eelf32ltsmipn32_fbsd.c:125 eelf32mipswindiss.c:125 eelf64bmip.c:143
-#: eelf64btsmip.c:125 eelf64btsmip_fbsd.c:125 eelf64ltsmip.c:125
-#: eelf64ltsmip_fbsd.c:125
-msgid "%X%P: .gnu.hash is incompatible with the MIPS ABI\n"
+#: eelf32_x86_64.c:5466 eelf32_x86_64_nacl.c:563 eelf_i386.c:5082
+#: eelf_i386_fbsd.c:557 eelf_i386_nacl.c:557 eelf_x86_64.c:5469
+#: eelf_x86_64_cloudabi.c:566 eelf_x86_64_fbsd.c:566 eelf_x86_64_nacl.c:566
+#: eelf_x86_64_sol2.c:697
+#, c-format
+msgid ""
+"  -z cet-report=[none|warning|error] (default: none)\n"
+"                              Report missing IBT and SHSTK properties\n"
 msgstr ""
 
-#: eelf32b4300.c:2423 eelf32bmip.c:2423 eelf32bmipn32.c:2441 eelf32bsmip.c:2441
-#: eelf32btsmip.c:2423 eelf32btsmip_fbsd.c:2430 eelf32btsmipn32.c:2423
-#: eelf32btsmipn32_fbsd.c:2430 eelf32ebmip.c:2423 eelf32ebmipvxworks.c:2462
-#: eelf32elmip.c:2423 eelf32elmipvxworks.c:2462 eelf32l4300.c:2423
-#: eelf32lmip.c:2423 eelf32lr5900.c:2286 eelf32lr5900n32.c:2286
-#: eelf32lsmip.c:2423 eelf32ltsmip.c:2423 eelf32ltsmip_fbsd.c:2430
-#: eelf32ltsmipn32.c:2423 eelf32ltsmipn32_fbsd.c:2430 eelf32mipswindiss.c:2261
-#: eelf64bmip.c:2441 eelf64btsmip.c:2423 eelf64btsmip_fbsd.c:2430
-#: eelf64ltsmip.c:2423 eelf64ltsmip_fbsd.c:2430
+#: eelf32b4300.c:673 eelf32bmip.c:673 eelf32bmipn32.c:687 eelf32bsmip.c:687
+#: eelf32btsmip.c:673 eelf32btsmip_fbsd.c:673 eelf32btsmipn32.c:673
+#: eelf32btsmipn32_fbsd.c:673 eelf32ebmip.c:673 eelf32ebmipvxworks.c:712
+#: eelf32elmip.c:673 eelf32elmipvxworks.c:712 eelf32l4300.c:673
+#: eelf32lmip.c:673 eelf32lr5900.c:536 eelf32lr5900n32.c:536 eelf32lsmip.c:673
+#: eelf32ltsmip.c:673 eelf32ltsmip_fbsd.c:673 eelf32ltsmipn32.c:673
+#: eelf32ltsmipn32_fbsd.c:673 eelf32mipswindiss.c:511 eelf64bmip.c:687
+#: eelf64btsmip.c:673 eelf64btsmip_fbsd.c:673 eelf64ltsmip.c:673
+#: eelf64ltsmip_fbsd.c:673
 #, c-format
 msgid ""
 "  --insn32                    Only generate 32-bit microMIPS instructions\n"
 msgstr ""
 
-#: eelf32b4300.c:2426 eelf32bmip.c:2426 eelf32bmipn32.c:2444 eelf32bsmip.c:2444
-#: eelf32btsmip.c:2426 eelf32btsmip_fbsd.c:2433 eelf32btsmipn32.c:2426
-#: eelf32btsmipn32_fbsd.c:2433 eelf32ebmip.c:2426 eelf32ebmipvxworks.c:2465
-#: eelf32elmip.c:2426 eelf32elmipvxworks.c:2465 eelf32l4300.c:2426
-#: eelf32lmip.c:2426 eelf32lr5900.c:2289 eelf32lr5900n32.c:2289
-#: eelf32lsmip.c:2426 eelf32ltsmip.c:2426 eelf32ltsmip_fbsd.c:2433
-#: eelf32ltsmipn32.c:2426 eelf32ltsmipn32_fbsd.c:2433 eelf32mipswindiss.c:2264
-#: eelf64bmip.c:2444 eelf64btsmip.c:2426 eelf64btsmip_fbsd.c:2433
-#: eelf64ltsmip.c:2426 eelf64ltsmip_fbsd.c:2433
+#: eelf32b4300.c:676 eelf32bmip.c:676 eelf32bmipn32.c:690 eelf32bsmip.c:690
+#: eelf32btsmip.c:676 eelf32btsmip_fbsd.c:676 eelf32btsmipn32.c:676
+#: eelf32btsmipn32_fbsd.c:676 eelf32ebmip.c:676 eelf32ebmipvxworks.c:715
+#: eelf32elmip.c:676 eelf32elmipvxworks.c:715 eelf32l4300.c:676
+#: eelf32lmip.c:676 eelf32lr5900.c:539 eelf32lr5900n32.c:539 eelf32lsmip.c:676
+#: eelf32ltsmip.c:676 eelf32ltsmip_fbsd.c:676 eelf32ltsmipn32.c:676
+#: eelf32ltsmipn32_fbsd.c:676 eelf32mipswindiss.c:514 eelf64bmip.c:690
+#: eelf64btsmip.c:676 eelf64btsmip_fbsd.c:676 eelf64ltsmip.c:676
+#: eelf64ltsmip_fbsd.c:676
 #, c-format
 msgid "  --no-insn32                 Generate all microMIPS instructions\n"
 msgstr ""
 
-#: eelf32b4300.c:2429 eelf32bmip.c:2429 eelf32bmipn32.c:2447 eelf32bsmip.c:2447
-#: eelf32btsmip.c:2429 eelf32btsmip_fbsd.c:2436 eelf32btsmipn32.c:2429
-#: eelf32btsmipn32_fbsd.c:2436 eelf32ebmip.c:2429 eelf32ebmipvxworks.c:2468
-#: eelf32elmip.c:2429 eelf32elmipvxworks.c:2468 eelf32l4300.c:2429
-#: eelf32lmip.c:2429 eelf32lr5900.c:2292 eelf32lr5900n32.c:2292
-#: eelf32lsmip.c:2429 eelf32ltsmip.c:2429 eelf32ltsmip_fbsd.c:2436
-#: eelf32ltsmipn32.c:2429 eelf32ltsmipn32_fbsd.c:2436 eelf32mipswindiss.c:2267
-#: eelf64bmip.c:2447 eelf64btsmip.c:2429 eelf64btsmip_fbsd.c:2436
-#: eelf64ltsmip.c:2429 eelf64ltsmip_fbsd.c:2436
+#: eelf32b4300.c:679 eelf32bmip.c:679 eelf32bmipn32.c:693 eelf32bsmip.c:693
+#: eelf32btsmip.c:679 eelf32btsmip_fbsd.c:679 eelf32btsmipn32.c:679
+#: eelf32btsmipn32_fbsd.c:679 eelf32ebmip.c:679 eelf32ebmipvxworks.c:718
+#: eelf32elmip.c:679 eelf32elmipvxworks.c:718 eelf32l4300.c:679
+#: eelf32lmip.c:679 eelf32lr5900.c:542 eelf32lr5900n32.c:542 eelf32lsmip.c:679
+#: eelf32ltsmip.c:679 eelf32ltsmip_fbsd.c:679 eelf32ltsmipn32.c:679
+#: eelf32ltsmipn32_fbsd.c:679 eelf32mipswindiss.c:517 eelf64bmip.c:693
+#: eelf64btsmip.c:679 eelf64btsmip_fbsd.c:679 eelf64ltsmip.c:679
+#: eelf64ltsmip_fbsd.c:679
 #, c-format
 msgid ""
 "  --ignore-branch-isa         Accept invalid branch relocations requiring\n"
 "                              an ISA mode switch\n"
 msgstr ""
 
-#: eelf32b4300.c:2433 eelf32bmip.c:2433 eelf32bmipn32.c:2451 eelf32bsmip.c:2451
-#: eelf32btsmip.c:2433 eelf32btsmip_fbsd.c:2440 eelf32btsmipn32.c:2433
-#: eelf32btsmipn32_fbsd.c:2440 eelf32ebmip.c:2433 eelf32ebmipvxworks.c:2472
-#: eelf32elmip.c:2433 eelf32elmipvxworks.c:2472 eelf32l4300.c:2433
-#: eelf32lmip.c:2433 eelf32lr5900.c:2296 eelf32lr5900n32.c:2296
-#: eelf32lsmip.c:2433 eelf32ltsmip.c:2433 eelf32ltsmip_fbsd.c:2440
-#: eelf32ltsmipn32.c:2433 eelf32ltsmipn32_fbsd.c:2440 eelf32mipswindiss.c:2271
-#: eelf64bmip.c:2451 eelf64btsmip.c:2433 eelf64btsmip_fbsd.c:2440
-#: eelf64ltsmip.c:2433 eelf64ltsmip_fbsd.c:2440
+#: eelf32b4300.c:683 eelf32bmip.c:683 eelf32bmipn32.c:697 eelf32bsmip.c:697
+#: eelf32btsmip.c:683 eelf32btsmip_fbsd.c:683 eelf32btsmipn32.c:683
+#: eelf32btsmipn32_fbsd.c:683 eelf32ebmip.c:683 eelf32ebmipvxworks.c:722
+#: eelf32elmip.c:683 eelf32elmipvxworks.c:722 eelf32l4300.c:683
+#: eelf32lmip.c:683 eelf32lr5900.c:546 eelf32lr5900n32.c:546 eelf32lsmip.c:683
+#: eelf32ltsmip.c:683 eelf32ltsmip_fbsd.c:683 eelf32ltsmipn32.c:683
+#: eelf32ltsmipn32_fbsd.c:683 eelf32mipswindiss.c:521 eelf64bmip.c:697
+#: eelf64btsmip.c:683 eelf64btsmip_fbsd.c:683 eelf64ltsmip.c:683
+#: eelf64ltsmip_fbsd.c:683
 #, c-format
 msgid ""
 "  --no-ignore-branch-isa      Reject invalid branch relocations requiring\n"
 "                              an ISA mode switch\n"
 msgstr ""
 
-#: eelf32bfin.c:2164 eelf32bfinfd.c:2189
+#: eelf32b4300.c:687 eelf32bmip.c:687 eelf32bmipn32.c:701 eelf32bsmip.c:701
+#: eelf32btsmip.c:687 eelf32btsmip_fbsd.c:687 eelf32btsmipn32.c:687
+#: eelf32btsmipn32_fbsd.c:687 eelf32ebmip.c:687 eelf32ebmipvxworks.c:726
+#: eelf32elmip.c:687 eelf32elmipvxworks.c:726 eelf32l4300.c:687
+#: eelf32lmip.c:687 eelf32lr5900.c:550 eelf32lr5900n32.c:550 eelf32lsmip.c:687
+#: eelf32ltsmip.c:687 eelf32ltsmip_fbsd.c:687 eelf32ltsmipn32.c:687
+#: eelf32ltsmipn32_fbsd.c:687 eelf32mipswindiss.c:525 eelf64bmip.c:701
+#: eelf64btsmip.c:687 eelf64btsmip_fbsd.c:687 eelf64ltsmip.c:687
+#: eelf64ltsmip_fbsd.c:687
+#, c-format
+msgid ""
+"  --compact-branches          Generate compact branches/jumps for MIPS R6\n"
+msgstr ""
+
+#: eelf32b4300.c:690 eelf32bmip.c:690 eelf32bmipn32.c:704 eelf32bsmip.c:704
+#: eelf32btsmip.c:690 eelf32btsmip_fbsd.c:690 eelf32btsmipn32.c:690
+#: eelf32btsmipn32_fbsd.c:690 eelf32ebmip.c:690 eelf32ebmipvxworks.c:729
+#: eelf32elmip.c:690 eelf32elmipvxworks.c:729 eelf32l4300.c:690
+#: eelf32lmip.c:690 eelf32lr5900.c:553 eelf32lr5900n32.c:553 eelf32lsmip.c:690
+#: eelf32ltsmip.c:690 eelf32ltsmip_fbsd.c:690 eelf32ltsmipn32.c:690
+#: eelf32ltsmipn32_fbsd.c:690 eelf32mipswindiss.c:528 eelf64bmip.c:704
+#: eelf64btsmip.c:690 eelf64btsmip_fbsd.c:690 eelf64ltsmip.c:690
+#: eelf64ltsmip_fbsd.c:690
+#, c-format
+msgid ""
+"  --no-compact-branches       Generate delay slot branches/jumps for MIPS "
+"R6\n"
+msgstr ""
+
+#: eelf32bfin.c:434 eelf32bfinfd.c:459
 #, c-format
 msgid "  --code-in-l1                Put code in L1\n"
 msgstr ""
 
-#: eelf32bfin.c:2166 eelf32bfinfd.c:2191
+#: eelf32bfin.c:436 eelf32bfinfd.c:461
 #, c-format
 msgid "  --data-in-l1                Put data in L1\n"
 msgstr ""
 
-#: eelf32cr16.c:136
+#: eelf32cr16.c:85
 msgid ""
 "%F%P: %pB: all input objects must be COFF or ELF for --embedded-relocs\n"
 msgstr ""
 
-#: eelf32cr16.c:162 em68kelf.c:164 em68kelfnbsd.c:164
+#: eelf32cr16.c:109 em68kelf.c:113 em68kelfnbsd.c:113
 msgid "%F%P: %pB: can not create .emreloc section: %E\n"
 msgstr ""
 
-#: eelf32cr16.c:181 em68kelf.c:185 em68kelfnbsd.c:185
+#: eelf32cr16.c:128 em68kelf.c:134 em68kelfnbsd.c:134
 msgid "%X%P: %pB: section %s has relocs; can not use --embedded-relocs\n"
 msgstr ""
 
-#: eelf32cr16.c:237 em68kelf.c:228 em68kelfnbsd.c:228
+#: eelf32cr16.c:184 em68kelf.c:177 em68kelfnbsd.c:177
 msgid "%X%P: %pB: can not create runtime reloc information: %E\n"
 msgstr ""
 
-#: eelf32cr16.c:240 em68kelf.c:232 em68kelfnbsd.c:232
+#: eelf32cr16.c:187 em68kelf.c:181 em68kelfnbsd.c:181
 msgid "%X%P: %pB: can not create runtime reloc information: %s\n"
 msgstr ""
 
-#: eelf32lppc.c:148 eelf32lppclinux.c:148 eelf32lppcnto.c:148
-#: eelf32lppcsim.c:148 eelf32ppc.c:148 eelf32ppc_fbsd.c:148
-#: eelf32ppclinux.c:148 eelf32ppcnto.c:148 eelf32ppcsim.c:148
-#: eelf32ppcwindiss.c:148 eppclynx.c:148
+#: eelf32lppc.c:96 eelf32lppclinux.c:96 eelf32lppcnto.c:96 eelf32lppcsim.c:96
+#: eelf32ppc.c:96 eelf32ppc_fbsd.c:96 eelf32ppclinux.c:96 eelf32ppcnto.c:96
+#: eelf32ppcsim.c:96 eelf32ppcwindiss.c:96 eppclynx.c:96
 msgid "%X%P: select_plt_layout problem %E\n"
 msgstr ""
 
-#: eelf32lppc.c:212 eelf32lppclinux.c:212 eelf32lppcnto.c:212
-#: eelf32lppcsim.c:212 eelf32ppc.c:212 eelf32ppc_fbsd.c:212
-#: eelf32ppclinux.c:212 eelf32ppcnto.c:212 eelf32ppcsim.c:212
-#: eelf32ppcvxworks.c:157 eelf32ppcwindiss.c:212 eelf64lppc.c:371
-#: eelf64ppc.c:371 eelf64ppc_fbsd.c:371 eppclynx.c:212
+#: eelf32lppc.c:160 eelf32lppclinux.c:160 eelf32lppcnto.c:160
+#: eelf32lppcsim.c:160 eelf32ppc.c:160 eelf32ppc_fbsd.c:160
+#: eelf32ppclinux.c:160 eelf32ppcnto.c:160 eelf32ppcsim.c:160
+#: eelf32ppcvxworks.c:105 eelf32ppcwindiss.c:160 eelf64lppc.c:319
+#: eelf64ppc.c:319 eelf64ppc_fbsd.c:319 eppclynx.c:160
 msgid "%X%P: inline PLT: %E\n"
 msgstr ""
 
-#: eelf32lppc.c:220 eelf32lppclinux.c:220 eelf32lppcnto.c:220
-#: eelf32lppcsim.c:220 eelf32ppc.c:220 eelf32ppc_fbsd.c:220
-#: eelf32ppclinux.c:220 eelf32ppcnto.c:220 eelf32ppcsim.c:220
-#: eelf32ppcvxworks.c:165 eelf32ppcwindiss.c:220 eelf64lppc.c:382
-#: eelf64ppc.c:382 eelf64ppc_fbsd.c:382 eppclynx.c:220
+#: eelf32lppc.c:168 eelf32lppclinux.c:168 eelf32lppcnto.c:168
+#: eelf32lppcsim.c:168 eelf32ppc.c:168 eelf32ppc_fbsd.c:168
+#: eelf32ppclinux.c:168 eelf32ppcnto.c:168 eelf32ppcsim.c:168
+#: eelf32ppcvxworks.c:113 eelf32ppcwindiss.c:168 eelf64lppc.c:330
+#: eelf64ppc.c:330 eelf64ppc_fbsd.c:330 eppclynx.c:168
 msgid "%X%P: TLS problem %E\n"
 msgstr ""
 
-#: eelf32lppc.c:302 eelf32lppclinux.c:302 eelf32lppcnto.c:302
-#: eelf32lppcsim.c:302 eelf32ppc.c:302 eelf32ppc_fbsd.c:302
-#: eelf32ppclinux.c:302 eelf32ppcnto.c:302 eelf32ppcsim.c:302
-#: eelf32ppcvxworks.c:247 eelf32ppcwindiss.c:302 eppclynx.c:302
+#: eelf32lppc.c:255 eelf32lppclinux.c:255 eelf32lppcnto.c:255
+#: eelf32lppcsim.c:255 eelf32ppc.c:255 eelf32ppc_fbsd.c:255
+#: eelf32ppclinux.c:255 eelf32ppcnto.c:255 eelf32ppcsim.c:255
+#: eelf32ppcvxworks.c:200 eelf32ppcwindiss.c:255 eppclynx.c:255
 msgid "%X%P: ppc_finish_symbols problem %E\n"
 msgstr ""
 
-#: eelf32lppc.c:2458 eelf32lppclinux.c:2458 eelf32lppcnto.c:2458
-#: eelf32lppcsim.c:2458 eelf32ppc.c:2458 eelf32ppc_fbsd.c:2465
-#: eelf32ppclinux.c:2458 eelf32ppcnto.c:2458 eelf32ppcsim.c:2458
-#: eelf32ppcvxworks.c:2432 eelf32ppcwindiss.c:2458 eelf64lppc.c:2914
-#: eelf64ppc.c:2914 eelf64ppc_fbsd.c:2921 eppclynx.c:2465
+#: eelf32lppc.c:731 eelf32lppclinux.c:731 eelf32lppcnto.c:731
+#: eelf32lppcsim.c:731 eelf32ppc.c:731 eelf32ppc_fbsd.c:731
+#: eelf32ppclinux.c:731 eelf32ppcnto.c:731 eelf32ppcsim.c:731
+#: eelf32ppcvxworks.c:705 eelf32ppcwindiss.c:731 eelf64lppc.c:1160
+#: eelf64ppc.c:1160 eelf64ppc_fbsd.c:1160 eppclynx.c:731
 msgid "%F%P: invalid --plt-align `%s'\n"
 msgstr ""
 
-#: eelf32lppc.c:2491 eelf32lppclinux.c:2491 eelf32lppcnto.c:2491
-#: eelf32lppcsim.c:2491 eelf32ppc.c:2491 eelf32ppc_fbsd.c:2498
-#: eelf32ppclinux.c:2491 eelf32ppcnto.c:2491 eelf32ppcsim.c:2491
-#: eelf32ppcvxworks.c:2465 eelf32ppcwindiss.c:2491 eppclynx.c:2498
+#: eelf32lppc.c:764 eelf32lppclinux.c:764 eelf32lppcnto.c:764
+#: eelf32lppcsim.c:764 eelf32ppc.c:764 eelf32ppc_fbsd.c:764
+#: eelf32ppclinux.c:764 eelf32ppcnto.c:764 eelf32ppcsim.c:764
+#: eelf32ppcvxworks.c:738 eelf32ppcwindiss.c:764 eppclynx.c:764
 msgid "%F%P: invalid pagesize `%s'\n"
 msgstr ""
 
-#: eelf32lppc.c:2521 eelf32lppclinux.c:2521 eelf32lppcnto.c:2521
-#: eelf32lppcsim.c:2521 eelf32ppc.c:2521 eelf32ppc_fbsd.c:2528
-#: eelf32ppclinux.c:2521 eelf32ppcnto.c:2521 eelf32ppcsim.c:2521
-#: eelf32ppcvxworks.c:2499 eelf32ppcwindiss.c:2521 eelf64lppc.c:3051
-#: eelf64ppc.c:3051 eelf64ppc_fbsd.c:3058 eppclynx.c:2528
+#: eelf32lppc.c:794 eelf32lppclinux.c:794 eelf32lppcnto.c:794
+#: eelf32lppcsim.c:794 eelf32ppc.c:794 eelf32ppc_fbsd.c:794
+#: eelf32ppclinux.c:794 eelf32ppcnto.c:794 eelf32ppcsim.c:794
+#: eelf32ppcvxworks.c:772 eelf32ppcwindiss.c:794 eelf64lppc.c:1297
+#: eelf64ppc.c:1297 eelf64ppc_fbsd.c:1297 eppclynx.c:794
 #, c-format
 msgid "  --emit-stub-syms            Label linker stubs with a symbol\n"
 msgstr ""
 
-#: eelf32lppc.c:2524 eelf32lppclinux.c:2524 eelf32lppcnto.c:2524
-#: eelf32lppcsim.c:2524 eelf32ppc.c:2524 eelf32ppc_fbsd.c:2531
-#: eelf32ppclinux.c:2524 eelf32ppcnto.c:2524 eelf32ppcsim.c:2524
-#: eelf32ppcvxworks.c:2502 eelf32ppcwindiss.c:2524 eelf64lppc.c:3054
-#: eelf64ppc.c:3054 eelf64ppc_fbsd.c:3061 eppclynx.c:2531
+#: eelf32lppc.c:797 eelf32lppclinux.c:797 eelf32lppcnto.c:797
+#: eelf32lppcsim.c:797 eelf32ppc.c:797 eelf32ppc_fbsd.c:797
+#: eelf32ppclinux.c:797 eelf32ppcnto.c:797 eelf32ppcsim.c:797
+#: eelf32ppcvxworks.c:775 eelf32ppcwindiss.c:797 eelf64lppc.c:1300
+#: eelf64ppc.c:1300 eelf64ppc_fbsd.c:1300 eppclynx.c:797
 #, c-format
 msgid "  --no-emit-stub-syms         Don't label linker stubs with a symbol\n"
 msgstr ""
 
-#: eelf32lppc.c:2527 eelf32lppclinux.c:2527 eelf32lppcnto.c:2527
-#: eelf32lppcsim.c:2527 eelf32ppc.c:2527 eelf32ppc_fbsd.c:2534
-#: eelf32ppclinux.c:2527 eelf32ppcnto.c:2527 eelf32ppcsim.c:2527
-#: eelf32ppcvxworks.c:2505 eelf32ppcwindiss.c:2527 eelf64lppc.c:3074
-#: eelf64ppc.c:3074 eelf64ppc_fbsd.c:3081 eppclynx.c:2534
+#: eelf32lppc.c:800 eelf32lppclinux.c:800 eelf32lppcnto.c:800
+#: eelf32lppcsim.c:800 eelf32ppc.c:800 eelf32ppc_fbsd.c:800
+#: eelf32ppclinux.c:800 eelf32ppcnto.c:800 eelf32ppcsim.c:800
+#: eelf32ppcvxworks.c:778 eelf32ppcwindiss.c:800 eelf64lppc.c:1320
+#: eelf64ppc.c:1320 eelf64ppc_fbsd.c:1320 eppclynx.c:800
 #, c-format
 msgid "  --no-tls-optimize           Don't try to optimize TLS accesses\n"
 msgstr ""
 
-#: eelf32lppc.c:2530 eelf32lppclinux.c:2530 eelf32lppcnto.c:2530
-#: eelf32lppcsim.c:2530 eelf32ppc.c:2530 eelf32ppc_fbsd.c:2537
-#: eelf32ppclinux.c:2530 eelf32ppcnto.c:2530 eelf32ppcsim.c:2530
-#: eelf32ppcvxworks.c:2508 eelf32ppcwindiss.c:2530 eelf64lppc.c:3080
-#: eelf64ppc.c:3080 eelf64ppc_fbsd.c:3087 eppclynx.c:2537
+#: eelf32lppc.c:803 eelf32lppclinux.c:803 eelf32lppcnto.c:803
+#: eelf32lppcsim.c:803 eelf32ppc.c:803 eelf32ppc_fbsd.c:803
+#: eelf32ppclinux.c:803 eelf32ppcnto.c:803 eelf32ppcsim.c:803
+#: eelf32ppcvxworks.c:781 eelf32ppcwindiss.c:803 eelf64lppc.c:1326
+#: eelf64ppc.c:1326 eelf64ppc_fbsd.c:1326 eppclynx.c:803
 #, c-format
 msgid "  --no-tls-get-addr-optimize  Don't use a special __tls_get_addr call\n"
 msgstr ""
 
-#: eelf32lppc.c:2533 eelf32lppclinux.c:2533 eelf32lppcnto.c:2533
-#: eelf32lppcsim.c:2533 eelf32ppc.c:2533 eelf32ppc_fbsd.c:2540
-#: eelf32ppclinux.c:2533 eelf32ppcnto.c:2533 eelf32ppcsim.c:2533
-#: eelf32ppcwindiss.c:2533 eppclynx.c:2540
+#: eelf32lppc.c:806 eelf32lppclinux.c:806 eelf32lppcnto.c:806
+#: eelf32lppcsim.c:806 eelf32ppc.c:806 eelf32ppc_fbsd.c:806
+#: eelf32ppclinux.c:806 eelf32ppcnto.c:806 eelf32ppcsim.c:806
+#: eelf32ppcwindiss.c:806 eppclynx.c:806
 #, c-format
 msgid "  --secure-plt                Use new-style PLT if possible\n"
 msgstr ""
 
-#: eelf32lppc.c:2536 eelf32lppclinux.c:2536 eelf32lppcnto.c:2536
-#: eelf32lppcsim.c:2536 eelf32ppc.c:2536 eelf32ppc_fbsd.c:2543
-#: eelf32ppclinux.c:2536 eelf32ppcnto.c:2536 eelf32ppcsim.c:2536
-#: eelf32ppcwindiss.c:2536 eppclynx.c:2543
+#: eelf32lppc.c:809 eelf32lppclinux.c:809 eelf32lppcnto.c:809
+#: eelf32lppcsim.c:809 eelf32ppc.c:809 eelf32ppc_fbsd.c:809
+#: eelf32ppclinux.c:809 eelf32ppcnto.c:809 eelf32ppcsim.c:809
+#: eelf32ppcwindiss.c:809 eppclynx.c:809
 #, c-format
 msgid "  --bss-plt                   Force old-style BSS PLT\n"
 msgstr ""
 
-#: eelf32lppc.c:2539 eelf32lppclinux.c:2539 eelf32lppcnto.c:2539
-#: eelf32lppcsim.c:2539 eelf32ppc.c:2539 eelf32ppc_fbsd.c:2546
-#: eelf32ppclinux.c:2539 eelf32ppcnto.c:2539 eelf32ppcsim.c:2539
-#: eelf32ppcwindiss.c:2539 eppclynx.c:2546
+#: eelf32lppc.c:812 eelf32lppclinux.c:812 eelf32lppcnto.c:812
+#: eelf32lppcsim.c:812 eelf32ppc.c:812 eelf32ppc_fbsd.c:812
+#: eelf32ppclinux.c:812 eelf32ppcnto.c:812 eelf32ppcsim.c:812
+#: eelf32ppcwindiss.c:812 eppclynx.c:812
 #, c-format
 msgid "  --plt-align                 Align PLT call stubs to fit cache lines\n"
 msgstr ""
 
-#: eelf32lppc.c:2542 eelf32lppclinux.c:2542 eelf32lppcnto.c:2542
-#: eelf32lppcsim.c:2542 eelf32ppc.c:2542 eelf32ppc_fbsd.c:2549
-#: eelf32ppclinux.c:2542 eelf32ppcnto.c:2542 eelf32ppcsim.c:2542
-#: eelf32ppcwindiss.c:2542 eelf64lppc.c:3042 eelf64ppc.c:3042
-#: eelf64ppc_fbsd.c:3049 eppclynx.c:2549
+#: eelf32lppc.c:815 eelf32lppclinux.c:815 eelf32lppcnto.c:815
+#: eelf32lppcsim.c:815 eelf32ppc.c:815 eelf32ppc_fbsd.c:815
+#: eelf32ppclinux.c:815 eelf32ppcnto.c:815 eelf32ppcsim.c:815
+#: eelf32ppcwindiss.c:815 eelf64lppc.c:1288 eelf64ppc.c:1288
+#: eelf64ppc_fbsd.c:1288 eppclynx.c:815
 #, c-format
 msgid "  --no-plt-align              Dont't align individual PLT call stubs\n"
 msgstr ""
 
-#: eelf32lppc.c:2545 eelf32lppclinux.c:2545 eelf32lppcnto.c:2545
-#: eelf32lppcsim.c:2545 eelf32ppc.c:2545 eelf32ppc_fbsd.c:2552
-#: eelf32ppclinux.c:2545 eelf32ppcnto.c:2545 eelf32ppcsim.c:2545
-#: eelf32ppcwindiss.c:2545 eelf64lppc.c:3086 eelf64ppc.c:3086
-#: eelf64ppc_fbsd.c:3093 eppclynx.c:2552
+#: eelf32lppc.c:818 eelf32lppclinux.c:818 eelf32lppcnto.c:818
+#: eelf32lppcsim.c:818 eelf32ppc.c:818 eelf32ppc_fbsd.c:818
+#: eelf32ppclinux.c:818 eelf32ppcnto.c:818 eelf32ppcsim.c:818
+#: eelf32ppcwindiss.c:818 eelf64lppc.c:1332 eelf64ppc.c:1332
+#: eelf64ppc_fbsd.c:1332 eppclynx.c:818
 #, c-format
 msgid ""
 "  --no-inline-optimize        Don't convert inline PLT to direct calls\n"
 msgstr ""
 
-#: eelf32lppc.c:2548 eelf32lppclinux.c:2548 eelf32lppcnto.c:2548
-#: eelf32lppcsim.c:2548 eelf32ppc.c:2548 eelf32ppc_fbsd.c:2555
-#: eelf32ppclinux.c:2548 eelf32ppcnto.c:2548 eelf32ppcsim.c:2548
-#: eelf32ppcwindiss.c:2548 eppclynx.c:2555
+#: eelf32lppc.c:821 eelf32lppclinux.c:821 eelf32lppcnto.c:821
+#: eelf32lppcsim.c:821 eelf32ppc.c:821 eelf32ppc_fbsd.c:821
+#: eelf32ppclinux.c:821 eelf32ppcnto.c:821 eelf32ppcsim.c:821
+#: eelf32ppcwindiss.c:821 eppclynx.c:821
 #, c-format
 msgid "  --sdata-got                 Force GOT location just before .sdata\n"
 msgstr ""
 
-#: eelf32lppc.c:2551 eelf32lppclinux.c:2551 eelf32lppcnto.c:2551
-#: eelf32lppcsim.c:2551 eelf32ppc.c:2551 eelf32ppc_fbsd.c:2558
-#: eelf32ppclinux.c:2551 eelf32ppcnto.c:2551 eelf32ppcsim.c:2551
-#: eelf32ppcvxworks.c:2511 eelf32ppcwindiss.c:2551 eppclynx.c:2558
+#: eelf32lppc.c:824 eelf32lppclinux.c:824 eelf32lppcnto.c:824
+#: eelf32lppcsim.c:824 eelf32ppc.c:824 eelf32ppc_fbsd.c:824
+#: eelf32ppclinux.c:824 eelf32ppcnto.c:824 eelf32ppcsim.c:824
+#: eelf32ppcvxworks.c:784 eelf32ppcwindiss.c:824 eppclynx.c:824
 #, c-format
 msgid ""
 "  --ppc476-workaround [=pagesize]\n"
 "                              Avoid a cache bug on ppc476\n"
 msgstr ""
 
-#: eelf32lppc.c:2555 eelf32lppclinux.c:2555 eelf32lppcnto.c:2555
-#: eelf32lppcsim.c:2555 eelf32ppc.c:2555 eelf32ppc_fbsd.c:2562
-#: eelf32ppclinux.c:2555 eelf32ppcnto.c:2555 eelf32ppcsim.c:2555
-#: eelf32ppcvxworks.c:2515 eelf32ppcwindiss.c:2555 eppclynx.c:2562
+#: eelf32lppc.c:828 eelf32lppclinux.c:828 eelf32lppcnto.c:828
+#: eelf32lppcsim.c:828 eelf32ppc.c:828 eelf32ppc_fbsd.c:828
+#: eelf32ppclinux.c:828 eelf32ppcnto.c:828 eelf32ppcsim.c:828
+#: eelf32ppcvxworks.c:788 eelf32ppcwindiss.c:828 eppclynx.c:828
 #, c-format
 msgid "  --no-ppc476-workaround      Disable workaround\n"
 msgstr ""
 
-#: eelf32lppc.c:2558 eelf32lppclinux.c:2558 eelf32lppcnto.c:2558
-#: eelf32lppcsim.c:2558 eelf32ppc.c:2558 eelf32ppc_fbsd.c:2565
-#: eelf32ppclinux.c:2558 eelf32ppcnto.c:2558 eelf32ppcsim.c:2558
-#: eelf32ppcvxworks.c:2518 eelf32ppcwindiss.c:2558 eppclynx.c:2565
+#: eelf32lppc.c:831 eelf32lppclinux.c:831 eelf32lppcnto.c:831
+#: eelf32lppcsim.c:831 eelf32ppc.c:831 eelf32ppc_fbsd.c:831
+#: eelf32ppclinux.c:831 eelf32ppcnto.c:831 eelf32ppcsim.c:831
+#: eelf32ppcvxworks.c:791 eelf32ppcwindiss.c:831 eppclynx.c:831
 #, c-format
 msgid "  --no-pic-fixup              Don't edit non-pic to pic\n"
 msgstr ""
 
-#: eelf32lppc.c:2561 eelf32lppclinux.c:2561 eelf32lppcnto.c:2561
-#: eelf32lppcsim.c:2561 eelf32ppc.c:2561 eelf32ppc_fbsd.c:2568
-#: eelf32ppclinux.c:2561 eelf32ppcnto.c:2561 eelf32ppcsim.c:2561
-#: eelf32ppcvxworks.c:2521 eelf32ppcwindiss.c:2561 eppclynx.c:2568
+#: eelf32lppc.c:834 eelf32lppclinux.c:834 eelf32lppcnto.c:834
+#: eelf32lppcsim.c:834 eelf32ppc.c:834 eelf32ppc_fbsd.c:834
+#: eelf32ppclinux.c:834 eelf32ppcnto.c:834 eelf32ppcsim.c:834
+#: eelf32ppcvxworks.c:794 eelf32ppcwindiss.c:834 eppclynx.c:834
 #, c-format
 msgid ""
 "  --vle-reloc-fixup           Correct old object file 16A/16D relocation\n"
 msgstr ""
 
-#: eelf32mcore.c:2015
+#: eelf32mcore.c:284
 #, c-format
 msgid ""
 "  --base_file <basefile>      Generate a base file for relocatable DLLs\n"
 msgstr ""
 
-#: eelf32metag.c:2444 eelf64lppc.c:3017 eelf64ppc.c:3017 eelf64ppc_fbsd.c:3024
-#: ehppaelf.c:2309 ehppalinux.c:2486 ehppanbsd.c:2486 ehppaobsd.c:2486
+#: eelf32metag.c:692 eelf64lppc.c:1263 eelf64ppc.c:1263 eelf64ppc_fbsd.c:1263
+#: ehppaelf.c:557 ehppalinux.c:734 ehppanbsd.c:734 ehppaobsd.c:734
 #, c-format
 msgid ""
 "  --stub-group-size=N         Maximum size of a group of input sections "
@@ -6699,110 +4987,114 @@ msgid ""
 "                                choose suitable defaults.\n"
 msgstr ""
 
-#: eelf32rx.c:2047
+#: eelf32rx.c:316
 #, c-format
 msgid ""
 "  --no-flag-mismatch-warnings Don't warn about objects with incompatible\n"
 "                                endian or dsp settings\n"
 msgstr ""
 
-#: eelf32rx.c:2049
+#: eelf32rx.c:318
 #, c-format
 msgid ""
 "  --flag-mismatch-warnings    Warn about objects with incompatible\n"
 "                                endian, dsp or ABI settings\n"
 msgstr ""
 
-#: eelf32rx.c:2051
+#: eelf32rx.c:320
 #, c-format
 msgid ""
 "  --ignore-lma                Ignore segment LMAs [default]\n"
 "                                (for Renesas Tools compatibility)\n"
 msgstr ""
 
-#: eelf32rx.c:2053
+#: eelf32rx.c:322
 #, c-format
 msgid "  --no-ignore-lma             Don't ignore segment LMAs\n"
 msgstr ""
 
-#: eelf32xtensa.c:189
+#: eelf32xtensa.c:137
 msgid "file already has property tables"
 msgstr ""
 
-#: eelf32xtensa.c:199
+#: eelf32xtensa.c:147
 msgid "failed to read section contents"
 msgstr ""
 
-#: eelf32xtensa.c:211
+#: eelf32xtensa.c:159
 msgid "could not create new section"
 msgstr ""
 
-#: eelf32xtensa.c:227
+#: eelf32xtensa.c:175
 msgid "could not allocate section contents"
 msgstr ""
 
-#: eelf32xtensa.c:246
+#: eelf32xtensa.c:194
 msgid "out of memory"
 msgstr ""
 
-#: eelf32xtensa.c:347
+#: eelf32xtensa.c:295
 msgid ""
 "%P: warning: failed to convert %s table in %pB (%s); subsequent disassembly "
 "may be incomplete\n"
 msgstr ""
 
-#: eelf32xtensa.c:464
+#: eelf32xtensa.c:412
 msgid "%F%P: %pB: cannot read contents of section %pA\n"
 msgstr ""
 
-#: eelf32xtensa.c:475
+#: eelf32xtensa.c:423
 msgid "%P: %pB: warning: incompatible Xtensa configuration (%s)\n"
 msgstr ""
 
-#: eelf32xtensa.c:479
+#: eelf32xtensa.c:427
 msgid "%P: %pB: warning: cannot parse .xtensa.info section\n"
 msgstr ""
 
-#: eelf32xtensa.c:505
+#: eelf32xtensa.c:453
 msgid "%F%P: little endian output does not match Xtensa configuration\n"
 msgstr ""
 
-#: eelf32xtensa.c:511
+#: eelf32xtensa.c:459
 msgid "%F%P: big endian output does not match Xtensa configuration\n"
 msgstr ""
 
-#: eelf32xtensa.c:530
+#: eelf32xtensa.c:478
 msgid "%F%P: cross-endian linking for %pB not supported\n"
 msgstr ""
 
-#: eelf32xtensa.c:561
+#: eelf32xtensa.c:509
 msgid "%F%P: failed to create .xtensa.info section\n"
 msgstr ""
 
-#: eelf32xtensa.c:4074
+#: eelf32xtensa.c:2347
 #, c-format
 msgid ""
 "  --size-opt                  When relaxing longcalls, prefer size\n"
 "                                optimization over branch target alignment\n"
 msgstr ""
 
-#: eelf64_ia64.c:2199 eelf64_ia64_fbsd.c:2206
+#: eelf32z80.c:79
+msgid "%F%P: %pB: Istruction set of object files mismatched\n"
+msgstr ""
+
+#: eelf64_ia64.c:470 eelf64_ia64_fbsd.c:470
 #, c-format
 msgid ""
 "  --itanium                   Generate code for Intel Itanium processor\n"
 msgstr ""
 
-#: eelf64_s390.c:115 eelf64lppc.c:179 eelf64ppc.c:179 eelf64ppc_fbsd.c:179
+#: eelf64_s390.c:63 eelf64lppc.c:127 eelf64ppc.c:127 eelf64ppc_fbsd.c:127
 msgid "%F%P: can not init BFD: %E\n"
 msgstr ""
 
-#: eelf64_s390.c:2239
+#: eelf64_s390.c:508
 #, c-format
 msgid ""
 "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr ""
 
-#: eelf64alpha.c:2268 eelf64alpha_fbsd.c:2275 eelf64alpha_nbsd.c:2268
+#: eelf64alpha.c:537 eelf64alpha_fbsd.c:537 eelf64alpha_nbsd.c:537
 #, c-format
 msgid ""
 "  --taso                      Load executable in the lower 31-bit "
@@ -6810,68 +5102,68 @@ msgid ""
 "                                virtual address range\n"
 msgstr ""
 
-#: eelf64alpha.c:2271 eelf64alpha_fbsd.c:2278 eelf64alpha_nbsd.c:2271
+#: eelf64alpha.c:540 eelf64alpha_fbsd.c:540 eelf64alpha_nbsd.c:540
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
 msgstr ""
 
-#: eelf64alpha.c:2273 eelf64alpha_fbsd.c:2280 eelf64alpha_nbsd.c:2273
+#: eelf64alpha.c:542 eelf64alpha_fbsd.c:542 eelf64alpha_nbsd.c:542
 #, c-format
 msgid "  --no-secureplt              Force PLT in data segment\n"
 msgstr ""
 
-#: eelf64lppc.c:363 eelf64lppc.c:391 eelf64ppc.c:363 eelf64ppc.c:391
-#: eelf64ppc_fbsd.c:363 eelf64ppc_fbsd.c:391
+#: eelf64lppc.c:311 eelf64lppc.c:339 eelf64ppc.c:311 eelf64ppc.c:339
+#: eelf64ppc_fbsd.c:311 eelf64ppc_fbsd.c:339
 msgid "%X%P: can not edit %s: %E\n"
 msgstr ""
 
-#: eelf64lppc.c:557 eelf64ppc.c:557 eelf64ppc_fbsd.c:557
+#: eelf64lppc.c:504 eelf64ppc.c:504 eelf64ppc_fbsd.c:504
 msgid "%X%P: linker script separates .got and .toc\n"
 msgstr ""
 
-#: eelf64lppc.c:618 eelf64ppc.c:618 eelf64ppc_fbsd.c:618
+#: eelf64lppc.c:565 eelf64ppc.c:565 eelf64ppc_fbsd.c:565
 msgid "%P: .init/.fini fragments use differing TOC pointers\n"
 msgstr ""
 
-#: eelf64lppc.c:3027 eelf64ppc.c:3027
+#: eelf64lppc.c:1273 eelf64ppc.c:1273
 #, c-format
 msgid ""
 "  --plt-static-chain          PLT call stubs should load r11 (default)\n"
 msgstr ""
 
-#: eelf64lppc.c:3030 eelf64ppc.c:3030
+#: eelf64lppc.c:1276 eelf64ppc.c:1276
 #, c-format
 msgid "  --no-plt-static-chain       PLT call stubs should not load r11\n"
 msgstr ""
 
-#: eelf64lppc.c:3033 eelf64ppc.c:3033 eelf64ppc_fbsd.c:3040
+#: eelf64lppc.c:1279 eelf64ppc.c:1279 eelf64ppc_fbsd.c:1279
 #, c-format
 msgid "  --plt-thread-safe           PLT call stubs with load-load barrier\n"
 msgstr ""
 
-#: eelf64lppc.c:3036 eelf64ppc.c:3036 eelf64ppc_fbsd.c:3043
+#: eelf64lppc.c:1282 eelf64ppc.c:1282 eelf64ppc_fbsd.c:1282
 #, c-format
 msgid "  --no-plt-thread-safe        PLT call stubs without barrier\n"
 msgstr ""
 
-#: eelf64lppc.c:3039 eelf64ppc.c:3039 eelf64ppc_fbsd.c:3046
+#: eelf64lppc.c:1285 eelf64ppc.c:1285 eelf64ppc_fbsd.c:1285
 #, c-format
 msgid "  --plt-align [=<align>]      Align PLT call stubs to fit cache lines\n"
 msgstr ""
 
-#: eelf64lppc.c:3045 eelf64ppc.c:3045 eelf64ppc_fbsd.c:3052
+#: eelf64lppc.c:1291 eelf64ppc.c:1291 eelf64ppc_fbsd.c:1291
 #, c-format
 msgid ""
 "  --plt-localentry            Optimize calls to ELFv2 localentry:0 "
 "functions\n"
 msgstr ""
 
-#: eelf64lppc.c:3048 eelf64ppc.c:3048 eelf64ppc_fbsd.c:3055
+#: eelf64lppc.c:1294 eelf64ppc.c:1294 eelf64ppc_fbsd.c:1294
 #, c-format
 msgid "  --no-plt-localentry         Don't optimize ELFv2 calls\n"
 msgstr ""
 
-#: eelf64lppc.c:3057 eelf64ppc.c:3057 eelf64ppc_fbsd.c:3064
+#: eelf64lppc.c:1303 eelf64ppc.c:1303 eelf64ppc_fbsd.c:1303
 #, c-format
 msgid ""
 "  --dotsyms                   For every version pattern \"foo\" in a "
@@ -6881,13 +5173,13 @@ msgid ""
 "                                descriptor symbols.  Defaults to on.\n"
 msgstr ""
 
-#: eelf64lppc.c:3063 eelf64ppc.c:3063 eelf64ppc_fbsd.c:3070
+#: eelf64lppc.c:1309 eelf64ppc.c:1309 eelf64ppc_fbsd.c:1309
 #, c-format
 msgid ""
 "  --no-dotsyms                Don't do anything special in version scripts\n"
 msgstr ""
 
-#: eelf64lppc.c:3066 eelf64ppc.c:3066 eelf64ppc_fbsd.c:3073
+#: eelf64lppc.c:1312 eelf64ppc.c:1312 eelf64ppc_fbsd.c:1312
 #, c-format
 msgid ""
 "  --save-restore-funcs        Provide register save and restore routines "
@@ -6896,118 +5188,118 @@ msgid ""
 "                                final link, off for ld -r.\n"
 msgstr ""
 
-#: eelf64lppc.c:3071 eelf64ppc.c:3071 eelf64ppc_fbsd.c:3078
+#: eelf64lppc.c:1317 eelf64ppc.c:1317 eelf64ppc_fbsd.c:1317
 #, c-format
 msgid "  --no-save-restore-funcs     Don't provide these routines\n"
 msgstr ""
 
-#: eelf64lppc.c:3077 eelf64ppc.c:3077 eelf64ppc_fbsd.c:3084
+#: eelf64lppc.c:1323 eelf64ppc.c:1323 eelf64ppc_fbsd.c:1323
 #, c-format
 msgid ""
 "  --tls-get-addr-optimize     Force use of special __tls_get_addr call\n"
 msgstr ""
 
-#: eelf64lppc.c:3083 eelf64ppc.c:3083 eelf64ppc_fbsd.c:3090
+#: eelf64lppc.c:1329 eelf64ppc.c:1329 eelf64ppc_fbsd.c:1329
 #, c-format
 msgid "  --no-opd-optimize           Don't optimize the OPD section\n"
 msgstr ""
 
-#: eelf64lppc.c:3089 eelf64ppc.c:3089 eelf64ppc_fbsd.c:3096
+#: eelf64lppc.c:1335 eelf64ppc.c:1335 eelf64ppc_fbsd.c:1335
 #, c-format
 msgid "  --no-toc-optimize           Don't optimize the TOC section\n"
 msgstr ""
 
-#: eelf64lppc.c:3092 eelf64ppc.c:3092 eelf64ppc_fbsd.c:3099
+#: eelf64lppc.c:1338 eelf64ppc.c:1338 eelf64ppc_fbsd.c:1338
 #, c-format
 msgid ""
 "  --no-multi-toc              Disallow automatic multiple toc sections\n"
 msgstr ""
 
-#: eelf64lppc.c:3095 eelf64ppc.c:3095 eelf64ppc_fbsd.c:3102
+#: eelf64lppc.c:1341 eelf64ppc.c:1341 eelf64ppc_fbsd.c:1341
 #, c-format
 msgid "  --no-toc-sort               Don't sort TOC and GOT sections\n"
 msgstr ""
 
-#: eelf64lppc.c:3098 eelf64ppc.c:3098 eelf64ppc_fbsd.c:3105
+#: eelf64lppc.c:1344 eelf64ppc.c:1344 eelf64ppc_fbsd.c:1344
 #, c-format
 msgid ""
 "  --non-overlapping-opd       Canonicalize .opd, so that there are no\n"
 "                                overlapping .opd entries\n"
 msgstr ""
 
-#: eelf64mmix.c:133 emmo.c:128
+#: eelf64mmix.c:81 emmo.c:84
 msgid "%X%P: internal problems setting up section %s"
 msgstr ""
 
-#: eelf64mmix.c:177 emmo.c:172
+#: eelf64mmix.c:125 emmo.c:128
 msgid "%X%P: too many global registers: %u, max 223\n"
 msgstr ""
 
 #. This is a fatal error; make einfo call not return.
-#: eelf64mmix.c:195 emmo.c:190
+#: eelf64mmix.c:143 emmo.c:146
 msgid "%F%P: can't finalize linker-allocated global registers\n"
 msgstr ""
 
-#: eelf64ppc_fbsd.c:3034
+#: eelf64ppc_fbsd.c:1273
 #, c-format
 msgid "  --plt-static-chain          PLT call stubs should load r111\n"
 msgstr ""
 
-#: eelf64ppc_fbsd.c:3037
+#: eelf64ppc_fbsd.c:1276
 #, c-format
 msgid ""
 "  --no-plt-static-chain       PLT call stubs should not load r11 (default)\n"
 msgstr ""
 
-#: eelf_x86_64.c:7486 eelf_x86_64_cloudabi.c:2259 eelf_x86_64_fbsd.c:2266
-#: eelf_x86_64_nacl.c:2259 eelf_x86_64_sol2.c:2390
+#: eelf_x86_64.c:5473 eelf_x86_64_cloudabi.c:570 eelf_x86_64_fbsd.c:570
+#: eelf_x86_64_nacl.c:570 eelf_x86_64_sol2.c:701
 #, c-format
 msgid ""
 "  -z bndplt                   Always generate BND prefix in PLT entries\n"
 msgstr ""
 
-#: ehppaelf.c:376 ehppalinux.c:376 ehppanbsd.c:376 ehppaobsd.c:376
+#: ehppaelf.c:324 ehppalinux.c:324 ehppanbsd.c:324 ehppaobsd.c:324
 msgid "%X%P: can not set gp\n"
 msgstr ""
 
-#: ehppaelf.c:2305 ehppalinux.c:2482 ehppanbsd.c:2482 ehppaobsd.c:2482
+#: ehppaelf.c:553 ehppalinux.c:730 ehppanbsd.c:730 ehppaobsd.c:730
 #, c-format
 msgid ""
 "  --multi-subspace            Generate import and export stubs to support\n"
 "                                multiple sub-space shared libraries\n"
 msgstr ""
 
-#: ei386beos.c:375
+#: ei386beos.c:376
 msgid "%F%P: PE operations on non PE file\n"
 msgstr ""
 
-#: ei386beos.c:428 ei386beos.c:435
+#: ei386beos.c:425 ei386beos.c:430
 msgid "%F%P: %pB: can't read contents of section .idata: %E\n"
 msgstr ""
 
-#: ei386beos.c:683
+#: ei386beos.c:679
 msgid "%F%P: section %s has '$' as first character\n"
 msgstr ""
 
-#: ei386beos.c:715
+#: ei386beos.c:711
 msgid "%F%P: *(%s$) missing from linker script\n"
 msgstr ""
 
-#: ei386pep.c:374
+#: ei386pep.c:375
 #, c-format
 msgid ""
 "  --[no-]insert-timestamp            Use a real timestamp rather than zero "
 "(default)\n"
 msgstr ""
 
-#: ei386pep.c:385
+#: ei386pep.c:386
 #, c-format
 msgid ""
 "                                     export, place into import library "
 "instead\n"
 msgstr ""
 
-#: ei386pep.c:390
+#: ei386pep.c:391
 #, c-format
 msgid ""
 "  --compat-implib                    Create backward compatible import "
@@ -7015,7 +5307,7 @@ msgid ""
 "                                       create __imp_<SYMBOL> as well\n"
 msgstr ""
 
-#: ei386pep.c:391
+#: ei386pep.c:392
 #, c-format
 msgid ""
 "  --enable-auto-image-base           Automatically choose image base for "
@@ -7023,14 +5315,14 @@ msgid ""
 "                                       unless user specifies one\n"
 msgstr ""
 
-#: ei386pep.c:392
+#: ei386pep.c:393
 #, c-format
 msgid ""
 "  --disable-auto-image-base          Do not auto-choose image base "
 "(default)\n"
 msgstr ""
 
-#: ei386pep.c:396
+#: ei386pep.c:397
 #, c-format
 msgid ""
 "  --enable-runtime-pseudo-reloc      Work around auto-import limitations by\n"
@@ -7039,7 +5331,7 @@ msgid ""
 "                                       runtime\n"
 msgstr ""
 
-#: ei386pep.c:397
+#: ei386pep.c:398
 #, c-format
 msgid ""
 "  --disable-runtime-pseudo-reloc     Do not add runtime pseudo-relocations "
@@ -7047,7 +5339,7 @@ msgid ""
 "                                       auto-imported DATA\n"
 msgstr ""
 
-#: ei386pep.c:398
+#: ei386pep.c:399
 #, c-format
 msgid ""
 "  --enable-extra-pep-debug            Enable verbose debug output when "
@@ -7056,7 +5348,7 @@ msgid ""
 "import)\n"
 msgstr ""
 
-#: ei386pep.c:401
+#: ei386pep.c:402
 #, c-format
 msgid ""
 "  --high-entropy-va                  Image is compatible with 64-bit address "
@@ -7064,36 +5356,35 @@ msgid ""
 "                                       layout randomization (ASLR)\n"
 msgstr ""
 
-#: ei386pep.c:406
+#: ei386pep.c:407
 #, c-format
 msgid ""
 "  --no-seh                   Image does not use SEH; no SE handler may\n"
 "                                       be called in this image\n"
 msgstr ""
 
-#: ei386pep.c:908
+#: ei386pep.c:909
 msgid ""
 "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean "
 "--export-all-symbols?\n"
 msgstr ""
 
-#: ei386pep.c:976 ei386pep.c:1003
+#: ei386pep.c:977 ei386pep.c:1004
 #, c-format
 msgid "warning: resolving %s by linking to %s\n"
 msgstr ""
 
-#: em68hc11elf.c:193 em68hc11elfb.c:193 em68hc12elf.c:193 em68hc12elfb.c:193
+#: em68hc11elf.c:141 em68hc11elfb.c:141 em68hc12elf.c:141 em68hc12elfb.c:141
 msgid ""
 "%P: warning: the size of the 'window' memory region is not a power of 2; its "
 "size %d is truncated to %d\n"
 msgstr ""
 
-#: em68hc11elf.c:208 em68hc11elfb.c:208 em68hc12elf.c:208 em68hc12elfb.c:208
+#: em68hc11elf.c:156 em68hc11elfb.c:156 em68hc12elf.c:156 em68hc12elfb.c:156
 msgid "%X%P: changing output format whilst linking is not supported\n"
 msgstr ""
 
-#: em68hc11elf.c:2304 em68hc11elfb.c:2304 em68hc12elf.c:2304
-#: em68hc12elfb.c:2304
+#: em68hc11elf.c:550 em68hc11elfb.c:550 em68hc12elf.c:550 em68hc12elfb.c:550
 #, c-format
 msgid ""
 "  --no-trampoline             Do not generate the far trampolines used to "
@@ -7101,8 +5392,7 @@ msgid ""
 "                                a far function using jsr or bsr\n"
 msgstr ""
 
-#: em68hc11elf.c:2307 em68hc11elfb.c:2307 em68hc12elf.c:2307
-#: em68hc12elfb.c:2307
+#: em68hc11elf.c:553 em68hc11elfb.c:553 em68hc12elf.c:553 em68hc12elfb.c:553
 #, c-format
 msgid ""
 "  --bank-window NAME          Specify the name of the memory region "
@@ -7110,37 +5400,36 @@ msgid ""
 "                                the layout of the memory bank window\n"
 msgstr ""
 
-#: em68kelf.c:139 em68kelfnbsd.c:139
+#: em68kelf.c:89 em68kelfnbsd.c:89
 msgid "%F%P: %pB: all input objects must be ELF for --embedded-relocs\n"
 msgstr ""
 
-#: em68kelf.c:2321 em68kelfnbsd.c:2321
+#: em68kelf.c:591 em68kelfnbsd.c:591
 msgid "%P: unrecognized --got argument '%s'\n"
 msgstr ""
 
-#: em68kelf.c:2334 em68kelfnbsd.c:2334
+#: em68kelf.c:604 em68kelfnbsd.c:604
 #, c-format
 msgid "  --got=<type>                Specify GOT handling scheme\n"
 msgstr ""
 
-#: emmo.c:379
+#: emmo.c:333
 msgid "%X%P: internal problems scanning %pB after opening it"
 msgstr ""
 
-#: emsp430X.c:199 emsp430elf.c:199
+#: emsp430X.c:159 emsp430elf.c:159
 msgid "%P: error: unhandled data_statement size\n"
 msgstr ""
 
-#: emsp430X.c:299 emsp430elf.c:299
+#: emsp430X.c:300 emsp430elf.c:300
 msgid "%P: error: no section named %s or %s in linker script\n"
 msgstr ""
 
-#: emsp430X.c:308 emsp430X.c:430 emsp430X.c:443 emsp430elf.c:308
-#: emsp430elf.c:430 emsp430elf.c:443
+#: emsp430X.c:309 emsp430elf.c:309
 msgid "%P: error: no section named %s in linker script\n"
 msgstr ""
 
-#: emsp430X.c:509 emsp430elf.c:509
+#: emsp430X.c:453 emsp430elf.c:453
 #, c-format
 msgid ""
 "  --code-region={either,lower,upper,none}\n"
@@ -7148,7 +5437,7 @@ msgid ""
 "sections\n"
 msgstr ""
 
-#: emsp430X.c:510 emsp430elf.c:510
+#: emsp430X.c:454 emsp430elf.c:454
 #, c-format
 msgid ""
 "  --data-region={either,lower,upper,none}\n"
@@ -7156,7 +5445,7 @@ msgid ""
 "        {either,lower,upper,none}.{bss,data,rodata}* sections\n"
 msgstr ""
 
-#: emsp430X.c:511 emsp430elf.c:511
+#: emsp430X.c:455 emsp430elf.c:455
 #, c-format
 msgid ""
 "  --disable-sec-transformation\n"
@@ -7164,81 +5453,99 @@ msgid ""
 "        add the {either,lower,upper,none} prefixes\n"
 msgstr ""
 
-#: emsp430X.c:530 emsp430elf.c:530
+#: emsp430X.c:474 emsp430elf.c:474
 msgid "%P: --code-region requires an argument: {upper,lower,either,none}\n"
 msgstr ""
 
-#: emsp430X.c:536 emsp430elf.c:536
+#: emsp430X.c:480 emsp430elf.c:480
 msgid "%P: error: unrecognized argument to --code-region= option: \"%s\"\n"
 msgstr ""
 
-#: emsp430X.c:553 emsp430elf.c:553
+#: emsp430X.c:497 emsp430elf.c:497
 msgid "%P: --data-region requires an argument: {upper,lower,either,none}\n"
 msgstr ""
 
-#: emsp430X.c:559 emsp430elf.c:559
+#: emsp430X.c:503 emsp430elf.c:503
 msgid "%P: error: unrecognized argument to --data-region= option: \"%s\"\n"
 msgstr ""
 
 #. Incompatible objects.
-#: ends32belf.c:178 ends32belf16m.c:178 ends32belf_linux.c:178 ends32elf.c:178
-#: ends32elf16m.c:178 ends32elf_linux.c:178
+#: ends32belf.c:126 ends32belf16m.c:126 ends32belf_linux.c:126 ends32elf.c:126
+#: ends32elf16m.c:126 ends32elf_linux.c:126
 msgid "%F%P: %pB: ABI version of object files mismatched\n"
 msgstr ""
 
-#: ends32belf.c:2114 ends32belf16m.c:2114 ends32belf_linux.c:2243
-#: ends32elf.c:2114 ends32elf16m.c:2114 ends32elf_linux.c:2243
+#: ends32belf.c:383 ends32belf16m.c:383 ends32belf_linux.c:512 ends32elf.c:383
+#: ends32elf16m.c:383 ends32elf_linux.c:512
 msgid "%P: --mbaseline is not used anymore\n"
 msgstr ""
 
-#: ends32belf.c:2125 ends32belf16m.c:2125 ends32belf_linux.c:2254
-#: ends32elf.c:2125 ends32elf16m.c:2125 ends32elf_linux.c:2254
+#: ends32belf.c:394 ends32belf16m.c:394 ends32belf_linux.c:523 ends32elf.c:394
+#: ends32elf16m.c:394 ends32elf_linux.c:523
 msgid "%P: --relax-[no-]reduce-fp-updat is not used anymore\n"
 msgstr ""
 
-#: ends32belf.c:2129 ends32belf16m.c:2129 ends32belf_linux.c:2258
-#: ends32elf.c:2129 ends32elf16m.c:2129 ends32elf_linux.c:2258
+#: ends32belf.c:398 ends32belf16m.c:398 ends32belf_linux.c:527 ends32elf.c:398
+#: ends32elf16m.c:398 ends32elf_linux.c:527
 msgid "%P: missing file for --mexport-symbols\n"
 msgstr ""
 
-#: ends32belf.c:2142 ends32belf.c:2151 ends32belf16m.c:2142
-#: ends32belf16m.c:2151 ends32belf_linux.c:2271 ends32belf_linux.c:2280
-#: ends32elf.c:2142 ends32elf.c:2151 ends32elf16m.c:2142 ends32elf16m.c:2151
-#: ends32elf_linux.c:2271 ends32elf_linux.c:2280
+#: ends32belf.c:411 ends32belf.c:420 ends32belf16m.c:411 ends32belf16m.c:420
+#: ends32belf_linux.c:540 ends32belf_linux.c:549 ends32elf.c:411
+#: ends32elf.c:420 ends32elf16m.c:411 ends32elf16m.c:420 ends32elf_linux.c:540
+#: ends32elf_linux.c:549
 msgid "%P: valid arguments to --mhyper-relax=(low|medium|high)\n"
 msgstr ""
 
-#: ends32belf.c:2171 ends32belf16m.c:2171 ends32belf_linux.c:2300
-#: ends32elf.c:2171 ends32elf16m.c:2171 ends32elf_linux.c:2300
+#: ends32belf.c:440 ends32belf16m.c:440 ends32belf_linux.c:569 ends32elf.c:440
+#: ends32elf16m.c:440 ends32elf_linux.c:569
 #, c-format
 msgid "  --m[no-]fp-as-gp            Disable/enable fp-as-gp relaxation\n"
 msgstr ""
 
-#: ends32belf.c:2173 ends32belf16m.c:2173 ends32belf_linux.c:2302
-#: ends32elf.c:2173 ends32elf16m.c:2173 ends32elf_linux.c:2302
+#: ends32belf.c:442 ends32belf16m.c:442 ends32belf_linux.c:571 ends32elf.c:442
+#: ends32elf16m.c:442 ends32elf_linux.c:571
 #, c-format
 msgid "  --mexport-symbols=FILE      Exporting symbols in linker script\n"
 msgstr ""
 
-#: ends32belf.c:2175 ends32belf16m.c:2175 ends32belf_linux.c:2304
-#: ends32elf.c:2175 ends32elf16m.c:2175 ends32elf_linux.c:2304
+#: ends32belf.c:444 ends32belf16m.c:444 ends32belf_linux.c:573 ends32elf.c:444
+#: ends32elf16m.c:444 ends32elf_linux.c:573
 #, c-format
 msgid ""
 "  --mhyper-relax=level        Adjust relax level (low|medium|high). default: "
 "medium\n"
 msgstr ""
 
-#: ends32belf.c:2177 ends32belf16m.c:2177 ends32belf_linux.c:2306
-#: ends32elf.c:2177 ends32elf16m.c:2177 ends32elf_linux.c:2306
+#: ends32belf.c:446 ends32belf16m.c:446 ends32belf_linux.c:575 ends32elf.c:446
+#: ends32elf16m.c:446 ends32elf_linux.c:575
 #, c-format
 msgid "  --m[no-]tlsdesc-trampoline  Disable/enable TLS DESC trampoline\n"
 msgstr ""
 
-#: etic3xcoff.c:68 etic3xcoff_onchip.c:68 etic4xcoff.c:68 etic54xcoff.c:68
+#: etic3xcoff.c:69 etic3xcoff_onchip.c:69 etic4xcoff.c:69 etic54xcoff.c:69
 #, c-format
 msgid "  --format 0|1|2              Specify which COFF version to use\n"
 msgstr ""
 
-#: etic3xcoff.c:90 etic3xcoff_onchip.c:90 etic4xcoff.c:90 etic54xcoff.c:90
+#: etic3xcoff.c:91 etic3xcoff_onchip.c:91 etic4xcoff.c:91 etic54xcoff.c:91
 msgid "%F%P: invalid COFF format version %s\n"
 msgstr ""
+
+#: ez80.c:101
+msgid "%P: warning: unknown machine type %u"
+msgstr ""
+
+#. combination may cause invalid objdump output
+#. but it is possible for mixed ADL/Z80 code
+#: ez80.c:131
+msgid ""
+"%P: warning: mixing ADL and Z80 mode binaries, objdump may generate invalid "
+"output"
+msgstr ""
+
+#. invalid combination: for example Z180 + R800
+#: ez80.c:135
+msgid ""
+"%P: warning: incompatible object files linked, result code might not work"
+msgstr ""
index 1d43c2451515f0a5e030dfbb3c81b0552452b809..fdafcf5561ea93703dd01e705e83062a15c9064c 100644 (file)
@@ -4,8 +4,16 @@
 # are permitted in any medium without royalty provided the copyright
 # notice and this notice are preserved.
 
-if [ x${LD_FLAG} = x ]
-then
+if test "${OUTPUT_FORMAT}" = "elf32-z80"; then
+  NO_REL_RELOCS=1
+  NO_RELA_RELOCS=1
+  NO_SMALL_DATA=1
+  EMBEDDED=1
+  ALIGNMENT=1
+  . $srcdir/scripttempl/elf.sc
+  return 0
+fi
+
 cat << EOF
 /* Copyright (C) 2014-2020 Free Software Foundation, Inc.
 
@@ -13,20 +21,18 @@ cat << EOF
    are permitted in any medium without royalty provided the copyright
    notice and this notice are preserved.  */
 
-/* Create a cp/m executable; load and execute at 0x100.  */
-OUTPUT_FORMAT("binary")
-. = 0x100;
-__Ltext = .;
-ENTRY (__Ltext)
-EOF
-else
-    echo "OUTPUT_FORMAT(\"${OUTPUT_FORMAT}\")"
-fi
-cat <<EOF
-OUTPUT_ARCH("${OUTPUT_ARCH}")
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+OUTPUT_ARCH("${ARCH}")
 SECTIONS
 {
+.isr : {
+       ${RELOCATING+ __Labs = .;}
+       *(.isr)
+       *(isr)
+       ${RELOCATING+ __Habs = .;}
+       }
 .text :        {
+       ${RELOCATING+ __Ltext = .;}
        *(.text)
        *(text)
        ${RELOCATING+ __Htext = .;}
index f2b608b9189aea05fb69165a5d59a922db91a3b4..c4ac53f69f484e1c1434a8ad1728c160c944fd13 100644 (file)
@@ -1,11 +1,11 @@
  .ifdef HPUX
-i .comm 4
+v_i .comm 4
  .else
-  .comm i,4,4
+  .comm v_i,4,4
  .endif
 
  .data
- .dc.a i
+ .dc.a v_i
 
  .globl main
  .globl _main
index e74c2ebbe0ee67d8917fe4e83b413882844deaef..91e57b4b882ec9c18205d7cccde01ec3fcc49b21 100644 (file)
@@ -1,11 +1,11 @@
  .ifdef HPUX
-i .comm 4
+v_i .comm 4
  .else
-  .comm i,4,4
+  .comm v_i,4,4
  .endif
 
  .section .rodata,"a",%progbits
- .dc.a i
+ .dc.a v_i
 
  .globl main
  .globl _main
index 2f3e0fd26db5ed43ee5f6d6b2617fe39d5c2a63a..6ff109993210e113d24436f0e4b9635a2d0e0e31 100644 (file)
@@ -6,6 +6,7 @@
 #skip: arm-*-coff i[3-7]86-*-coff
 #xfail: alpha*-*-*ecoff sh-*-pe sparc*-*-coff
 #xfail: tic30-*-coff tic4x-*-* tic54x-*-* z8k-*-*
+#xfail: z80-*-coff
 #
 # See also fill.d.  We use `skip' for configurations unsupported
 # here that are covered there, and `xfail' for configurations that work
@@ -21,6 +22,7 @@
 # tic4x has 4 octet bytes
 # tic54x doesn't support .p2align
 # z8k-coff aligns to 2 bytes
+# z80-coff aligns to 2 bytes
 
 .*:     file format .*
 
diff --git a/ld/testsuite/ld-z80/arch_default.d b/ld/testsuite/ld-z80/arch_default.d
new file mode 100644 (file)
index 0000000..8c8527b
--- /dev/null
@@ -0,0 +1,11 @@
+#name: default arch test
+#source: dummy1.s
+#source: dummy2.s
+#ld: -e 0
+#objdump: -f
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+architecture: z80, flags 0x[0-9a-fA-F]+:
+.*
+.*
+
diff --git a/ld/testsuite/ld-z80/arch_ez80_adl.d b/ld/testsuite/ld-z80/arch_ez80_adl.d
new file mode 100644 (file)
index 0000000..aa9bd44
--- /dev/null
@@ -0,0 +1,11 @@
+#name: eZ80 ADL mode arch test
+#source: dummy1.s -ez80-adl
+#source: dummy2.s -ez80-adl
+#ld: -e 0
+#objdump: -f
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+architecture: ez80-adl, flags 0x[0-9a-fA-F]+:
+.*
+.*
+
diff --git a/ld/testsuite/ld-z80/arch_ez80_z80.d b/ld/testsuite/ld-z80/arch_ez80_z80.d
new file mode 100644 (file)
index 0000000..72c03e8
--- /dev/null
@@ -0,0 +1,11 @@
+#name: eZ80 Z80 mode arch test
+#source: dummy1.s -ez80
+#source: dummy2.s -ez80
+#ld: -e 0
+#objdump: -f
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+architecture: ez80-z80, flags 0x[0-9a-fA-F]+:
+.*
+.*
+
diff --git a/ld/testsuite/ld-z80/arch_r800.d b/ld/testsuite/ld-z80/arch_r800.d
new file mode 100644 (file)
index 0000000..c079be1
--- /dev/null
@@ -0,0 +1,11 @@
+#name: R800 arch test
+#source: dummy1.s -r800
+#source: dummy2.s -r800
+#ld: -e 0
+#objdump: -f
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+architecture: r800, flags 0x[0-9a-fA-F]+:
+.*
+.*
+
diff --git a/ld/testsuite/ld-z80/arch_z180.d b/ld/testsuite/ld-z80/arch_z180.d
new file mode 100644 (file)
index 0000000..d63ce23
--- /dev/null
@@ -0,0 +1,11 @@
+#name: Z180 arch test
+#source: dummy1.s -z180
+#source: dummy2.s -z180
+#ld: -e 0
+#objdump: -f
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+architecture: z180, flags 0x[0-9a-fA-F]+:
+.*
+.*
+
diff --git a/ld/testsuite/ld-z80/arch_z80.d b/ld/testsuite/ld-z80/arch_z80.d
new file mode 100644 (file)
index 0000000..a92b13b
--- /dev/null
@@ -0,0 +1,11 @@
+#name: Z80 arch test
+#source: dummy1.s -z80
+#source: dummy2.s -z80
+#ld: -e 0
+#objdump: -f
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+architecture: z80, flags 0x[0-9a-fA-F]+:
+.*
+.*
+
diff --git a/ld/testsuite/ld-z80/comb_arch_ez80_z80.d b/ld/testsuite/ld-z80/comb_arch_ez80_z80.d
new file mode 100644 (file)
index 0000000..318a055
--- /dev/null
@@ -0,0 +1,11 @@
+#name: eZ80/Z80 arch combination test
+#source: dummy1.s -ez80
+#source: dummy2.s -z80
+#ld: -e 0
+#objdump: -f
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+architecture: ez80-z80, flags 0x[0-9a-fA-F]+:
+.*
+.*
+
diff --git a/ld/testsuite/ld-z80/comb_arch_z180_z80.d b/ld/testsuite/ld-z80/comb_arch_z180_z80.d
new file mode 100644 (file)
index 0000000..f7a420c
--- /dev/null
@@ -0,0 +1,11 @@
+#name: Z180/Z80 arch combination test 
+#source: dummy1.s -z180
+#source: dummy2.s -z80
+#ld: -e 0
+#objdump: -f
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+architecture: z180, flags 0x[0-9a-fA-F]+:
+.*
+.*
+
diff --git a/ld/testsuite/ld-z80/comb_arch_z80_ez80.d b/ld/testsuite/ld-z80/comb_arch_z80_ez80.d
new file mode 100644 (file)
index 0000000..18f9f0b
--- /dev/null
@@ -0,0 +1,11 @@
+#name: Z80/eZ80 arch combination test
+#source: dummy1.s -z80
+#source: dummy2.s -ez80
+#ld: -e 0
+#objdump: -f
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+architecture: ez80-z80, flags 0x[0-9a-fA-F]+:
+.*
+.*
+
diff --git a/ld/testsuite/ld-z80/comb_arch_z80_z180.d b/ld/testsuite/ld-z80/comb_arch_z80_z180.d
new file mode 100644 (file)
index 0000000..1f3e092
--- /dev/null
@@ -0,0 +1,11 @@
+#name: Z80/Z180 arch combination test
+#source: dummy1.s -z80
+#source: dummy2.s -z180
+#ld: -e 0
+#objdump: -f
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+architecture: z180, flags 0x[0-9a-fA-F]+:
+.*
+.*
+
diff --git a/ld/testsuite/ld-z80/dummy1.s b/ld/testsuite/ld-z80/dummy1.s
new file mode 100644 (file)
index 0000000..5e27477
--- /dev/null
@@ -0,0 +1,6 @@
+       .text
+_start:
+       ld      a,a
+       .data
+       .db     0
+       .end
diff --git a/ld/testsuite/ld-z80/dummy2.s b/ld/testsuite/ld-z80/dummy2.s
new file mode 100644 (file)
index 0000000..43ca80c
--- /dev/null
@@ -0,0 +1,5 @@
+       .text
+       ld      a,a
+       .data
+       .db     0
+       .end
diff --git a/ld/testsuite/ld-z80/jr.s b/ld/testsuite/ld-z80/jr.s
new file mode 100644 (file)
index 0000000..aaf978a
--- /dev/null
@@ -0,0 +1,58 @@
+       .text
+;      .org    0
+
+       .globl  label1
+       .globl  label2
+       .globl  label3
+       .globl  label4
+       .globl  label5
+       .globl  label6
+
+       djnz    label1
+
+       jr      label2
+       jr      nz,label3
+       jr      z,label4
+       jr      nc,label5
+       jr      c,label6
+
+       djnz    .
+       jr      .
+       jr      nz,.
+       jr      z,.
+       jr      nc,.
+       jr      c,.
+
+.Ll1:
+       djnz    .Ll1
+.Ll2:
+       jr      .Ll2
+.Ll3:
+       jr      nz,.Ll3
+.Ll4:
+       jr      z,.Ll4
+.Ll5:
+       jr      nc,.Ll5
+.Ll6:
+       jr      c,.Ll6
+
+       djnz    .Lf1
+       jr      .Lf2
+       jr      nz,.Lf3
+       jr      z,.Lf4
+       jr      nc,.Lf5
+       jr      c,.Lf6
+
+.Lf1:
+       ret
+.Lf2:
+       ret
+.Lf3:
+       ret
+.Lf4:
+       ret
+.Lf5:
+       ret
+.Lf6:
+       ret
+       .end
diff --git a/ld/testsuite/ld-z80/jr_b.d b/ld/testsuite/ld-z80/jr_b.d
new file mode 100644 (file)
index 0000000..9349d4f
--- /dev/null
@@ -0,0 +1,51 @@
+#name: Z80 backward PC relative relocations
+#source: labels.s -z80
+#source: jr.s -z80
+#ld: -e 0 -Ttext 0 -Tdata 0x100 -s
+#objdump: -d
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+
+.* \.text:
+
+00000000 <.*>:
+[   ]+0:[      ]+78[           ]+ld a,b
+[   ]+1:[      ]+79[           ]+ld a,c
+[   ]+2:[      ]+7a[           ]+ld a,d
+[   ]+3:[      ]+7b[           ]+ld a,e
+[   ]+4:[      ]+7c[           ]+ld a,h
+[   ]+5:[      ]+7d[           ]+ld a,l
+[   ]+6:[      ]+7e[           ]+ld a,\(hl\)
+[   ]+7:[      ]+7f[           ]+ld a,a
+[   ]+8:[      ]+2f[           ]+cpl
+[   ]+9:[      ]+10 f5[        ]+djnz 0x0000
+[   ]+b:[      ]+18 f4[        ]+jr 0x0001
+[   ]+d:[      ]+20 f3[        ]+jr nz,0x0002
+[   ]+f:[      ]+28 f2[        ]+jr z,0x0003
+[  ]+11:[      ]+30 f1[        ]+jr nc,0x0004
+[  ]+13:[      ]+38 f0[        ]+jr c,0x0005
+[  ]+15:[      ]+10 fe[        ]+djnz 0x0015
+[  ]+17:[      ]+18 fe[        ]+jr 0x0017
+[  ]+19:[      ]+20 fe[        ]+jr nz,0x0019
+[  ]+1b:[      ]+28 fe[        ]+jr z,0x001b
+[  ]+1d:[      ]+30 fe[        ]+jr nc,0x001d
+[  ]+1f:[      ]+38 fe[        ]+jr c,0x001f
+[  ]+21:[      ]+10 fe[        ]+djnz 0x0021
+[  ]+23:[      ]+18 fe[        ]+jr 0x0023
+[  ]+25:[      ]+20 fe[        ]+jr nz,0x0025
+[  ]+27:[      ]+28 fe[        ]+jr z,0x0027
+[  ]+29:[      ]+30 fe[        ]+jr nc,0x0029
+[  ]+2b:[      ]+38 fe[        ]+jr c,0x002b
+[  ]+2d:[      ]+10 0a[        ]+djnz 0x0039
+[  ]+2f:[      ]+18 09[        ]+jr 0x003a
+[  ]+31:[      ]+20 08[        ]+jr nz,0x003b
+[  ]+33:[      ]+28 07[        ]+jr z,0x003c
+[  ]+35:[      ]+30 06[        ]+jr nc,0x003d
+[  ]+37:[      ]+38 05[        ]+jr c,0x003e
+[  ]+39:[      ]+c9[           ]+ret
+[  ]+3a:[      ]+c9[           ]+ret
+[  ]+3b:[      ]+c9[           ]+ret
+[  ]+3c:[      ]+c9[           ]+ret
+[  ]+3d:[      ]+c9[           ]+ret
+[  ]+3e:[      ]+c9[           ]+ret
diff --git a/ld/testsuite/ld-z80/jr_f.d b/ld/testsuite/ld-z80/jr_f.d
new file mode 100644 (file)
index 0000000..5a107c3
--- /dev/null
@@ -0,0 +1,70 @@
+#name: Z80 forward PC relative relocations
+#source: jr.s -z80
+#source: labels.s -z80
+#ld: -e 0 -Ttext 0 -Tdata 0x100
+#objdump: -d
+
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+
+.* \.text:
+
+00000000 <.*>:
+[   ]+0:[      ]+10 34[        ]+djnz 0x0036
+[   ]+2:[      ]+18 33[        ]+jr 0x0037
+[   ]+4:[      ]+20 32[        ]+jr nz,0x0038
+[   ]+6:[      ]+28 31[        ]+jr z,0x0039
+[   ]+8:[      ]+30 30[        ]+jr nc,0x003a
+[   ]+a:[      ]+38 2f[        ]+jr c,0x003b
+[   ]+c:[      ]+10 fe[        ]+djnz 0x000c
+[   ]+e:[      ]+18 fe[        ]+jr 0x000e
+[  ]+10:[      ]+20 fe[        ]+jr nz,0x0010
+[  ]+12:[      ]+28 fe[        ]+jr z,0x0012
+[  ]+14:[      ]+30 fe[        ]+jr nc,0x0014
+[  ]+16:[      ]+38 fe[        ]+jr c,0x0016
+[  ]+18:[      ]+10 fe[        ]+djnz 0x0018
+[  ]+1a:[      ]+18 fe[        ]+jr 0x001a
+[  ]+1c:[      ]+20 fe[        ]+jr nz,0x001c
+[  ]+1e:[      ]+28 fe[        ]+jr z,0x001e
+[  ]+20:[      ]+30 fe[        ]+jr nc,0x0020
+[  ]+22:[      ]+38 fe[        ]+jr c,0x0022
+[  ]+24:[      ]+10 0a[        ]+djnz 0x0030
+[  ]+26:[      ]+18 09[        ]+jr 0x0031
+[  ]+28:[      ]+20 08[        ]+jr nz,0x0032
+[  ]+2a:[      ]+28 07[        ]+jr z,0x0033
+[  ]+2c:[      ]+30 06[        ]+jr nc,0x0034
+[  ]+2e:[      ]+38 05[        ]+jr c,0x0035
+[  ]+30:[      ]+c9[           ]+ret
+[  ]+31:[      ]+c9[           ]+ret
+[  ]+32:[      ]+c9[           ]+ret
+[  ]+33:[      ]+c9[           ]+ret
+[  ]+34:[      ]+c9[           ]+ret
+[  ]+35:[      ]+c9[           ]+ret
+
+00000036 <label1>:
+[  ]+36:[      ]+78[           ]+ld a,b
+
+00000037 <label2>:
+[  ]+37:[      ]+79[           ]+ld a,c
+
+00000038 <label3>:
+[  ]+38:[      ]+7a[           ]+ld a,d
+
+00000039 <label4>:
+[  ]+39:[      ]+7b[           ]+ld a,e
+
+0000003a <label5>:
+[  ]+3a:[      ]+7c[           ]+ld a,h
+
+0000003b <label6>:
+[  ]+3b:[      ]+7d[           ]+ld a,l
+
+0000003c <label7>:
+[  ]+3c:[      ]+7e[           ]+ld a,\(hl\)
+
+0000003d <label8>:
+[  ]+3d:[      ]+7f[           ]+ld a,a
+
+0000003e <label9>:
+[  ]+3e:[      ]+2f[           ]+cpl
diff --git a/ld/testsuite/ld-z80/labels.s b/ld/testsuite/ld-z80/labels.s
new file mode 100644 (file)
index 0000000..a957fef
--- /dev/null
@@ -0,0 +1,43 @@
+       .text
+       .globl  label1
+       .globl  label2
+       .globl  label3
+       .globl  label4
+       .globl  label5
+       .globl  label6
+       .globl  label7
+       .globl  label8
+       .globl  label9
+       .globl  value8
+       .globl  value16
+       .globl  value24
+       .globl  value32
+       .globl  field_0
+       .globl  field_1
+_start:
+label1:
+       ld      a,b
+label2:
+       ld      a,c
+label3:
+       ld      a,d
+label4:
+       ld      a,e
+label5:
+       ld      a,h
+label6:
+       ld      a,l
+label7:
+       ld      a,(hl)
+label8:
+       ld      a,a
+label9:
+       cpl
+
+value8 .equ 0x12
+value16        .equ    0x1234
+value24        .equ    0x123456
+value32        .equ    0x12345678
+
+field_0        .equ    3
+field_1        .equ    field_0 + 1
diff --git a/ld/testsuite/ld-z80/relocs.s b/ld/testsuite/ld-z80/relocs.s
new file mode 100644 (file)
index 0000000..131a702
--- /dev/null
@@ -0,0 +1,81 @@
+       .text
+;      .org    0
+
+       .globl  label1
+       .globl  label2
+       .globl  label3
+       .globl  label4
+       .globl  label5
+       .globl  label6
+       .globl  label7
+       .globl  label8
+       .globl  label9
+
+       .globl  value8
+       .globl  value16
+       .globl  value24
+       .globl  value32
+
+       .globl  field_0
+       .globl  field_1
+
+       call    label1
+       call    nz,label2
+       call    z,label3
+       call    nc,label4
+       call    c,label5
+       call    po,label6
+       call    pe,label7
+       call    p,label8
+       call    m,label9
+
+       jp      label1
+       jp      nz,label2
+       jp      z,label3
+       jp      nc,label4
+       jp      c,label5
+       jp      po,label6
+       jp      pe,label7
+       jp      p,label8
+       jp      m,label9
+
+       ld      l,(ix+5)
+       ld      a,(ix+field_0)
+       ld      c,(ix+field_1-10)
+       ld      b,(ix+field_1-11)
+
+field_0_1      .equ    field_0+90
+
+       ld      (iy-5),l
+       ld      (iy+field_0),a
+       ld      (iy+field_1+10),c
+       ld      (iy+field_1+11),b
+       ld      h,(iy+field_0_1)
+
+       .ifdef ADLMODE
+       ld.is   de,value32 >> 16
+       ld.is   hl,value32 & 0xffff
+       ld.is   de,(value32 + 0x12345678) >> 16
+       ld.is   hl,(value32 + 0x12345678) & 0xffff
+       .else
+       ld      de,value32 >> 16
+       ld      hl,value32 & 0xffff
+       ld      de,(value32 + 0x12345678) >> 16
+       ld      hl,(value32 + 0x12345678) & 0xffff
+       .endif
+
+       ld      d,value32 >> 24
+       ld      e,value32 >> 16
+       ld      h,value32 >> 8
+       ld      l,value32 >> 0
+
+       ld      d,(value32 + 0x12345678) >> 24
+       ld      e,(value32 + 0x12345678) >> 16
+       ld      h,(value32 + 0x12345678) >> 8
+       ld      l,(value32 + 0x12345678) >> 0
+
+       .data
+       .db     value8
+       .dw     value16
+       .d24    value24
+       .d32    value32
diff --git a/ld/testsuite/ld-z80/relocs_b_ez80.d b/ld/testsuite/ld-z80/relocs_b_ez80.d
new file mode 100644 (file)
index 0000000..a421ce8
--- /dev/null
@@ -0,0 +1,60 @@
+#name: eZ80 backward relocation in ADL mode
+#source: labels.s -ez80-adl
+#source: relocs.s -ez80-adl --defsym ADLMODE=1
+#ld: -e 0 -Ttext 0x100 -Tdata 0x200 -s
+#objdump: -d
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+
+.* \.text:
+
+00000100 <.*>:
+ 100:[         ]+78[                   ]+ld a,b
+ 101:[         ]+79[                   ]+ld a,c
+ 102:[         ]+7a[                   ]+ld a,d
+ 103:[         ]+7b[                   ]+ld a,e
+ 104:[         ]+7c[                   ]+ld a,h
+ 105:[         ]+7d[                   ]+ld a,l
+ 106:[         ]+7e[                   ]+ld a,\(hl\)
+ 107:[         ]+7f[                   ]+ld a,a
+ 108:[         ]+2f[                   ]+cpl
+ 109:[         ]+cd 00 01 00[          ]+call 0x0100
+ 10d:[         ]+c4 01 01 00[          ]+call nz,0x0101
+ 111:[         ]+cc 02 01 00[          ]+call z,0x0102
+ 115:[         ]+d4 03 01 00[          ]+call nc,0x0103
+ 119:[         ]+dc 04 01 00[          ]+call c,0x0104
+ 11d:[         ]+e4 05 01 00[          ]+call po,0x0105
+ 121:[         ]+ec 06 01 00[          ]+call pe,0x0106
+ 125:[         ]+f4 07 01 00[          ]+call p,0x0107
+ 129:[         ]+fc 08 01 00[          ]+call m,0x0108
+ 12d:[         ]+c3 00 01 00[          ]+jp 0x0100
+ 131:[         ]+c2 01 01 00[          ]+jp nz,0x0101
+ 135:[         ]+ca 02 01 00[          ]+jp z,0x0102
+ 139:[         ]+d2 03 01 00[          ]+jp nc,0x0103
+ 13d:[         ]+da 04 01 00[          ]+jp c,0x0104
+ 141:[         ]+e2 05 01 00[          ]+jp po,0x0105
+ 145:[         ]+ea 06 01 00[          ]+jp pe,0x0106
+ 149:[         ]+f2 07 01 00[          ]+jp p,0x0107
+ 14d:[         ]+fa 08 01 00[          ]+jp m,0x0108
+ 151:[         ]+dd 6e 05[             ]+ld l,\(ix\+5\)
+ 154:[         ]+dd 7e 03[             ]+ld a,\(ix\+3\)
+ 157:[         ]+dd 4e fa[             ]+ld c,\(ix\-6\)
+ 15a:[         ]+dd 46 f9[             ]+ld b,\(ix\-7\)
+ 15d:[         ]+fd 75 fb[             ]+ld \(iy\-5\),l
+ 160:[         ]+fd 77 03[             ]+ld \(iy\+3\),a
+ 163:[         ]+fd 71 0e[             ]+ld \(iy\+14\),c
+ 166:[         ]+fd 70 0f[             ]+ld \(iy\+15\),b
+ 169:[         ]+fd 66 5d[             ]+ld h,\(iy\+93\)
+ 16c:[         ]+49 11 34 12[          ]+ld\.lis de,0x1234
+ 170:[         ]+49 21 78 56[          ]+ld\.lis hl,0x5678
+ 174:[         ]+49 11 68 24[          ]+ld\.lis de,0x2468
+ 178:[         ]+49 21 f0 ac[          ]+ld\.lis hl,0xacf0
+ 17c:[         ]+16 12[                ]+ld d,0x12
+ 17e:[         ]+1e 34[                ]+ld e,0x34
+ 180:[         ]+26 56[                ]+ld h,0x56
+ 182:[         ]+2e 78[                ]+ld l,0x78
+ 184:[         ]+16 24[                ]+ld d,0x24
+ 186:[         ]+1e 68[                ]+ld e,0x68
+ 188:[         ]+26 ac[                ]+ld h,0xac
+ 18a:[         ]+2e f0[                ]+ld l,0xf0
diff --git a/ld/testsuite/ld-z80/relocs_b_z80.d b/ld/testsuite/ld-z80/relocs_b_z80.d
new file mode 100644 (file)
index 0000000..1417650
--- /dev/null
@@ -0,0 +1,60 @@
+#name: Z80 backward relocation
+#source: labels.s -z80
+#source: relocs.s -z80
+#ld: -e 0 -Ttext 0x100 -Tdata 0x200 -s
+#objdump: -d
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+
+.* \.text:
+
+00000100 <.*>:
+ 100:[         ]+78[           ]+ld a,b
+ 101:[         ]+79[           ]+ld a,c
+ 102:[         ]+7a[           ]+ld a,d
+ 103:[         ]+7b[           ]+ld a,e
+ 104:[         ]+7c[           ]+ld a,h
+ 105:[         ]+7d[           ]+ld a,l
+ 106:[         ]+7e[           ]+ld a,\(hl\)
+ 107:[         ]+7f[           ]+ld a,a
+ 108:[         ]+2f[           ]+cpl
+ 109:[         ]+cd 00 01[     ]+call 0x0100
+ 10c:[         ]+c4 01 01[     ]+call nz,0x0101
+ 10f:[         ]+cc 02 01[     ]+call z,0x0102
+ 112:[         ]+d4 03 01[     ]+call nc,0x0103
+ 115:[         ]+dc 04 01[     ]+call c,0x0104
+ 118:[         ]+e4 05 01[     ]+call po,0x0105
+ 11b:[         ]+ec 06 01[     ]+call pe,0x0106
+ 11e:[         ]+f4 07 01[     ]+call p,0x0107
+ 121:[         ]+fc 08 01[     ]+call m,0x0108
+ 124:[         ]+c3 00 01[     ]+jp 0x0100
+ 127:[         ]+c2 01 01[     ]+jp nz,0x0101
+ 12a:[         ]+ca 02 01[     ]+jp z,0x0102
+ 12d:[         ]+d2 03 01[     ]+jp nc,0x0103
+ 130:[         ]+da 04 01[     ]+jp c,0x0104
+ 133:[         ]+e2 05 01[     ]+jp po,0x0105
+ 136:[         ]+ea 06 01[     ]+jp pe,0x0106
+ 139:[         ]+f2 07 01[     ]+jp p,0x0107
+ 13c:[         ]+fa 08 01[     ]+jp m,0x0108
+ 13f:[         ]+dd 6e 05[     ]+ld l,\(ix\+5\)
+ 142:[         ]+dd 7e 03[     ]+ld a,\(ix\+3\)
+ 145:[         ]+dd 4e fa[     ]+ld c,\(ix\-6\)
+ 148:[         ]+dd 46 f9[     ]+ld b,\(ix\-7\)
+ 14b:[         ]+fd 75 fb[     ]+ld \(iy\-5\),l
+ 14e:[         ]+fd 77 03[     ]+ld \(iy\+3\),a
+ 151:[         ]+fd 71 0e[     ]+ld \(iy\+14\),c
+ 154:[         ]+fd 70 0f[     ]+ld \(iy\+15\),b
+ 157:[         ]+fd 66 5d[     ]+ld h,\(iy\+93\)
+ 15a:[         ]+11 34 12[     ]+ld de,0x1234
+ 15d:[         ]+21 78 56[     ]+ld hl,0x5678
+ 160:[         ]+11 68 24[     ]+ld de,0x2468
+ 163:[         ]+21 f0 ac[     ]+ld hl,0xacf0
+ 166:[         ]+16 12[        ]+ld d,0x12
+ 168:[         ]+1e 34[        ]+ld e,0x34
+ 16a:[         ]+26 56[        ]+ld h,0x56
+ 16c:[         ]+2e 78[        ]+ld l,0x78
+ 16e:[         ]+16 24[        ]+ld d,0x24
+ 170:[         ]+1e 68[        ]+ld e,0x68
+ 172:[         ]+26 ac[        ]+ld h,0xac
+ 174:[         ]+2e f0[        ]+ld l,0xf0
diff --git a/ld/testsuite/ld-z80/relocs_f_ez80.d b/ld/testsuite/ld-z80/relocs_f_ez80.d
new file mode 100644 (file)
index 0000000..323156b
--- /dev/null
@@ -0,0 +1,78 @@
+#name: eZ80 forward relocation in ADL mode
+#source: relocs.s -ez80-adl --defsym ADLMODE=1
+#source: labels.s -ez80-adl
+#ld: -e 0 -Ttext 0x100 -Tdata 0x200
+#objdump: -d
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+
+.* \.text:
+
+00000100 <.*>:
+ 100:[         ]+cd 83 01 00[          ]+call 0x0183
+ 104:[         ]+c4 84 01 00[          ]+call nz,0x0184
+ 108:[         ]+cc 85 01 00[          ]+call z,0x0185
+ 10c:[         ]+d4 86 01 00[          ]+call nc,0x0186
+ 110:[         ]+dc 87 01 00[          ]+call c,0x0187
+ 114:[         ]+e4 88 01 00[          ]+call po,0x0188
+ 118:[         ]+ec 89 01 00[          ]+call pe,0x0189
+ 11c:[         ]+f4 8a 01 00[          ]+call p,0x018a
+ 120:[         ]+fc 8b 01 00[          ]+call m,0x018b
+ 124:[         ]+c3 83 01 00[          ]+jp 0x0183
+ 128:[         ]+c2 84 01 00[          ]+jp nz,0x0184
+ 12c:[         ]+ca 85 01 00[          ]+jp z,0x0185
+ 130:[         ]+d2 86 01 00[          ]+jp nc,0x0186
+ 134:[         ]+da 87 01 00[          ]+jp c,0x0187
+ 138:[         ]+e2 88 01 00[          ]+jp po,0x0188
+ 13c:[         ]+ea 89 01 00[          ]+jp pe,0x0189
+ 140:[         ]+f2 8a 01 00[          ]+jp p,0x018a
+ 144:[         ]+fa 8b 01 00[          ]+jp m,0x018b
+ 148:[         ]+dd 6e 05[             ]+ld l,\(ix\+5\)
+ 14b:[         ]+dd 7e 03[             ]+ld a,\(ix\+3\)
+ 14e:[         ]+dd 4e fa[             ]+ld c,\(ix\-6\)
+ 151:[         ]+dd 46 f9[             ]+ld b,\(ix\-7\)
+ 154:[         ]+fd 75 fb[             ]+ld \(iy\-5\),l
+ 157:[         ]+fd 77 03[             ]+ld \(iy\+3\),a
+ 15a:[         ]+fd 71 0e[             ]+ld \(iy\+14\),c
+ 15d:[         ]+fd 70 0f[             ]+ld \(iy\+15\),b
+ 160:[         ]+fd 66 5d[             ]+ld h,\(iy\+93\)
+ 163:[         ]+49 11 34 12[          ]+ld\.lis de,0x1234
+ 167:[         ]+49 21 78 56[          ]+ld\.lis hl,0x5678
+ 16b:[         ]+49 11 68 24[          ]+ld\.lis de,0x2468
+ 16f:[         ]+49 21 f0 ac[          ]+ld\.lis hl,0xacf0
+ 173:[         ]+16 12[                ]+ld d,0x12
+ 175:[         ]+1e 34[                ]+ld e,0x34
+ 177:[         ]+26 56[                ]+ld h,0x56
+ 179:[         ]+2e 78[                ]+ld l,0x78
+ 17b:[         ]+16 24[                ]+ld d,0x24
+ 17d:[         ]+1e 68[                ]+ld e,0x68
+ 17f:[         ]+26 ac[                ]+ld h,0xac
+ 181:[         ]+2e f0[                ]+ld l,0xf0
+
+00000183 <label1>:
+ 183:[         ]+78[                   ]+ld a,b
+
+00000184 <label2>:
+ 184:[         ]+79[                   ]+ld a,c
+
+00000185 <label3>:
+ 185:[         ]+7a[                   ]+ld a,d
+
+00000186 <label4>:
+ 186:[         ]+7b[                   ]+ld a,e
+
+00000187 <label5>:
+ 187:[         ]+7c[                   ]+ld a,h
+
+00000188 <label6>:
+ 188:[         ]+7d[                   ]+ld a,l
+
+00000189 <label7>:
+ 189:[         ]+7e[                   ]+ld a,\(hl\)
+
+0000018a <label8>:
+ 18a:[         ]+7f[                   ]+ld a,a
+
+0000018b <label9>:
+ 18b:[         ]+2f[                   ]+cpl
diff --git a/ld/testsuite/ld-z80/relocs_f_z80.d b/ld/testsuite/ld-z80/relocs_f_z80.d
new file mode 100644 (file)
index 0000000..462da8a
--- /dev/null
@@ -0,0 +1,79 @@
+#name: Z80 forward relocation
+#source: relocs.s -z80
+#source: labels.s -z80
+#ld: -e 0 -Ttext 0x100 -Tdata 0x200
+#objdump: -d
+
+
+.*:[     ]+file format (coff)|(elf32)\-z80
+
+
+.* \.text:
+
+00000100 <.*>:
+ 100:[         ]+cd 6d 01[     ]+call 0x016d
+ 103:[         ]+c4 6e 01[     ]+call nz,0x016e
+ 106:[         ]+cc 6f 01[     ]+call z,0x016f
+ 109:[         ]+d4 70 01[     ]+call nc,0x0170
+ 10c:[         ]+dc 71 01[     ]+call c,0x0171
+ 10f:[         ]+e4 72 01[     ]+call po,0x0172
+ 112:[         ]+ec 73 01[     ]+call pe,0x0173
+ 115:[         ]+f4 74 01[     ]+call p,0x0174
+ 118:[         ]+fc 75 01[     ]+call m,0x0175
+ 11b:[         ]+c3 6d 01[     ]+jp 0x016d
+ 11e:[         ]+c2 6e 01[     ]+jp nz,0x016e
+ 121:[         ]+ca 6f 01[     ]+jp z,0x016f
+ 124:[         ]+d2 70 01[     ]+jp nc,0x0170
+ 127:[         ]+da 71 01[     ]+jp c,0x0171
+ 12a:[         ]+e2 72 01[     ]+jp po,0x0172
+ 12d:[         ]+ea 73 01[     ]+jp pe,0x0173
+ 130:[         ]+f2 74 01[     ]+jp p,0x0174
+ 133:[         ]+fa 75 01[     ]+jp m,0x0175
+ 136:[         ]+dd 6e 05[     ]+ld l,\(ix\+5\)
+ 139:[         ]+dd 7e 03[     ]+ld a,\(ix\+3\)
+ 13c:[         ]+dd 4e fa[     ]+ld c,\(ix\-6\)
+ 13f:[         ]+dd 46 f9[     ]+ld b,\(ix\-7\)
+ 142:[         ]+fd 75 fb[     ]+ld \(iy\-5\),l
+ 145:[         ]+fd 77 03[     ]+ld \(iy\+3\),a
+ 148:[         ]+fd 71 0e[     ]+ld \(iy\+14\),c
+ 14b:[         ]+fd 70 0f[     ]+ld \(iy\+15\),b
+ 14e:[         ]+fd 66 5d[     ]+ld h,\(iy\+93\)
+ 151:[         ]+11 34 12[     ]+ld de,0x1234
+ 154:[         ]+21 78 56[     ]+ld hl,0x5678
+ 157:[         ]+11 68 24[     ]+ld de,0x2468
+ 15a:[         ]+21 f0 ac[     ]+ld hl,0xacf0
+ 15d:[         ]+16 12[        ]+ld d,0x12
+ 15f:[         ]+1e 34[        ]+ld e,0x34
+ 161:[         ]+26 56[        ]+ld h,0x56
+ 163:[         ]+2e 78[        ]+ld l,0x78
+ 165:[         ]+16 24[        ]+ld d,0x24
+ 167:[         ]+1e 68[        ]+ld e,0x68
+ 169:[         ]+26 ac[        ]+ld h,0xac
+ 16b:[         ]+2e f0[        ]+ld l,0xf0
+
+0000016d <label1>:
+ 16d:[         ]+78[           ]+ld a,b
+
+0000016e <label2>:
+ 16e:[         ]+79[           ]+ld a,c
+
+0000016f <label3>:
+ 16f:[         ]+7a[           ]+ld a,d
+
+00000170 <label4>:
+ 170:[         ]+7b[           ]+ld a,e
+
+00000171 <label5>:
+ 171:[         ]+7c[           ]+ld a,h
+
+00000172 <label6>:
+ 172:[         ]+7d[           ]+ld a,l
+
+00000173 <label7>:
+ 173:[         ]+7e[           ]+ld a,\(hl\)
+
+00000174 <label8>:
+ 174:[         ]+7f[           ]+ld a,a
+
+00000175 <label9>:
+ 175:[         ]+2f[           ]+cpl
diff --git a/ld/testsuite/ld-z80/z80.exp b/ld/testsuite/ld-z80/z80.exp
new file mode 100644 (file)
index 0000000..d141ab8
--- /dev/null
@@ -0,0 +1,33 @@
+# Expect script for ld-z80 tests
+#   Copyright (C) 2016-2019 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+#
+
+# Test z80 linking; all types of relocs.  This tests the assembler
+# and tools like objdump as well as the main target, the linker.
+
+if ![istarget "z80-*-*"] then {
+    return
+}
+
+set z80_test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
+foreach z80_test $z80_test_list {
+    verbose [file rootname $z80_test]
+    run_dump_test [file rootname $z80_test]
+}
index c78b42bb0e93ae342ee787f29159e9eb73f886af..e3be019ec9d6fbfee99a506776ed50d49339d0e7 100644 (file)
@@ -1,3 +1,7 @@
+2020-01-02  Sergey Belyashov  <sergey.belyashov@gmail.com>
+
+       * z80-dis.c: Add support for eZ80 and Z80 instructions.
+
 2020-01-01  Alan Modra  <amodra@gmail.com>
 
        Update year range in copyright notice of all files.
index ccfa5038083da47d8e0f770cc639043bddced75b..11de499d7a14c7806d91e5a142634227cf43edee 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2019-01-19 16:35+0000\n"
+"POT-Creation-Date: 2020-01-02 11:10+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,21 +17,21 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: aarch64-asm.c:819
+#: aarch64-asm.c:809
 msgid "specified register cannot be read from"
 msgstr ""
 
-#: aarch64-asm.c:828
+#: aarch64-asm.c:818
 msgid "specified register cannot be written to"
 msgstr ""
 
 #. Invalid option.
-#: aarch64-dis.c:92 arc-dis.c:782 arm-dis.c:6174
+#: aarch64-dis.c:93 arc-dis.c:801 arm-dis.c:11328
 #, c-format
 msgid "unrecognised disassembler option: %s"
 msgstr ""
 
-#: aarch64-dis.c:3448
+#: aarch64-dis.c:3521
 #, c-format
 msgid ""
 "\n"
@@ -39,299 +39,299 @@ msgid ""
 "with the -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 
-#: aarch64-dis.c:3452
+#: aarch64-dis.c:3525
 #, c-format
 msgid ""
 "\n"
 "  no-aliases         Don't print instruction aliases.\n"
 msgstr ""
 
-#: aarch64-dis.c:3455
+#: aarch64-dis.c:3528
 #, c-format
 msgid ""
 "\n"
 "  aliases            Do print instruction aliases.\n"
 msgstr ""
 
-#: aarch64-dis.c:3458
+#: aarch64-dis.c:3531
 #, c-format
 msgid ""
 "\n"
 "  no-notes         Don't print instruction notes.\n"
 msgstr ""
 
-#: aarch64-dis.c:3461
+#: aarch64-dis.c:3534
 #, c-format
 msgid ""
 "\n"
 "  notes            Do print instruction notes.\n"
 msgstr ""
 
-#: aarch64-dis.c:3465
+#: aarch64-dis.c:3538
 #, c-format
 msgid ""
 "\n"
 "  debug_dump         Temp switch for debug trace.\n"
 msgstr ""
 
-#: aarch64-dis.c:3469 mips-dis.c:2773 mips-dis.c:2783 mips-dis.c:2786
-#: nfp-dis.c:2981 riscv-dis.c:552
+#: aarch64-dis.c:3542 mips-dis.c:2778 mips-dis.c:2788 mips-dis.c:2791
+#: nfp-dis.c:2981 riscv-dis.c:556
 #, c-format
 msgid "\n"
 msgstr ""
 
-#: aarch64-opc.c:1339
+#: aarch64-opc.c:1346
 msgid "immediate value"
 msgstr ""
 
-#: aarch64-opc.c:1349
+#: aarch64-opc.c:1356
 msgid "immediate offset"
 msgstr ""
 
-#: aarch64-opc.c:1359
+#: aarch64-opc.c:1366
 msgid "register number"
 msgstr ""
 
-#: aarch64-opc.c:1369
+#: aarch64-opc.c:1376
 msgid "register element index"
 msgstr ""
 
-#: aarch64-opc.c:1379
+#: aarch64-opc.c:1386
 msgid "shift amount"
 msgstr ""
 
-#: aarch64-opc.c:1391
+#: aarch64-opc.c:1398
 msgid "multiplier"
 msgstr ""
 
-#: aarch64-opc.c:1464
+#: aarch64-opc.c:1471
 msgid "reg pair must start from even reg"
 msgstr ""
 
-#: aarch64-opc.c:1470
+#: aarch64-opc.c:1477
 msgid "reg pair must be contiguous"
 msgstr ""
 
-#: aarch64-opc.c:1484
+#: aarch64-opc.c:1491
 msgid "extraneous register"
 msgstr ""
 
-#: aarch64-opc.c:1490
+#: aarch64-opc.c:1497
 msgid "missing register"
 msgstr ""
 
-#: aarch64-opc.c:1501
+#: aarch64-opc.c:1508
 msgid "stack pointer register expected"
 msgstr ""
 
-#: aarch64-opc.c:1524
+#: aarch64-opc.c:1533
 msgid "z0-z15 expected"
 msgstr ""
 
-#: aarch64-opc.c:1525
+#: aarch64-opc.c:1534
 msgid "z0-z7 expected"
 msgstr ""
 
-#: aarch64-opc.c:1551
+#: aarch64-opc.c:1560
 msgid "invalid register list"
 msgstr ""
 
-#: aarch64-opc.c:1565
+#: aarch64-opc.c:1574
 msgid "p0-p7 expected"
 msgstr ""
 
-#: aarch64-opc.c:1591 aarch64-opc.c:1599
+#: aarch64-opc.c:1600 aarch64-opc.c:1608
 msgid "unexpected address writeback"
 msgstr ""
 
-#: aarch64-opc.c:1611
+#: aarch64-opc.c:1619
 msgid "address writeback expected"
 msgstr ""
 
-#: aarch64-opc.c:1658
+#: aarch64-opc.c:1666
 msgid "negative or unaligned offset expected"
 msgstr ""
 
-#: aarch64-opc.c:1715
+#: aarch64-opc.c:1723
 msgid "invalid register offset"
 msgstr ""
 
-#: aarch64-opc.c:1737
+#: aarch64-opc.c:1745
 msgid "invalid post-increment amount"
 msgstr ""
 
-#: aarch64-opc.c:1753 aarch64-opc.c:2247
+#: aarch64-opc.c:1761 aarch64-opc.c:2269
 msgid "invalid shift amount"
 msgstr ""
 
-#: aarch64-opc.c:1766
+#: aarch64-opc.c:1774
 msgid "invalid extend/shift operator"
 msgstr ""
 
-#: aarch64-opc.c:1812 aarch64-opc.c:2052 aarch64-opc.c:2087 aarch64-opc.c:2106
-#: aarch64-opc.c:2114 aarch64-opc.c:2201 aarch64-opc.c:2377 aarch64-opc.c:2477
-#: aarch64-opc.c:2490
+#: aarch64-opc.c:1820 aarch64-opc.c:2072 aarch64-opc.c:2107 aarch64-opc.c:2126
+#: aarch64-opc.c:2134 aarch64-opc.c:2222 aarch64-opc.c:2399 aarch64-opc.c:2499
+#: aarch64-opc.c:2512
 msgid "immediate out of range"
 msgstr ""
 
-#: aarch64-opc.c:1834 aarch64-opc.c:1876 aarch64-opc.c:1926 aarch64-opc.c:1960
+#: aarch64-opc.c:1842 aarch64-opc.c:1884 aarch64-opc.c:1946 aarch64-opc.c:1980
 msgid "invalid addressing mode"
 msgstr ""
 
-#: aarch64-opc.c:1918
+#: aarch64-opc.c:1938
 msgid "index register xzr is not allowed"
 msgstr ""
 
-#: aarch64-opc.c:2040 aarch64-opc.c:2062 aarch64-opc.c:2280 aarch64-opc.c:2288
-#: aarch64-opc.c:2354 aarch64-opc.c:2383
+#: aarch64-opc.c:2060 aarch64-opc.c:2082 aarch64-opc.c:2302 aarch64-opc.c:2310
+#: aarch64-opc.c:2376 aarch64-opc.c:2405
 msgid "invalid shift operator"
 msgstr ""
 
-#: aarch64-opc.c:2046
+#: aarch64-opc.c:2066
 msgid "shift amount must be 0 or 12"
 msgstr ""
 
-#: aarch64-opc.c:2069
+#: aarch64-opc.c:2089
 msgid "shift amount must be a multiple of 16"
 msgstr ""
 
-#: aarch64-opc.c:2081
+#: aarch64-opc.c:2101
 msgid "negative immediate value not allowed"
 msgstr ""
 
-#: aarch64-opc.c:2212
+#: aarch64-opc.c:2233
 msgid "immediate zero expected"
 msgstr ""
 
-#: aarch64-opc.c:2226
+#: aarch64-opc.c:2247
 msgid "rotate expected to be 0, 90, 180 or 270"
 msgstr ""
 
-#: aarch64-opc.c:2236
+#: aarch64-opc.c:2258
 msgid "rotate expected to be 90 or 270"
 msgstr ""
 
-#: aarch64-opc.c:2296
+#: aarch64-opc.c:2318
 msgid "shift is not permitted"
 msgstr ""
 
-#: aarch64-opc.c:2321
+#: aarch64-opc.c:2343
 msgid "invalid value for immediate"
 msgstr ""
 
-#: aarch64-opc.c:2346
+#: aarch64-opc.c:2368
 msgid "shift amount must be 0 or 16"
 msgstr ""
 
-#: aarch64-opc.c:2367
+#: aarch64-opc.c:2389
 msgid "floating-point immediate expected"
 msgstr ""
 
-#: aarch64-opc.c:2401
+#: aarch64-opc.c:2423
 msgid "no shift amount allowed for 8-bit constants"
 msgstr ""
 
-#: aarch64-opc.c:2411
+#: aarch64-opc.c:2433
 msgid "shift amount must be 0 or 8"
 msgstr ""
 
-#: aarch64-opc.c:2424
+#: aarch64-opc.c:2446
 msgid "immediate too big for element size"
 msgstr ""
 
-#: aarch64-opc.c:2431
+#: aarch64-opc.c:2453
 msgid "invalid arithmetic immediate"
 msgstr ""
 
-#: aarch64-opc.c:2445
+#: aarch64-opc.c:2467
 msgid "floating-point value must be 0.5 or 1.0"
 msgstr ""
 
-#: aarch64-opc.c:2455
+#: aarch64-opc.c:2477
 msgid "floating-point value must be 0.5 or 2.0"
 msgstr ""
 
-#: aarch64-opc.c:2465
+#: aarch64-opc.c:2487
 msgid "floating-point value must be 0.0 or 1.0"
 msgstr ""
 
-#: aarch64-opc.c:2496
+#: aarch64-opc.c:2518
 msgid "invalid replicated MOV immediate"
 msgstr ""
 
-#: aarch64-opc.c:2614
+#: aarch64-opc.c:2639
 msgid "extend operator expected"
 msgstr ""
 
-#: aarch64-opc.c:2627
+#: aarch64-opc.c:2652
 msgid "missing extend operator"
 msgstr ""
 
-#: aarch64-opc.c:2633
+#: aarch64-opc.c:2658
 msgid "'LSL' operator not allowed"
 msgstr ""
 
-#: aarch64-opc.c:2654
+#: aarch64-opc.c:2679
 msgid "W register expected"
 msgstr ""
 
-#: aarch64-opc.c:2665
+#: aarch64-opc.c:2690
 msgid "shift operator expected"
 msgstr ""
 
-#: aarch64-opc.c:2672
+#: aarch64-opc.c:2697
 msgid "'ROR' operator not allowed"
 msgstr ""
 
-#: aarch64-opc.c:3671
+#: aarch64-opc.c:3711
 msgid "reading from a write-only register"
 msgstr ""
 
-#: aarch64-opc.c:3673
+#: aarch64-opc.c:3713
 msgid "writing to a read-only register"
 msgstr ""
 
-#: aarch64-opc.c:4815
+#: aarch64-opc.c:4880
 msgid "instruction opens new dependency sequence without ending previous one"
 msgstr ""
 
-#: aarch64-opc.c:4835
+#: aarch64-opc.c:4900
 msgid "previous `movprfx' sequence not closed"
 msgstr ""
 
-#: aarch64-opc.c:4852
+#: aarch64-opc.c:4919
 msgid "SVE instruction expected after `movprfx'"
 msgstr ""
 
-#: aarch64-opc.c:4865
+#: aarch64-opc.c:4932
 msgid "SVE `movprfx' compatible instruction expected"
 msgstr ""
 
-#: aarch64-opc.c:4956
+#: aarch64-opc.c:5019
 msgid "predicated instruction expected after `movprfx'"
 msgstr ""
 
-#: aarch64-opc.c:4968
+#: aarch64-opc.c:5031
 msgid "merging predicate expected due to preceding `movprfx'"
 msgstr ""
 
-#: aarch64-opc.c:4980
+#: aarch64-opc.c:5043
 msgid "predicate register differs from that in preceding `movprfx'"
 msgstr ""
 
-#: aarch64-opc.c:4999
+#: aarch64-opc.c:5062
 msgid "output register of preceding `movprfx' not used in current instruction"
 msgstr ""
 
-#: aarch64-opc.c:5012
+#: aarch64-opc.c:5075
 msgid "output register of preceding `movprfx' expected as output"
 msgstr ""
 
-#: aarch64-opc.c:5024
+#: aarch64-opc.c:5087
 msgid "output register of preceding `movprfx' used as input"
 msgstr ""
 
-#: aarch64-opc.c:5040
+#: aarch64-opc.c:5103
 msgid "register size not compatible with previous `movprfx'"
 msgstr ""
 
@@ -343,7 +343,7 @@ msgstr ""
 msgid "jump hint unaligned"
 msgstr ""
 
-#: arc-dis.c:377
+#: arc-dis.c:379
 msgid ""
 "\n"
 "Warning: disassembly may be wrong due to guessed opcode class choice.\n"
@@ -351,12 +351,12 @@ msgid ""
 "\t\t\t\t"
 msgstr ""
 
-#: arc-dis.c:825
+#: arc-dis.c:844
 #, c-format
 msgid "unrecognised disassembler CPU option: %s"
 msgstr ""
 
-#: arc-dis.c:1387
+#: arc-dis.c:1411
 #, c-format
 msgid ""
 "\n"
@@ -364,42 +364,47 @@ msgid ""
 "with -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 
-#: arc-dis.c:1399
+#: arc-dis.c:1423
 #, c-format
 msgid "  dsp             Recognize DSP instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1401
+#: arc-dis.c:1425
 #, c-format
 msgid "  spfp            Recognize FPX SP instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1403
+#: arc-dis.c:1427
 #, c-format
 msgid "  dpfp            Recognize FPX DP instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1405
+#: arc-dis.c:1429
 #, c-format
 msgid "  quarkse_em      Recognize FPU QuarkSE-EM instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1407
+#: arc-dis.c:1431
 #, c-format
 msgid "  fpuda           Recognize double assist FPU instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1409
+#: arc-dis.c:1433
 #, c-format
 msgid "  fpus            Recognize single precision FPU instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1411
+#: arc-dis.c:1435
 #, c-format
 msgid "  fpud            Recognize double precision FPU instructions.\n"
 msgstr ""
 
-#: arc-dis.c:1413
+#: arc-dis.c:1437
+#, c-format
+msgid "  nps400          Recognize NPS400 instructions.\n"
+msgstr ""
+
+#: arc-dis.c:1439
 #, c-format
 msgid "  hex             Use only hexadecimal number to print immediates.\n"
 msgstr ""
@@ -565,48 +570,48 @@ msgstr ""
 msgid "invalid position, should be one of: 0,4,8,...124."
 msgstr ""
 
-#: arm-dis.c:3242
+#: arm-dis.c:5105
 msgid "Select raw register names"
 msgstr ""
 
-#: arm-dis.c:3244
+#: arm-dis.c:5107
 msgid "Select register names used by GCC"
 msgstr ""
 
-#: arm-dis.c:3246
+#: arm-dis.c:5109
 msgid "Select register names used in ARM's ISA documentation"
 msgstr ""
 
-#: arm-dis.c:3248
+#: arm-dis.c:5111
 msgid "Assume all insns are Thumb insns"
 msgstr ""
 
-#: arm-dis.c:3249
+#: arm-dis.c:5112
 msgid "Examine preceding label to determine an insn's type"
 msgstr ""
 
-#: arm-dis.c:3250
+#: arm-dis.c:5113
 msgid "Select register names used in the APCS"
 msgstr ""
 
-#: arm-dis.c:3252
+#: arm-dis.c:5115
 msgid "Select register names used in the ATPCS"
 msgstr ""
 
-#: arm-dis.c:3254
+#: arm-dis.c:5117
 msgid "Select special register names used in the ATPCS"
 msgstr ""
 
-#: arm-dis.c:3652
+#: arm-dis.c:8286
 msgid "<illegal precision>"
 msgstr ""
 
-#: arm-dis.c:6165
+#: arm-dis.c:11319
 #, c-format
 msgid "unrecognised register name set: %s"
 msgstr ""
 
-#: arm-dis.c:6906
+#: arm-dis.c:12018
 #, c-format
 msgid ""
 "\n"
@@ -619,257 +624,280 @@ msgstr ""
 msgid "undefined"
 msgstr ""
 
-#: avr-dis.c:216
+#: avr-dis.c:218
 #, c-format
 msgid "internal disassembler error"
 msgstr ""
 
-#: avr-dis.c:270
+#: avr-dis.c:272
 #, c-format
 msgid "unknown constraint `%c'"
 msgstr ""
 
-#: cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
-#: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201
-#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201
-#: xc16x-ibld.c:201 xstormy16-ibld.c:201
-#, c-format
-msgid "operand out of range (%ld not between %ld and %ld)"
-msgstr ""
-
-#: cgen-asm.c:373
-#, c-format
-msgid "operand out of range (%lu not between %lu and %lu)"
-msgstr ""
-
-#: d30v-dis.c:229
-#, c-format
-msgid "illegal id (%d)"
-msgstr ""
-
-#: d30v-dis.c:256
-#, c-format
-msgid "<unknown register %d>"
-msgstr ""
-
-#. Can't happen.
-#: dis-buf.c:61
-#, c-format
-msgid "Unknown error %d\n"
-msgstr ""
-
-#: dis-buf.c:70
-#, c-format
-msgid "Address 0x%s is out of bounds.\n"
-msgstr ""
-
-#: epiphany-asm.c:68
-msgid "register unavailable for short instructions"
-msgstr ""
-
-#: epiphany-asm.c:115
-msgid "register name used as immediate value"
-msgstr ""
-
-#. Don't treat "mov ip,ip" as a move-immediate.
-#: epiphany-asm.c:178 epiphany-asm.c:234
-msgid "register source in immediate move"
-msgstr ""
-
-#: epiphany-asm.c:187
-msgid "byte relocation unsupported"
+#: bpf-asm.c:97
+msgid "expected 16, 32 or 64 in"
 msgstr ""
 
-#. -- assembler routines inserted here.
-#. -- asm.c
-#: epiphany-asm.c:193 frv-asm.c:972 iq2000-asm.c:56 lm32-asm.c:95
-#: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247
-#: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355
-#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289
-#: mep-asm.c:301 or1k-asm.c:54
-msgid "missing `)'"
-msgstr ""
-
-#: epiphany-asm.c:270
-msgid "ABORT: unknown operand"
-msgstr ""
-
-#: epiphany-asm.c:296
-msgid "Not a pc-relative address."
-msgstr ""
-
-#: epiphany-asm.c:456 fr30-asm.c:311 frv-asm.c:1264 ip2k-asm.c:512
-#: iq2000-asm.c:460 lm32-asm.c:350 m32c-asm.c:1585 m32r-asm.c:329
-#: mep-asm.c:1288 mt-asm.c:596 or1k-asm.c:512 xc16x-asm.c:377
+#: bpf-asm.c:181 epiphany-asm.c:456 fr30-asm.c:311 frv-asm.c:1264
+#: ip2k-asm.c:512 iq2000-asm.c:460 lm32-asm.c:350 m32c-asm.c:1585
+#: m32r-asm.c:329 mep-asm.c:1288 mt-asm.c:596 or1k-asm.c:580 xc16x-asm.c:377
 #: xstormy16-asm.c:277
 #, c-format
 msgid "internal error: unrecognized field %d while parsing"
 msgstr ""
 
-#: epiphany-asm.c:508 fr30-asm.c:363 frv-asm.c:1316 ip2k-asm.c:564
-#: iq2000-asm.c:512 lm32-asm.c:402 m32c-asm.c:1637 m32r-asm.c:381
-#: mep-asm.c:1340 mt-asm.c:648 or1k-asm.c:564 xc16x-asm.c:429
+#: bpf-asm.c:233 epiphany-asm.c:508 fr30-asm.c:363 frv-asm.c:1316
+#: ip2k-asm.c:564 iq2000-asm.c:512 lm32-asm.c:402 m32c-asm.c:1637
+#: m32r-asm.c:381 mep-asm.c:1340 mt-asm.c:648 or1k-asm.c:632 xc16x-asm.c:429
 #: xstormy16-asm.c:329
 msgid "missing mnemonic in syntax string"
 msgstr ""
 
 #. We couldn't parse it.
-#: epiphany-asm.c:643 epiphany-asm.c:647 epiphany-asm.c:736 epiphany-asm.c:843
-#: fr30-asm.c:498 fr30-asm.c:502 fr30-asm.c:591 fr30-asm.c:698 frv-asm.c:1451
-#: frv-asm.c:1455 frv-asm.c:1544 frv-asm.c:1651 ip2k-asm.c:699 ip2k-asm.c:703
-#: ip2k-asm.c:792 ip2k-asm.c:899 iq2000-asm.c:647 iq2000-asm.c:651
-#: iq2000-asm.c:740 iq2000-asm.c:847 lm32-asm.c:537 lm32-asm.c:541
-#: lm32-asm.c:630 lm32-asm.c:737 m32c-asm.c:1772 m32c-asm.c:1776
-#: m32c-asm.c:1865 m32c-asm.c:1972 m32r-asm.c:516 m32r-asm.c:520 m32r-asm.c:609
-#: m32r-asm.c:716 mep-asm.c:1475 mep-asm.c:1479 mep-asm.c:1568 mep-asm.c:1675
-#: mt-asm.c:783 mt-asm.c:787 mt-asm.c:876 mt-asm.c:983 or1k-asm.c:699
-#: or1k-asm.c:703 or1k-asm.c:792 or1k-asm.c:899 xc16x-asm.c:564 xc16x-asm.c:568
-#: xc16x-asm.c:657 xc16x-asm.c:764 xstormy16-asm.c:464 xstormy16-asm.c:468
-#: xstormy16-asm.c:557 xstormy16-asm.c:664
+#: bpf-asm.c:368 bpf-asm.c:372 bpf-asm.c:461 bpf-asm.c:568 epiphany-asm.c:643
+#: epiphany-asm.c:647 epiphany-asm.c:736 epiphany-asm.c:843 fr30-asm.c:498
+#: fr30-asm.c:502 fr30-asm.c:591 fr30-asm.c:698 frv-asm.c:1451 frv-asm.c:1455
+#: frv-asm.c:1544 frv-asm.c:1651 ip2k-asm.c:699 ip2k-asm.c:703 ip2k-asm.c:792
+#: ip2k-asm.c:899 iq2000-asm.c:647 iq2000-asm.c:651 iq2000-asm.c:740
+#: iq2000-asm.c:847 lm32-asm.c:537 lm32-asm.c:541 lm32-asm.c:630 lm32-asm.c:737
+#: m32c-asm.c:1772 m32c-asm.c:1776 m32c-asm.c:1865 m32c-asm.c:1972
+#: m32r-asm.c:516 m32r-asm.c:520 m32r-asm.c:609 m32r-asm.c:716 mep-asm.c:1475
+#: mep-asm.c:1479 mep-asm.c:1568 mep-asm.c:1675 mt-asm.c:783 mt-asm.c:787
+#: mt-asm.c:876 mt-asm.c:983 or1k-asm.c:767 or1k-asm.c:771 or1k-asm.c:860
+#: or1k-asm.c:967 xc16x-asm.c:564 xc16x-asm.c:568 xc16x-asm.c:657
+#: xc16x-asm.c:764 xstormy16-asm.c:464 xstormy16-asm.c:468 xstormy16-asm.c:557
+#: xstormy16-asm.c:664
 msgid "unrecognized instruction"
 msgstr ""
 
-#: epiphany-asm.c:690 fr30-asm.c:545 frv-asm.c:1498 ip2k-asm.c:746
-#: iq2000-asm.c:694 lm32-asm.c:584 m32c-asm.c:1819 m32r-asm.c:563
-#: mep-asm.c:1522 mt-asm.c:830 or1k-asm.c:746 xc16x-asm.c:611
+#: bpf-asm.c:415 epiphany-asm.c:690 fr30-asm.c:545 frv-asm.c:1498
+#: ip2k-asm.c:746 iq2000-asm.c:694 lm32-asm.c:584 m32c-asm.c:1819
+#: m32r-asm.c:563 mep-asm.c:1522 mt-asm.c:830 or1k-asm.c:814 xc16x-asm.c:611
 #: xstormy16-asm.c:511
 #, c-format
 msgid "syntax error (expected char `%c', found `%c')"
 msgstr ""
 
-#: epiphany-asm.c:700 fr30-asm.c:555 frv-asm.c:1508 ip2k-asm.c:756
-#: iq2000-asm.c:704 lm32-asm.c:594 m32c-asm.c:1829 m32r-asm.c:573
-#: mep-asm.c:1532 mt-asm.c:840 or1k-asm.c:756 xc16x-asm.c:621
+#: bpf-asm.c:425 epiphany-asm.c:700 fr30-asm.c:555 frv-asm.c:1508
+#: ip2k-asm.c:756 iq2000-asm.c:704 lm32-asm.c:594 m32c-asm.c:1829
+#: m32r-asm.c:573 mep-asm.c:1532 mt-asm.c:840 or1k-asm.c:824 xc16x-asm.c:621
 #: xstormy16-asm.c:521
 #, c-format
 msgid "syntax error (expected char `%c', found end of instruction)"
 msgstr ""
 
-#: epiphany-asm.c:730 fr30-asm.c:585 frv-asm.c:1538 ip2k-asm.c:786
-#: iq2000-asm.c:734 lm32-asm.c:624 m32c-asm.c:1859 m32r-asm.c:603
-#: mep-asm.c:1562 mt-asm.c:870 or1k-asm.c:786 xc16x-asm.c:651
+#: bpf-asm.c:455 epiphany-asm.c:730 fr30-asm.c:585 frv-asm.c:1538
+#: ip2k-asm.c:786 iq2000-asm.c:734 lm32-asm.c:624 m32c-asm.c:1859
+#: m32r-asm.c:603 mep-asm.c:1562 mt-asm.c:870 or1k-asm.c:854 xc16x-asm.c:651
 #: xstormy16-asm.c:551
 msgid "junk at end of line"
 msgstr ""
 
-#: epiphany-asm.c:842 fr30-asm.c:697 frv-asm.c:1650 ip2k-asm.c:898
-#: iq2000-asm.c:846 lm32-asm.c:736 m32c-asm.c:1971 m32r-asm.c:715
-#: mep-asm.c:1674 mt-asm.c:982 or1k-asm.c:898 xc16x-asm.c:763
+#: bpf-asm.c:567 epiphany-asm.c:842 fr30-asm.c:697 frv-asm.c:1650
+#: ip2k-asm.c:898 iq2000-asm.c:846 lm32-asm.c:736 m32c-asm.c:1971
+#: m32r-asm.c:715 mep-asm.c:1674 mt-asm.c:982 or1k-asm.c:966 xc16x-asm.c:763
 #: xstormy16-asm.c:663
 msgid "unrecognized form of instruction"
 msgstr ""
 
-#: epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664 ip2k-asm.c:912
-#: iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985 m32r-asm.c:729
-#: mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:912 xc16x-asm.c:777
+#: bpf-asm.c:581 epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664
+#: ip2k-asm.c:912 iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985
+#: m32r-asm.c:729 mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:980 xc16x-asm.c:777
 #: xstormy16-asm.c:677
 #, c-format
 msgid "bad instruction `%.50s...'"
 msgstr ""
 
-#: epiphany-asm.c:859 fr30-asm.c:714 frv-asm.c:1667 ip2k-asm.c:915
-#: iq2000-asm.c:863 lm32-asm.c:753 m32c-asm.c:1988 m32r-asm.c:732
-#: mep-asm.c:1691 mt-asm.c:999 or1k-asm.c:915 xc16x-asm.c:780
+#: bpf-asm.c:584 epiphany-asm.c:859 fr30-asm.c:714 frv-asm.c:1667
+#: ip2k-asm.c:915 iq2000-asm.c:863 lm32-asm.c:753 m32c-asm.c:1988
+#: m32r-asm.c:732 mep-asm.c:1691 mt-asm.c:999 or1k-asm.c:983 xc16x-asm.c:780
 #: xstormy16-asm.c:680
 #, c-format
 msgid "bad instruction `%.50s'"
 msgstr ""
 
-#: epiphany-desc.c:2109
+#: bpf-desc.c:1441
 #, c-format
 msgid ""
-"internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"internal error: bpf_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
 "values: `%d' vs. `%d'"
 msgstr ""
 
-#: epiphany-desc.c:2192
+#: bpf-desc.c:1524
 #, c-format
-msgid "internal error: epiphany_cgen_cpu_open: unsupported argument `%d'"
+msgid "internal error: bpf_cgen_cpu_open: unsupported argument `%d'"
 msgstr ""
 
-#: epiphany-desc.c:2211
+#: bpf-desc.c:1543
 #, c-format
-msgid "internal error: epiphany_cgen_cpu_open: no endianness specified"
+msgid "internal error: bpf_cgen_cpu_open: no endianness specified"
 msgstr ""
 
 #. Default text to print if an instruction isn't recognized.
-#: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41
-#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:275
-#: mt-dis.c:41 nds32-dis.c:64 or1k-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
+#: bpf-dis.c:41 epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41
+#: iq2000-dis.c:41 lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41
+#: mmix-dis.c:293 mt-dis.c:41 nds32-dis.c:64 or1k-dis.c:41 xc16x-dis.c:41
+#: xstormy16-dis.c:41
 msgid "*unknown*"
 msgstr ""
 
-#: epiphany-dis.c:279 fr30-dis.c:300 frv-dis.c:397 ip2k-dis.c:289
+#: bpf-dis.c:203 epiphany-dis.c:279 fr30-dis.c:300 frv-dis.c:397 ip2k-dis.c:289
 #: iq2000-dis.c:190 lm32-dis.c:148 m32c-dis.c:892 m32r-dis.c:280 mep-dis.c:1188
-#: mt-dis.c:291 or1k-dis.c:145 xc16x-dis.c:421 xstormy16-dis.c:169
+#: mt-dis.c:291 or1k-dis.c:184 xc16x-dis.c:421 xstormy16-dis.c:169
 #, c-format
 msgid "internal error: unrecognized field %d while printing insn"
 msgstr ""
 
-#: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164
-#: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164
-#: mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164 xc16x-ibld.c:164
-#: xstormy16-ibld.c:164
+#: bpf-ibld.c:164 epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164
+#: ip2k-ibld.c:164 iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164
+#: m32r-ibld.c:164 mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164
+#: xc16x-ibld.c:164 xstormy16-ibld.c:164
 #, c-format
 msgid "operand out of range (%ld not between %ld and %lu)"
 msgstr ""
 
-#: epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185 ip2k-ibld.c:185
-#: iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185 m32r-ibld.c:185
-#: mep-ibld.c:185 mt-ibld.c:185 or1k-ibld.c:185 xc16x-ibld.c:185
-#: xstormy16-ibld.c:185
+#: bpf-ibld.c:185 epiphany-ibld.c:185 fr30-ibld.c:185 frv-ibld.c:185
+#: ip2k-ibld.c:185 iq2000-ibld.c:185 lm32-ibld.c:185 m32c-ibld.c:185
+#: m32r-ibld.c:185 mep-ibld.c:185 mt-ibld.c:185 or1k-ibld.c:185
+#: xc16x-ibld.c:185 xstormy16-ibld.c:185
 #, c-format
 msgid "operand out of range (0x%lx not between 0 and 0x%lx)"
 msgstr ""
 
-#: epiphany-ibld.c:880 fr30-ibld.c:735 frv-ibld.c:861 ip2k-ibld.c:612
-#: iq2000-ibld.c:718 lm32-ibld.c:639 m32c-ibld.c:1736 m32r-ibld.c:670
-#: mep-ibld.c:1213 mt-ibld.c:754 or1k-ibld.c:658 xc16x-ibld.c:757
-#: xstormy16-ibld.c:683
+#: bpf-ibld.c:201 cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201
+#: frv-ibld.c:201 ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201
+#: m32c-ibld.c:201 m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201
+#: xc16x-ibld.c:201 xstormy16-ibld.c:201
+#, c-format
+msgid "operand out of range (%ld not between %ld and %ld)"
+msgstr ""
+
+#: bpf-ibld.c:625 epiphany-ibld.c:880 fr30-ibld.c:735 frv-ibld.c:861
+#: ip2k-ibld.c:612 iq2000-ibld.c:718 lm32-ibld.c:639 m32c-ibld.c:1736
+#: m32r-ibld.c:670 mep-ibld.c:1213 mt-ibld.c:754 or1k-ibld.c:742
+#: xc16x-ibld.c:757 xstormy16-ibld.c:683
 #, c-format
 msgid "internal error: unrecognized field %d while building insn"
 msgstr ""
 
-#: epiphany-ibld.c:1175 fr30-ibld.c:941 frv-ibld.c:1179 ip2k-ibld.c:688
-#: iq2000-ibld.c:894 lm32-ibld.c:744 m32c-ibld.c:2898 m32r-ibld.c:808
-#: mep-ibld.c:1813 mt-ibld.c:975 or1k-ibld.c:772 xc16x-ibld.c:978
-#: xstormy16-ibld.c:830
+#: bpf-ibld.c:709 epiphany-ibld.c:1175 fr30-ibld.c:941 frv-ibld.c:1179
+#: ip2k-ibld.c:688 iq2000-ibld.c:894 lm32-ibld.c:744 m32c-ibld.c:2898
+#: m32r-ibld.c:808 mep-ibld.c:1813 mt-ibld.c:975 or1k-ibld.c:910
+#: xc16x-ibld.c:978 xstormy16-ibld.c:830
 #, c-format
 msgid "internal error: unrecognized field %d while decoding insn"
 msgstr ""
 
-#: epiphany-ibld.c:1319 fr30-ibld.c:1088 frv-ibld.c:1458 ip2k-ibld.c:763
-#: iq2000-ibld.c:1026 lm32-ibld.c:834 m32c-ibld.c:3516 m32r-ibld.c:922
-#: mep-ibld.c:2284 mt-ibld.c:1176 or1k-ibld.c:859 xc16x-ibld.c:1200
-#: xstormy16-ibld.c:941
+#: bpf-ibld.c:778 epiphany-ibld.c:1319 fr30-ibld.c:1088 frv-ibld.c:1458
+#: ip2k-ibld.c:763 iq2000-ibld.c:1026 lm32-ibld.c:834 m32c-ibld.c:3516
+#: m32r-ibld.c:922 mep-ibld.c:2284 mt-ibld.c:1176 or1k-ibld.c:1015
+#: xc16x-ibld.c:1200 xstormy16-ibld.c:941
 #, c-format
 msgid "internal error: unrecognized field %d while getting int operand"
 msgstr ""
 
-#: epiphany-ibld.c:1445 fr30-ibld.c:1217 frv-ibld.c:1719 ip2k-ibld.c:820
-#: iq2000-ibld.c:1140 lm32-ibld.c:906 m32c-ibld.c:4116 m32r-ibld.c:1018
-#: mep-ibld.c:2737 mt-ibld.c:1359 or1k-ibld.c:928 xc16x-ibld.c:1404
-#: xstormy16-ibld.c:1034
+#: bpf-ibld.c:829 epiphany-ibld.c:1445 fr30-ibld.c:1217 frv-ibld.c:1719
+#: ip2k-ibld.c:820 iq2000-ibld.c:1140 lm32-ibld.c:906 m32c-ibld.c:4116
+#: m32r-ibld.c:1018 mep-ibld.c:2737 mt-ibld.c:1359 or1k-ibld.c:1102
+#: xc16x-ibld.c:1404 xstormy16-ibld.c:1034
 #, c-format
 msgid "internal error: unrecognized field %d while getting vma operand"
 msgstr ""
 
-#: epiphany-ibld.c:1578 fr30-ibld.c:1349 frv-ibld.c:1987 ip2k-ibld.c:880
-#: iq2000-ibld.c:1261 lm32-ibld.c:985 m32c-ibld.c:4704 m32r-ibld.c:1120
-#: mep-ibld.c:3151 mt-ibld.c:1549 or1k-ibld.c:1004 xc16x-ibld.c:1609
-#: xstormy16-ibld.c:1134
+#: bpf-ibld.c:887 epiphany-ibld.c:1578 fr30-ibld.c:1349 frv-ibld.c:1987
+#: ip2k-ibld.c:880 iq2000-ibld.c:1261 lm32-ibld.c:985 m32c-ibld.c:4704
+#: m32r-ibld.c:1120 mep-ibld.c:3151 mt-ibld.c:1549 or1k-ibld.c:1196
+#: xc16x-ibld.c:1609 xstormy16-ibld.c:1134
 #, c-format
 msgid "internal error: unrecognized field %d while setting int operand"
 msgstr ""
 
-#: epiphany-ibld.c:1701 fr30-ibld.c:1471 frv-ibld.c:2245 ip2k-ibld.c:930
-#: iq2000-ibld.c:1372 lm32-ibld.c:1054 m32c-ibld.c:5282 m32r-ibld.c:1212
-#: mep-ibld.c:3555 mt-ibld.c:1729 or1k-ibld.c:1070 xc16x-ibld.c:1804
-#: xstormy16-ibld.c:1224
+#: bpf-ibld.c:935 epiphany-ibld.c:1701 fr30-ibld.c:1471 frv-ibld.c:2245
+#: ip2k-ibld.c:930 iq2000-ibld.c:1372 lm32-ibld.c:1054 m32c-ibld.c:5282
+#: m32r-ibld.c:1212 mep-ibld.c:3555 mt-ibld.c:1729 or1k-ibld.c:1280
+#: xc16x-ibld.c:1804 xstormy16-ibld.c:1224
 #, c-format
 msgid "internal error: unrecognized field %d while setting vma operand"
 msgstr ""
 
+#: cgen-asm.c:373
+#, c-format
+msgid "operand out of range (%lu not between %lu and %lu)"
+msgstr ""
+
+#: d30v-dis.c:232
+#, c-format
+msgid "illegal id (%d)"
+msgstr ""
+
+#: d30v-dis.c:259
+#, c-format
+msgid "<unknown register %d>"
+msgstr ""
+
+#. Can't happen.
+#: dis-buf.c:61
+#, c-format
+msgid "Unknown error %d\n"
+msgstr ""
+
+#: dis-buf.c:70
+#, c-format
+msgid "Address 0x%s is out of bounds.\n"
+msgstr ""
+
+#: epiphany-asm.c:68
+msgid "register unavailable for short instructions"
+msgstr ""
+
+#: epiphany-asm.c:115
+msgid "register name used as immediate value"
+msgstr ""
+
+#. Don't treat "mov ip,ip" as a move-immediate.
+#: epiphany-asm.c:178 epiphany-asm.c:234
+msgid "register source in immediate move"
+msgstr ""
+
+#: epiphany-asm.c:187
+msgid "byte relocation unsupported"
+msgstr ""
+
+#. -- assembler routines inserted here.
+#. -- asm.c
+#: epiphany-asm.c:193 frv-asm.c:972 iq2000-asm.c:56 lm32-asm.c:95
+#: lm32-asm.c:127 lm32-asm.c:157 lm32-asm.c:187 lm32-asm.c:217 lm32-asm.c:247
+#: m32c-asm.c:140 m32c-asm.c:235 m32c-asm.c:276 m32c-asm.c:334 m32c-asm.c:355
+#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289
+#: mep-asm.c:301 or1k-asm.c:54
+msgid "missing `)'"
+msgstr ""
+
+#: epiphany-asm.c:270
+msgid "ABORT: unknown operand"
+msgstr ""
+
+#: epiphany-asm.c:296
+msgid "Not a pc-relative address."
+msgstr ""
+
+#: epiphany-desc.c:2109
+#, c-format
+msgid ""
+"internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
+"values: `%d' vs. `%d'"
+msgstr ""
+
+#: epiphany-desc.c:2192
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: unsupported argument `%d'"
+msgstr ""
+
+#: epiphany-desc.c:2211
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: no endianness specified"
+msgstr ""
+
 #: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879
 msgid "Register number is not valid"
 msgstr ""
@@ -956,21 +984,21 @@ msgstr ""
 msgid "internal error, h8_disassemble_init"
 msgstr ""
 
-#: h8300-dis.c:314
+#: h8300-dis.c:315
 #, c-format
 msgid "Hmmmm 0x%x"
 msgstr ""
 
-#: h8300-dis.c:691
+#: h8300-dis.c:692
 #, c-format
 msgid "Don't understand 0x%x \n"
 msgstr ""
 
-#: i386-dis.c:11058
+#: i386-dis.c:11060
 msgid "<internal disassembler error>"
 msgstr ""
 
-#: i386-dis.c:11353
+#: i386-dis.c:11355
 #, c-format
 msgid ""
 "\n"
@@ -979,145 +1007,145 @@ msgid ""
 "with the -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 
-#: i386-dis.c:11357
+#: i386-dis.c:11359
 #, c-format
 msgid "  x86-64      Disassemble in 64bit mode\n"
 msgstr ""
 
-#: i386-dis.c:11358
+#: i386-dis.c:11360
 #, c-format
 msgid "  i386        Disassemble in 32bit mode\n"
 msgstr ""
 
-#: i386-dis.c:11359
+#: i386-dis.c:11361
 #, c-format
 msgid "  i8086       Disassemble in 16bit mode\n"
 msgstr ""
 
-#: i386-dis.c:11360
+#: i386-dis.c:11362
 #, c-format
 msgid "  att         Display instruction in AT&T syntax\n"
 msgstr ""
 
-#: i386-dis.c:11361
+#: i386-dis.c:11363
 #, c-format
 msgid "  intel       Display instruction in Intel syntax\n"
 msgstr ""
 
-#: i386-dis.c:11362
+#: i386-dis.c:11364
 #, c-format
 msgid ""
 "  att-mnemonic\n"
 "              Display instruction in AT&T mnemonic\n"
 msgstr ""
 
-#: i386-dis.c:11364
+#: i386-dis.c:11366
 #, c-format
 msgid ""
 "  intel-mnemonic\n"
 "              Display instruction in Intel mnemonic\n"
 msgstr ""
 
-#: i386-dis.c:11366
+#: i386-dis.c:11368
 #, c-format
 msgid "  addr64      Assume 64bit address size\n"
 msgstr ""
 
-#: i386-dis.c:11367
+#: i386-dis.c:11369
 #, c-format
 msgid "  addr32      Assume 32bit address size\n"
 msgstr ""
 
-#: i386-dis.c:11368
+#: i386-dis.c:11370
 #, c-format
 msgid "  addr16      Assume 16bit address size\n"
 msgstr ""
 
-#: i386-dis.c:11369
+#: i386-dis.c:11371
 #, c-format
 msgid "  data32      Assume 32bit data size\n"
 msgstr ""
 
-#: i386-dis.c:11370
+#: i386-dis.c:11372
 #, c-format
 msgid "  data16      Assume 16bit data size\n"
 msgstr ""
 
-#: i386-dis.c:11371
+#: i386-dis.c:11373
 #, c-format
 msgid "  suffix      Always display instruction suffix in AT&T syntax\n"
 msgstr ""
 
-#: i386-dis.c:11372
+#: i386-dis.c:11374
 #, c-format
 msgid "  amd64       Display instruction in AMD64 ISA\n"
 msgstr ""
 
-#: i386-dis.c:11373
+#: i386-dis.c:11375
 #, c-format
 msgid "  intel64     Display instruction in Intel64 ISA\n"
 msgstr ""
 
-#: i386-dis.c:11936
+#: i386-dis.c:11938
 msgid "64-bit address is disabled"
 msgstr ""
 
-#: i386-gen.c:732
+#: i386-gen.c:754
 #, c-format
 msgid "%s: error: "
 msgstr ""
 
-#: i386-gen.c:911
+#: i386-gen.c:917
 #, c-format
 msgid "%s: %d: unknown bitfield: %s\n"
 msgstr ""
 
-#: i386-gen.c:913
+#: i386-gen.c:919
 #, c-format
 msgid "unknown bitfield: %s\n"
 msgstr ""
 
-#: i386-gen.c:976
+#: i386-gen.c:982
 #, c-format
 msgid "%s: %d: missing `)' in bitfield: %s\n"
 msgstr ""
 
-#: i386-gen.c:1077
+#: i386-gen.c:1083
 #, c-format
 msgid "unknown broadcast operand: %s\n"
 msgstr ""
 
-#: i386-gen.c:1478
+#: i386-gen.c:1538
 #, c-format
 msgid "can't find i386-reg.tbl for reading, errno = %s\n"
 msgstr ""
 
-#: i386-gen.c:1556
+#: i386-gen.c:1616
 #, c-format
 msgid "can't create i386-init.h, errno = %s\n"
 msgstr ""
 
-#: i386-gen.c:1646 ia64-gen.c:2829
+#: i386-gen.c:1706 ia64-gen.c:2829
 #, c-format
 msgid "unable to change directory to \"%s\", errno = %s\n"
 msgstr ""
 
-#: i386-gen.c:1658 i386-gen.c:1661
+#: i386-gen.c:1720 i386-gen.c:1725
 #, c-format
 msgid "CpuMax != %d!\n"
 msgstr ""
 
-#: i386-gen.c:1665
+#: i386-gen.c:1729
 #, c-format
 msgid "%d unused bits in i386_cpu_flags.\n"
 msgstr ""
 
-#: i386-gen.c:1672
+#: i386-gen.c:1744
 #, c-format
 msgid "%d unused bits in i386_operand_type.\n"
 msgstr ""
 
-#: i386-gen.c:1686
+#: i386-gen.c:1758
 #, c-format
 msgid "can't create i386-tbl.h, errno = %s\n"
 msgstr ""
@@ -1477,12 +1505,12 @@ msgstr ""
 msgid "internal error: m32r_cgen_cpu_open: no endianness specified"
 msgstr ""
 
-#: m68k-dis.c:1292
+#: m68k-dis.c:1294
 #, c-format
 msgid "<function code %d>"
 msgstr ""
 
-#: m68k-dis.c:1455
+#: m68k-dis.c:1457
 #, c-format
 msgid "<internal error in opcode table: %s %s>\n"
 msgstr ""
@@ -1537,86 +1565,86 @@ msgstr ""
 msgid "internal error: mep_cgen_cpu_open: no endianness specified"
 msgstr ""
 
-#: mips-dis.c:1800 mips-dis.c:2026
+#: mips-dis.c:1805 mips-dis.c:2031
 #, c-format
 msgid "# internal error, undefined operand in `%s %s'"
 msgstr ""
 
-#: mips-dis.c:2615
+#: mips-dis.c:2620
 msgid "Use canonical instruction forms.\n"
 msgstr ""
 
-#: mips-dis.c:2617
+#: mips-dis.c:2622
 msgid "Recognize MSA instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2619
+#: mips-dis.c:2624
 msgid "Recognize the virtualization ASE instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2621
+#: mips-dis.c:2626
 msgid ""
 "Recognize the eXtended Physical Address (XPA) ASE\n"
 "                  instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2624
+#: mips-dis.c:2629
 msgid "Recognize the Global INValidate (GINV) ASE instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2628
+#: mips-dis.c:2633
 msgid ""
 "Recognize the Loongson MultiMedia extensions Instructions (MMI) ASE "
 "instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2632
+#: mips-dis.c:2637
 msgid "Recognize the Loongson Content Address Memory (CAM)  instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2636
+#: mips-dis.c:2641
 msgid "Recognize the Loongson EXTensions (EXT)  instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2640
+#: mips-dis.c:2645
 msgid "Recognize the Loongson EXTensions R2 (EXT2)  instructions.\n"
 msgstr ""
 
-#: mips-dis.c:2643
+#: mips-dis.c:2648
 msgid ""
 "Print GPR names according to specified ABI.\n"
 "                  Default: based on binary being disassembled.\n"
 msgstr ""
 
-#: mips-dis.c:2646
+#: mips-dis.c:2651
 msgid ""
 "Print FPR names according to specified ABI.\n"
 "                  Default: numeric.\n"
 msgstr ""
 
-#: mips-dis.c:2649
+#: mips-dis.c:2654
 msgid ""
 "Print CP0 register names according to specified architecture.\n"
 "                  Default: based on binary being disassembled.\n"
 msgstr ""
 
-#: mips-dis.c:2653
+#: mips-dis.c:2658
 msgid ""
 "Print HWR names according to specified architecture.\n"
 "                  Default: based on binary being disassembled.\n"
 msgstr ""
 
-#: mips-dis.c:2656
+#: mips-dis.c:2661
 msgid "Print GPR and FPR names according to specified ABI.\n"
 msgstr ""
 
-#: mips-dis.c:2658
+#: mips-dis.c:2663
 msgid ""
 "Print CP0 register and HWR names according to specified\n"
 "                  architecture."
 msgstr ""
 
-#: mips-dis.c:2744
+#: mips-dis.c:2749
 #, c-format
 msgid ""
 "\n"
@@ -1625,7 +1653,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: mips-dis.c:2778
+#: mips-dis.c:2783
 #, c-format
 msgid ""
 "\n"
@@ -1647,7 +1675,11 @@ msgstr ""
 msgid "(unknown)"
 msgstr ""
 
-#: mmix-dis.c:510
+#: mmix-dis.c:247 mmix-dis.c:255
+msgid "*illegal*"
+msgstr ""
+
+#: mmix-dis.c:529
 #, c-format
 msgid "*unknown operands type: %d*"
 msgstr ""
@@ -1805,7 +1837,7 @@ msgstr ""
 #. an immediate either. We don't know how much to increase
 #. aoffsetp by since whatever generated this is broken
 #. anyway!
-#: ns32k-dis.c:533
+#: ns32k-dis.c:537
 #, c-format
 msgid "$<undefined>"
 msgstr ""
@@ -1818,29 +1850,29 @@ msgstr ""
 msgid "internal relocation type invalid"
 msgstr ""
 
-#: or1k-desc.c:1978
+#: or1k-desc.c:2213
 #, c-format
 msgid ""
 "internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
 "values: `%d' vs. `%d'"
 msgstr ""
 
-#: or1k-desc.c:2061
+#: or1k-desc.c:2296
 #, c-format
 msgid "internal error: or1k_cgen_cpu_open: unsupported argument `%d'"
 msgstr ""
 
-#: or1k-desc.c:2080
+#: or1k-desc.c:2315
 #, c-format
 msgid "internal error: or1k_cgen_cpu_open: no endianness specified"
 msgstr ""
 
-#: ppc-dis.c:370
+#: ppc-dis.c:376
 #, c-format
 msgid "warning: ignoring unknown -M%s option"
 msgstr ""
 
-#: ppc-dis.c:858
+#: ppc-dis.c:957
 #, c-format
 msgid ""
 "\n"
@@ -1852,95 +1884,107 @@ msgstr ""
 msgid "invalid register"
 msgstr ""
 
-#: ppc-opc.c:384 ppc-opc.c:412
+#: ppc-opc.c:396
 msgid "invalid conditional option"
 msgstr ""
 
-#: ppc-opc.c:386 ppc-opc.c:414
+#: ppc-opc.c:399
 msgid "invalid counter access"
 msgstr ""
 
-#: ppc-opc.c:416
+#: ppc-opc.c:463
+msgid "BO value implies no branch hint, when using + or - modifier"
+msgstr ""
+
+#: ppc-opc.c:468
 msgid "attempt to set y bit when using + or - modifier"
 msgstr ""
 
-#: ppc-opc.c:507
+#: ppc-opc.c:470
+msgid "attempt to set 'at' bits when using + or - modifier"
+msgstr ""
+
+#: ppc-opc.c:658
+msgid "invalid R operand"
+msgstr ""
+
+#: ppc-opc.c:713
 msgid "invalid mask field"
 msgstr ""
 
-#: ppc-opc.c:530
+#: ppc-opc.c:736
 msgid "invalid mfcr mask"
 msgstr ""
 
-#: ppc-opc.c:606
+#: ppc-opc.c:812
 msgid "illegal L operand value"
 msgstr ""
 
-#: ppc-opc.c:645
+#: ppc-opc.c:851
 msgid "incompatible L operand value"
 msgstr ""
 
-#: ppc-opc.c:684 ppc-opc.c:719
+#: ppc-opc.c:891 ppc-opc.c:926
 msgid "illegal bitmask"
 msgstr ""
 
-#: ppc-opc.c:806
+#: ppc-opc.c:1013
 msgid "address register in load range"
 msgstr ""
 
-#: ppc-opc.c:872
+#: ppc-opc.c:1079
 msgid "index register in load range"
 msgstr ""
 
-#: ppc-opc.c:901 ppc-opc.c:986
+#: ppc-opc.c:1108 ppc-opc.c:1194
 msgid "source and target register operands must be different"
 msgstr ""
 
-#: ppc-opc.c:931
+#: ppc-opc.c:1139
 msgid "invalid register operand when updating"
 msgstr ""
 
-#: ppc-opc.c:1049
+#: ppc-opc.c:1257
 msgid "illegal immediate value"
 msgstr ""
 
-#: ppc-opc.c:1154
+#: ppc-opc.c:1362
 msgid "invalid bat number"
 msgstr ""
 
-#: ppc-opc.c:1189
+#: ppc-opc.c:1397
 msgid "invalid sprg number"
 msgstr ""
 
-#: ppc-opc.c:1226
+#: ppc-opc.c:1434
 msgid "invalid tbr number"
 msgstr ""
 
-#: ppc-opc.c:1372
+#: ppc-opc.c:1581
 msgid "invalid constant"
 msgstr ""
 
-#: ppc-opc.c:1474 ppc-opc.c:1497 ppc-opc.c:1520 ppc-opc.c:1543
+#: ppc-opc.c:1683 ppc-opc.c:1706 ppc-opc.c:1729 ppc-opc.c:1752
 msgid "UIMM = 00000 is illegal"
 msgstr ""
 
-#: ppc-opc.c:1566
+#: ppc-opc.c:1775
 msgid "UIMM values >7 are illegal"
 msgstr ""
 
-#: ppc-opc.c:1589
+#: ppc-opc.c:1798
 msgid "UIMM values >15 are illegal"
 msgstr ""
 
-#: ppc-opc.c:1612
+#: ppc-opc.c:1821
 msgid "GPR odd is illegal"
 msgstr ""
 
-#: ppc-opc.c:1635 ppc-opc.c:1658
+#: ppc-opc.c:1844 ppc-opc.c:1867
 msgid "invalid offset"
 msgstr ""
 
-#: ppc-opc.c:1681
+#: ppc-opc.c:1890
 msgid "invalid Ddd value"
 msgstr ""
 
@@ -1954,7 +1998,7 @@ msgstr ""
 msgid "# internal error, undefined modifier (%c)"
 msgstr ""
 
-#: riscv-dis.c:541
+#: riscv-dis.c:545
 #, c-format
 msgid ""
 "\n"
@@ -1962,14 +2006,14 @@ msgid ""
 "with the -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 
-#: riscv-dis.c:545
+#: riscv-dis.c:549
 #, c-format
 msgid ""
 "\n"
 "  numeric       Print numeric register names, rather than ABI names.\n"
 msgstr ""
 
-#: riscv-dis.c:548
+#: riscv-dis.c:552
 #, c-format
 msgid ""
 "\n"
@@ -1977,6 +2021,38 @@ msgid ""
 "                than into pseudoinstructions.\n"
 msgstr ""
 
+#: rx-dis.c:139 rx-dis.c:163 rx-dis.c:171 rx-dis.c:179 rx-dis.c:187
+msgid "<invalid register number>"
+msgstr ""
+
+#: rx-dis.c:147 rx-dis.c:195
+msgid "<invalid condition code>"
+msgstr ""
+
+#: rx-dis.c:155
+msgid "<invalid flag>"
+msgstr ""
+
+#: rx-dis.c:203
+msgid "<invalid opsize>"
+msgstr ""
+
+#: rx-dis.c:211
+msgid "<invalid size>"
+msgstr ""
+
+#: s12z-dis.c:258 s12z-dis.c:315 s12z-dis.c:326
+msgid "<illegal reg num>"
+msgstr ""
+
+#: s12z-dis.c:389
+msgid "<bad>"
+msgstr ""
+
+#: s12z-dis.c:400
+msgid ".<bad>"
+msgstr ""
+
 #: s390-dis.c:42
 msgid "Disassemble in ESA architecture mode"
 msgstr ""
@@ -2002,8 +2078,8 @@ msgid ""
 "with the -M switch (multiple options should be separated by commas):\n"
 msgstr ""
 
-#: score-dis.c:663 score-dis.c:870 score-dis.c:1031 score-dis.c:1145
-#: score-dis.c:1152 score-dis.c:1159 score7-dis.c:695 score7-dis.c:858
+#: score-dis.c:660 score-dis.c:867 score-dis.c:1026 score-dis.c:1140
+#: score-dis.c:1147 score-dis.c:1154 score7-dis.c:695 score7-dis.c:858
 msgid "<illegal instruction>"
 msgstr ""
 
@@ -2018,16 +2094,44 @@ msgid "internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
 msgstr ""
 
 #. Mark as non-valid instruction.
-#: sparc-dis.c:1098
+#: sparc-dis.c:1095
 msgid "unknown"
 msgstr ""
 
-#: v850-dis.c:453
+#: v850-dis.c:190
+msgid "<invalid s-reg number>"
+msgstr ""
+
+#: v850-dis.c:206
+msgid "<invalid reg number>"
+msgstr ""
+
+#: v850-dis.c:222
+msgid "<invalid v-reg number>"
+msgstr ""
+
+#: v850-dis.c:236
+msgid "<invalid CC-reg number>"
+msgstr ""
+
+#: v850-dis.c:250
+msgid "<invalid float-CC-reg number>"
+msgstr ""
+
+#: v850-dis.c:264
+msgid "<invalid cacheop number>"
+msgstr ""
+
+#: v850-dis.c:275
+msgid "<invalid prefop number>"
+msgstr ""
+
+#: v850-dis.c:510
 #, c-format
 msgid "unknown operand shift: %x"
 msgstr ""
 
-#: v850-dis.c:469
+#: v850-dis.c:526
 #, c-format
 msgid "unknown reg: %d"
 msgstr ""
@@ -2109,7 +2213,7 @@ msgstr ""
 msgid "Name well-known globals"
 msgstr ""
 
-#: wasm32-dis.c:503
+#: wasm32-dis.c:510
 #, c-format
 msgid ""
 "The following WebAssembly-specific disassembler options are supported for "
index a0e1025c89ef4d53e293655db8e03cc321a0e06c..99be7f8abcfdcbcaffba2021f6bc24a29f872efe 100644 (file)
@@ -1,4 +1,4 @@
-/* Print Z80 and R800 instructions
+/* Print Z80, Z180, EZ80 and R800 instructions
    Copyright (C) 2005-2020 Free Software Foundation, Inc.
    Contributed by Arnold Metselaar <arnold_m@operamail.com>
 
@@ -28,38 +28,61 @@ struct buffer
   bfd_vma base;
   int n_fetch;
   int n_used;
-  signed char data[4];
+  signed char data[6];
+  long inss; /* instruction set bit mask, taken from bfd_mach */
+  int nn_len; /* address length: 2 - Z80 mode, 3 - ADL mode*/
 } ;
 
-typedef int (*func)(struct buffer *, disassemble_info *, char *);
+typedef int (*func)(struct buffer *, disassemble_info *, const char *);
 
 struct tab_elt
 {
   unsigned char val;
   unsigned char mask;
   func          fp;
-  char *        text;
+  const char *  text;
+  unsigned      inss; /* bit mask of supported bfd_mach_* or 0 for all mach */
 } ;
 
+#define INSS_ALL 0
+#define INSS_Z80 ((1 << bfd_mach_z80) | (1 << bfd_mach_z80strict) | (1 << bfd_mach_z80full))
+#define INSS_R800 (1 << bfd_mach_r800)
+#define INSS_GBZ80 (1 << bfd_mach_gbz80)
+#define INSS_Z180 (1 << bfd_mach_z180)
+#define INSS_EZ80_Z80 (1 << bfd_mach_ez80_z80)
+#define INSS_EZ80_ADL (1 << bfd_mach_ez80_adl)
+#define INSS_EZ80 (INSS_EZ80_ADL | INSS_EZ80_Z80)
+
 #define TXTSIZ 24
 /* Names of 16-bit registers.  */
-static char * rr_str[] = { "bc", "de", "hl", "sp" };
+static const char * rr_str[] = { "bc", "de", "hl", "sp" };
 /* Names of 8-bit registers.  */
-static char * r_str[]  = { "b", "c", "d", "e", "h", "l", "(hl)", "a" };
+static const char * r_str[]  = { "b", "c", "d", "e", "h", "l", "(hl)", "a" };
 /* Texts for condition codes.  */
-static char * cc_str[] = { "nz", "z", "nc", "c", "po", "pe", "p", "m" };
+static const char * cc_str[] = { "nz", "z", "nc", "c", "po", "pe", "p", "m" };
 /* Instruction names for 8-bit arithmetic, operand "a" is often implicit */
-static char * arit_str[] =
+static const char * arit_str[] =
 {
   "add a,", "adc a,", "sub ", "sbc a,", "and ", "xor ", "or ", "cp "
 } ;
+static const char * arit_str_ez80[] =
+{
+  "add a,", "adc a,", "sub a,", "sbc a,", "and a,", "xor a,", "or a,", "cp a,"
+} ;
+
 \f
+static int
+mach_inst (struct buffer *buf, struct tab_elt *p)
+{
+  return !p->inss || (p->inss & buf->inss);
+}
+
 static int
 fetch_data (struct buffer *buf, disassemble_info * info, int n)
 {
   int r;
 
-  if (buf->n_fetch + n > 4)
+  if (buf->n_fetch + n > (int)sizeof(buf->data))
     abort ();
 
   r = info->read_memory_func (buf->base + buf->n_fetch,
@@ -71,7 +94,7 @@ fetch_data (struct buffer *buf, disassemble_info * info, int n)
 }
 
 static int
-prt (struct buffer *buf, disassemble_info * info, char *txt)
+prt (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   info->fprintf_func (info->stream, "%s", txt);
   buf->n_used = buf->n_fetch;
@@ -79,7 +102,7 @@ prt (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-prt_e (struct buffer *buf, disassemble_info * info, char *txt)
+prt_e (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   char e;
   int target_addr;
@@ -98,7 +121,7 @@ prt_e (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-jr_cc (struct buffer *buf, disassemble_info * info, char *txt)
+jr_cc (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   char mytxt[TXTSIZ];
 
@@ -107,15 +130,19 @@ jr_cc (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-prt_nn (struct buffer *buf, disassemble_info * info, char *txt)
+prt_nn (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   int nn;
   unsigned char *p;
+  int i;
 
   p = (unsigned char*) buf->data + buf->n_fetch;
-  if (fetch_data (buf, info, 2))
+  if (fetch_data (buf, info, buf->nn_len))
     {
-      nn = p[0] + (p[1] << 8);
+      nn = 0;
+      i = buf->nn_len;
+      while (i--)
+        nn = nn * 0x100 + p[i];
       info->fprintf_func (info->stream, txt, nn);
       buf->n_used = buf->n_fetch;
     }
@@ -125,7 +152,7 @@ prt_nn (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-prt_rr_nn (struct buffer *buf, disassemble_info * info, char *txt)
+prt_rr_nn (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   char mytxt[TXTSIZ];
   int rr;
@@ -136,7 +163,7 @@ prt_rr_nn (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-prt_rr (struct buffer *buf, disassemble_info * info, char *txt)
+prt_rr (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   info->fprintf_func (info->stream, "%s%s", txt,
                      rr_str[(buf->data[buf->n_fetch - 1] >> 4) & 3]);
@@ -145,7 +172,7 @@ prt_rr (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-prt_n (struct buffer *buf, disassemble_info * info, char *txt)
+prt_n (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   int n;
   unsigned char *p;
@@ -165,16 +192,27 @@ prt_n (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-ld_r_n (struct buffer *buf, disassemble_info * info, char *txt)
+prt_r_n (struct buffer *buf, disassemble_info * info, const char *txt)
+{
+  char mytxt[TXTSIZ];
+  int r;
+
+  r = (buf->data[buf->n_fetch - 1] >> 3) & 7;
+  snprintf (mytxt, TXTSIZ, txt, r_str[r]);
+  return prt_n (buf, info, mytxt);
+}
+
+static int
+ld_r_n (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   char mytxt[TXTSIZ];
 
-  snprintf (mytxt, TXTSIZ, txt, r_str[(buf->data[0] >> 3) & 7]);
+  snprintf (mytxt, TXTSIZ, txt, r_str[(buf->data[buf->n_fetch - 1] >> 3) & 7]);
   return prt_n (buf, info, mytxt);
 }
 
 static int
-prt_r (struct buffer *buf, disassemble_info * info, char *txt)
+prt_r (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   info->fprintf_func (info->stream, txt,
                      r_str[(buf->data[buf->n_fetch - 1] >> 3) & 7]);
@@ -183,7 +221,7 @@ prt_r (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-ld_r_r (struct buffer *buf, disassemble_info * info, char *txt)
+ld_r_r (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   info->fprintf_func (info->stream, txt,
                      r_str[(buf->data[buf->n_fetch - 1] >> 3) & 7],
@@ -193,17 +231,53 @@ ld_r_r (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-arit_r (struct buffer *buf, disassemble_info * info, char *txt)
+prt_d (struct buffer *buf, disassemble_info * info, const char *txt)
 {
+  int d;
+  signed char *p;
+
+  p = buf->data + buf->n_fetch;
+
+  if (fetch_data (buf, info, 1))
+    {
+      d = p[0];
+      info->fprintf_func (info->stream, txt, d);
+      buf->n_used = buf->n_fetch;
+    }
+  else
+    buf->n_used = -1;
+
+  return buf->n_used;
+}
+
+static int
+prt_rr_d (struct buffer *buf, disassemble_info * info, const char *txt)
+{
+  char mytxt[TXTSIZ];
+  int rr;
+
+  rr = (buf->data[buf->n_fetch - 1] >> 4) & 3;
+  if (rr == 3) /* SP is not supported */
+    return 0;
+
+  snprintf (mytxt, TXTSIZ, txt, rr_str[rr]);
+  return prt_d (buf, info, mytxt);
+}
+
+static int
+arit_r (struct buffer *buf, disassemble_info * info, const char *txt)
+{
+  const char * const *arit;
+  arit = (buf->inss & INSS_EZ80) ? arit_str_ez80 : arit_str;
   info->fprintf_func (info->stream, txt,
-                     arit_str[(buf->data[buf->n_fetch - 1] >> 3) & 7],
-                     r_str[buf->data[buf->n_fetch - 1] & 7]);
+                      arit[(buf->data[buf->n_fetch - 1] >> 3) & 7],
+                      r_str[buf->data[buf->n_fetch - 1] & 7]);
   buf->n_used = buf->n_fetch;
   return buf->n_used;
 }
 
 static int
-prt_cc (struct buffer *buf, disassemble_info * info, char *txt)
+prt_cc (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   info->fprintf_func (info->stream, "%s%s", txt,
                      cc_str[(buf->data[0] >> 3) & 7]);
@@ -212,7 +286,7 @@ prt_cc (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-pop_rr (struct buffer *buf, disassemble_info * info, char *txt)
+pop_rr (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   static char *rr_stack[] = { "bc","de","hl","af"};
 
@@ -224,7 +298,7 @@ pop_rr (struct buffer *buf, disassemble_info * info, char *txt)
 
 
 static int
-jp_cc_nn (struct buffer *buf, disassemble_info * info, char *txt)
+jp_cc_nn (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   char mytxt[TXTSIZ];
 
@@ -234,16 +308,18 @@ jp_cc_nn (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-arit_n (struct buffer *buf, disassemble_info * info, char *txt)
+arit_n (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   char mytxt[TXTSIZ];
+  const char * const *arit;
 
-  snprintf (mytxt,TXTSIZ, txt, arit_str[(buf->data[0] >> 3) & 7]);
+  arit = (buf->inss & INSS_EZ80) ? arit_str_ez80 : arit_str;
+  snprintf (mytxt,TXTSIZ, txt, arit[(buf->data[0] >> 3) & 7]);
   return prt_n (buf, info, mytxt);
 }
 
 static int
-rst (struct buffer *buf, disassemble_info * info, char *txt)
+rst (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   info->fprintf_func (info->stream, txt, buf->data[0] & 0x38);
   buf->n_used = buf->n_fetch;
@@ -252,7 +328,7 @@ rst (struct buffer *buf, disassemble_info * info, char *txt)
 
 \f
 static int
-cis (struct buffer *buf, disassemble_info * info, char *txt ATTRIBUTE_UNUSED)
+cis (struct buffer *buf, disassemble_info * info, const char *txt ATTRIBUTE_UNUSED)
 {
   static char * opar[] = { "ld", "cp", "in", "out" };
   char * op;
@@ -269,7 +345,42 @@ cis (struct buffer *buf, disassemble_info * info, char *txt ATTRIBUTE_UNUSED)
 }
 
 static int
-dump (struct buffer *buf, disassemble_info * info, char *txt)
+cism (struct buffer *buf, disassemble_info * info, const char *txt ATTRIBUTE_UNUSED)
+{
+  static char * opar[] = { "in%cm%s", "ot%cm%s" };
+  char * op;
+  char c;
+
+  c = buf->data[1];
+  op = opar[c & 1];
+  info->fprintf_func (info->stream,
+                      op,
+                      (c & 0x08) ? 'd' : 'i',
+                      (c & 0x10) ? "r" : "");
+  buf->n_used = 2;
+  return buf->n_used;
+}
+
+static int
+cis2 (struct buffer *buf, disassemble_info * info, const char *txt ATTRIBUTE_UNUSED)
+{
+  static char * opar[] = { "in", "out" };
+  char * op;
+  char c;
+
+  c = buf->data[1];
+  op = ((0x14 & c) == 0x14) ? "ot" : (opar[c & 1]);
+  info->fprintf_func (info->stream,
+                      "%s%c2%s",
+                      op,
+                      (c & 0x08) ? 'd' : 'i',
+                      (c & 0x10) ? "r" : "");
+  buf->n_used = 2;
+  return buf->n_used;
+}
+
+static int
+dump (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   int i;
 
@@ -284,45 +395,85 @@ dump (struct buffer *buf, disassemble_info * info, char *txt)
 /* Table to disassemble machine codes with prefix 0xED.  */
 struct tab_elt opc_ed[] =
 {
-  { 0x70, 0xFF, prt, "in f,(c)" },
-  { 0x70, 0xFF, dump, "xx" },
-  { 0x40, 0xC7, prt_r, "in %s,(c)" },
-  { 0x71, 0xFF, prt, "out (c),0" },
-  { 0x70, 0xFF, dump, "xx" },
-  { 0x41, 0xC7, prt_r, "out (c),%s" },
-  { 0x42, 0xCF, prt_rr, "sbc hl," },
-  { 0x43, 0xCF, prt_rr_nn, "ld (0x%%04x),%s" },
-  { 0x44, 0xFF, prt, "neg" },
-  { 0x45, 0xFF, prt, "retn" },
-  { 0x46, 0xFF, prt, "im 0" },
-  { 0x47, 0xFF, prt, "ld i,a" },
-  { 0x4A, 0xCF, prt_rr, "adc hl," },
-  { 0x4B, 0xCF, prt_rr_nn, "ld %s,(0x%%04x)" },
-  { 0x4D, 0xFF, prt, "reti" },
-  { 0x4F, 0xFF, prt, "ld r,a" },
-  { 0x56, 0xFF, prt, "im 1" },
-  { 0x57, 0xFF, prt, "ld a,i" },
-  { 0x5E, 0xFF, prt, "im 2" },
-  { 0x5F, 0xFF, prt, "ld a,r" },
-  { 0x67, 0xFF, prt, "rrd" },
-  { 0x6F, 0xFF, prt, "rld" },
-  { 0xA0, 0xE4, cis, "" },
-  { 0xC3, 0xFF, prt, "muluw hl,bc" },
-  { 0xC5, 0xE7, prt_r, "mulub a,%s" },
-  { 0xF3, 0xFF, prt, "muluw hl,sp" },
-  { 0x00, 0x00, dump, "xx" }
+  { 0x30, 0xFE, dump, "xx", INSS_ALL },
+  { 0x00, 0xC7, prt_r_n, "in0 %s,(0x%%02x)", INSS_Z180|INSS_EZ80 },
+  { 0x01, 0xC7, prt_r_n, "out0 (0x%%02x),%s", INSS_Z180|INSS_EZ80 },
+  { 0x32, 0xFF, prt_d, "lea ix,ix%+d", INSS_EZ80 },
+  { 0x33, 0xFF, prt_d, "lea iy,iy%+d", INSS_EZ80 },
+  { 0x02, 0xCF, prt_rr_d, "lea %s,ix%%+d", INSS_EZ80 },
+  { 0x03, 0xCF, prt_rr_d, "lea %s,iy%%+d", INSS_EZ80 },
+  { 0x04, 0xC7, prt_r, "tst %s", INSS_Z180},
+  { 0x04, 0xC7, prt_r, "tst a,%s", INSS_EZ80 },
+  { 0x07, 0xFF, prt, "ld bc,(hl)", INSS_EZ80 },
+  { 0x0F, 0xCF, prt_rr, "ld (hl),", INSS_EZ80 },
+  { 0x17, 0xFF, prt, "ld de,(hl)", INSS_EZ80 },
+  { 0x27, 0xFF, prt, "ld hl,(hl)", INSS_EZ80 },
+  { 0x36, 0xFF, prt, "ld iy,(hl)", INSS_EZ80 },
+  { 0x37, 0xFF, prt, "ld ix,(hl)", INSS_EZ80 },
+  { 0x3E, 0xFF, prt, "ld (hl),iy", INSS_EZ80 },
+  { 0x3F, 0xFF, prt, "ld (hl),ix", INSS_EZ80 },
+  { 0x70, 0xFF, prt, "in f,(c)", INSS_Z80 | INSS_R800 },
+  { 0x70, 0xFF, dump, "xx", INSS_ALL },
+  { 0x40, 0xC7, prt_r, "in %s,(bc)", INSS_EZ80 },
+  { 0x40, 0xC7, prt_r, "in %s,(c)", INSS_ALL },
+  { 0x71, 0xFF, prt, "out (c),0", INSS_Z80 },
+  { 0x70, 0xFF, dump, "xx", INSS_ALL },
+  { 0x41, 0xC7, prt_r, "out (bc),%s", INSS_EZ80 },
+  { 0x41, 0xC7, prt_r, "out (c),%s", INSS_ALL },
+  { 0x42, 0xCF, prt_rr, "sbc hl,", INSS_ALL },
+  { 0x43, 0xCF, prt_rr_nn, "ld (0x%%04x),%s", INSS_ALL },
+  { 0x44, 0xFF, prt, "neg", INSS_ALL },
+  { 0x45, 0xFF, prt, "retn", INSS_ALL },
+  { 0x46, 0xFF, prt, "im 0", INSS_ALL },
+  { 0x47, 0xFF, prt, "ld i,a", INSS_ALL },
+  { 0x4A, 0xCF, prt_rr, "adc hl,", INSS_ALL },
+  { 0x4B, 0xCF, prt_rr_nn, "ld %s,(0x%%04x)", INSS_ALL },
+  { 0x4C, 0xCF, prt_rr, "mlt ", INSS_Z180|INSS_EZ80 },
+  { 0x4D, 0xFF, prt, "reti", INSS_ALL },
+  { 0x4F, 0xFF, prt, "ld r,a", INSS_ALL },
+  { 0x54, 0xFF, prt_d, "lea ix,iy%+d", INSS_EZ80 },
+  { 0x55, 0xFF, prt_d, "lea iy,ix%+d", INSS_EZ80 },
+  { 0x56, 0xFF, prt, "im 1", INSS_ALL },
+  { 0x57, 0xFF, prt, "ld a,i", INSS_ALL },
+  { 0x5E, 0xFF, prt, "im 2", INSS_ALL },
+  { 0x5F, 0xFF, prt, "ld a,r", INSS_ALL },
+  { 0x64, 0xFF, prt_n, "tst 0x%02x", INSS_Z180 },
+  { 0x64, 0xFF, prt_n, "tst a,0x%02x", INSS_EZ80 },
+  { 0x65, 0xFF, prt_d, "pea ix%+d", INSS_EZ80 },
+  { 0x66, 0xFF, prt_d, "pea iy%+d", INSS_EZ80 },
+  { 0x67, 0xFF, prt, "rrd", INSS_ALL },
+  { 0x6F, 0xFF, prt, "rld", INSS_ALL },
+  { 0x74, 0xFF, prt_n, "tstio 0x%02x", INSS_Z180|INSS_EZ80 },
+  { 0x76, 0xFF, prt, "slp", INSS_Z180|INSS_EZ80 },
+  { 0x82, 0xE6, cism, "", INSS_Z180|INSS_EZ80 },
+  { 0x84, 0xC7, cis2, "", INSS_EZ80 },
+  { 0xA0, 0xE4, cis, "", INSS_ALL },
+  { 0x7D, 0xFF, prt, "stmix", INSS_EZ80 },
+  { 0x7E, 0xFF, prt, "rsmix", INSS_EZ80 },
+  { 0x6D, 0xFF, prt, "ld mb,a", INSS_EZ80 },
+  { 0x6E, 0xFF, prt, "ld a,mb", INSS_EZ80 },
+  { 0xC7, 0xFF, prt, "ld i,hl", INSS_EZ80 },
+  { 0xD7, 0xFF, prt, "ld hl,i", INSS_EZ80 },
+  { 0xC2, 0xFF, prt, "inirx", INSS_EZ80 },
+  { 0xC3, 0xFF, prt, "otirx", INSS_EZ80 },
+  { 0xCA, 0xFF, prt, "indrx", INSS_EZ80 },
+  { 0xCB, 0xFF, prt, "otdrx", INSS_EZ80 },
+  { 0xC3, 0xFF, prt, "muluw hl,bc", INSS_R800 },
+  { 0xC5, 0xE7, prt_r, "mulub a,%s", INSS_R800 },
+  { 0xF3, 0xFF, prt, "muluw hl,sp", INSS_R800 },
+  { 0x00, 0x00, dump, "xx", INSS_ALL }
 };
 
 static int
-pref_ed (struct buffer * buf, disassemble_info * info,
-        char* txt ATTRIBUTE_UNUSED)
+pref_ed (struct buffer *buf, disassemble_info *info,
+         const char *txt ATTRIBUTE_UNUSED)
 {
   struct tab_elt *p;
 
   if (fetch_data(buf, info, 1))
     {
-      for (p = opc_ed; p->val != (buf->data[1] & p->mask); ++p)
-       ;
+      for (p = opc_ed; p->val != (buf->data[1] & p->mask) || !mach_inst(buf, p); ++p)
+        ;
       p->fp (buf, info, p->text);
     }
   else
@@ -340,16 +491,25 @@ static char *cb2_str[] =
 };
 
 static int
-pref_cb (struct buffer * buf, disassemble_info * info,
-        char* txt ATTRIBUTE_UNUSED)
+pref_cb (struct buffer *buf, disassemble_info *info,
+         const char *txt ATTRIBUTE_UNUSED)
 {
+  const char *op_txt;
+  int idx;
   if (fetch_data (buf, info, 1))
     {
       buf->n_used = 2;
       if ((buf->data[1] & 0xc0) == 0)
-       info->fprintf_func (info->stream, "%s %s",
-                           cb2_str[(buf->data[1] >> 3) & 7],
-                           r_str[buf->data[1] & 7]);
+        {
+          idx = (buf->data[1] >> 3) & 7;
+          if ((buf->inss & INSS_GBZ80) && (idx == 6))
+            op_txt = "swap";
+          else
+            op_txt = cb2_str[idx];
+          info->fprintf_func (info->stream, "%s %s",
+                              op_txt,
+                              r_str[buf->data[1] & 7]);
+        }
       else
        info->fprintf_func (info->stream, "%s %d,%s",
                            cb1_str[(buf->data[1] >> 6) & 3],
@@ -363,7 +523,7 @@ pref_cb (struct buffer * buf, disassemble_info * info,
 }
 \f
 static int
-addvv (struct buffer * buf, disassemble_info * info, char* txt)
+addvv (struct buffer * buf, disassemble_info * info, const char *txt)
 {
   info->fprintf_func (info->stream, "add %s,%s", txt, txt);
 
@@ -371,7 +531,7 @@ addvv (struct buffer * buf, disassemble_info * info, char* txt)
 }
 
 static int
-ld_v_v (struct buffer * buf, disassemble_info * info, char* txt)
+ld_v_v (struct buffer * buf, disassemble_info * info, const char *txt)
 {
   char mytxt[TXTSIZ];
 
@@ -380,8 +540,9 @@ ld_v_v (struct buffer * buf, disassemble_info * info, char* txt)
 }
 
 static int
-prt_d (struct buffer *buf, disassemble_info * info, char *txt)
+prt_d_n (struct buffer *buf, disassemble_info * info, const char *txt)
 {
+  char mytxt[TXTSIZ];
   int d;
   signed char *p;
 
@@ -390,8 +551,8 @@ prt_d (struct buffer *buf, disassemble_info * info, char *txt)
   if (fetch_data (buf, info, 1))
     {
       d = p[0];
-      info->fprintf_func (info->stream, txt, d);
-      buf->n_used = buf->n_fetch;
+      snprintf (mytxt, TXTSIZ, txt, d);
+      return prt_n (buf, info, mytxt);
     }
   else
     buf->n_used = -1;
@@ -400,61 +561,58 @@ prt_d (struct buffer *buf, disassemble_info * info, char *txt)
 }
 
 static int
-prt_d_n (struct buffer *buf, disassemble_info * info, char *txt)
+arit_d (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   char mytxt[TXTSIZ];
-  int d;
-  signed char *p;
-
-  p = buf->data + buf->n_fetch;
-
-  if (fetch_data (buf, info, 1))
-    {
-      d = p[0];
-      snprintf (mytxt, TXTSIZ, txt, d);
-      return prt_n (buf, info, mytxt);
-    }
-  else
-    buf->n_used = -1;
+  signed char c;
+  const char * const *arit;
 
-  return buf->n_used;
+  arit = (buf->inss & INSS_EZ80) ? arit_str_ez80 : arit_str;
+  c = buf->data[buf->n_fetch - 1];
+  snprintf (mytxt, TXTSIZ, txt, arit[(c >> 3) & 7]);
+  return prt_d (buf, info, mytxt);
 }
 
 static int
-arit_d (struct buffer *buf, disassemble_info * info, char *txt)
+ld_r_d (struct buffer *buf, disassemble_info * info, const char *txt)
 {
   char mytxt[TXTSIZ];
   signed char c;
 
   c = buf->data[buf->n_fetch - 1];
-  snprintf (mytxt, TXTSIZ, txt, arit_str[(c >> 3) & 7]);
+  snprintf (mytxt, TXTSIZ, txt, r_str[(c >> 3) & 7]);
   return prt_d (buf, info, mytxt);
 }
 
 static int
-ld_r_d (struct buffer *buf, disassemble_info * info, char *txt)
+ld_d_r(struct buffer *buf, disassemble_info * info, const char *txt)
 {
   char mytxt[TXTSIZ];
   signed char c;
 
   c = buf->data[buf->n_fetch - 1];
-  snprintf (mytxt, TXTSIZ, txt, r_str[(c >> 3) & 7]);
+  snprintf (mytxt, TXTSIZ, txt, r_str[c & 7]);
   return prt_d (buf, info, mytxt);
 }
 
 static int
-ld_d_r(struct buffer *buf, disassemble_info * info, char *txt)
+ld_ii_ii(struct buffer *buf, disassemble_info * info, const char *txt)
 {
   char mytxt[TXTSIZ];
   signed char c;
+  int p;
+  static const char *ii[2] = { "ix", "iy" };
 
+  p = (buf->data[buf->n_fetch - 2] == '\xdd') ? 0 : 1;
   c = buf->data[buf->n_fetch - 1];
-  snprintf (mytxt, TXTSIZ, txt, r_str[c & 7]);
+  if ((c & 0x07) != 0x07)
+    p = 1 - p; /* 0 -> 1, 1 -> 0 */
+  snprintf (mytxt, TXTSIZ, txt, ii[p]);
   return prt_d (buf, info, mytxt);
 }
 
 static int
-pref_xd_cb (struct buffer * buf, disassemble_info * info, char* txt)
+pref_xd_cb (struct buffer * buf, disassemble_info * info, const char *txt)
 {
   if (fetch_data (buf, info, 2))
     {
@@ -490,49 +648,58 @@ pref_xd_cb (struct buffer * buf, disassemble_info * info, char* txt)
 /* Table to disassemble machine codes with prefix 0xDD or 0xFD.  */
 static struct tab_elt opc_ind[] =
 {
-  { 0x24, 0xF7, prt_r, "inc %s%%s" },
-  { 0x25, 0xF7, prt_r, "dec %s%%s" },
-  { 0x26, 0xF7, ld_r_n, "ld %s%%s,0x%%%%02x" },
-  { 0x21, 0xFF, prt_nn, "ld %s,0x%%04x" },
-  { 0x22, 0xFF, prt_nn, "ld (0x%%04x),%s" },
-  { 0x2A, 0xFF, prt_nn, "ld %s,(0x%%04x)" },
-  { 0x23, 0xFF, prt, "inc %s" },
-  { 0x2B, 0xFF, prt, "dec %s" },
-  { 0x29, 0xFF, addvv, "%s" },
-  { 0x09, 0xCF, prt_rr, "add %s," },
-  { 0x34, 0xFF, prt_d, "inc (%s%%+d)" },
-  { 0x35, 0xFF, prt_d, "dec (%s%%+d)" },
-  { 0x36, 0xFF, prt_d_n, "ld (%s%%+d),0x%%%%02x" },
-
-  { 0x76, 0xFF, dump, "h" },
-  { 0x46, 0xC7, ld_r_d, "ld %%s,(%s%%%%+d)" },
-  { 0x70, 0xF8, ld_d_r, "ld (%s%%%%+d),%%s" },
-  { 0x64, 0xF6, ld_v_v, "%s" },
-  { 0x60, 0xF0, ld_r_r, "ld %s%%s,%%s" },
-  { 0x44, 0xC6, ld_r_r, "ld %%s,%s%%s" },
-
-  { 0x86, 0xC7, arit_d, "%%s(%s%%%%+d)" },
-  { 0x84, 0xC6, arit_r, "%%s%s%%s" },
-
-  { 0xE1, 0xFF, prt, "pop %s" },
-  { 0xE5, 0xFF, prt, "push %s" },
-  { 0xCB, 0xFF, pref_xd_cb, "%s" },
-  { 0xE3, 0xFF, prt, "ex (sp),%s" },
-  { 0xE9, 0xFF, prt, "jp (%s)" },
-  { 0xF9, 0xFF, prt, "ld sp,%s" },
-  { 0x00, 0x00, dump, "?" },
+  { 0x07, 0xFF, prt_d, "ld bc,(%s%%+d)", INSS_EZ80 },
+  { 0x0F, 0xFF, prt_d, "ld (%s%%+d),bc", INSS_EZ80 },
+  { 0x17, 0xFF, prt_d, "ld de,(%s%%+d)", INSS_EZ80 },
+  { 0x1F, 0xFF, prt_d, "ld (%s%%+d),de", INSS_EZ80 },
+  { 0x24, 0xF7, prt_r, "inc %s%%s", INSS_ALL },
+  { 0x25, 0xF7, prt_r, "dec %s%%s", INSS_ALL },
+  { 0x26, 0xF7, ld_r_n, "ld %s%%s,0x%%%%02x", INSS_ALL },
+  { 0x27, 0xFF, prt_d, "ld hl,(%s%%+d)", INSS_EZ80 },
+  { 0x2F, 0xFF, prt_d, "ld (%s%%+d),hl", INSS_EZ80 },
+  { 0x21, 0xFF, prt_nn, "ld %s,0x%%04x", INSS_ALL },
+  { 0x22, 0xFF, prt_nn, "ld (0x%%04x),%s", INSS_ALL },
+  { 0x2A, 0xFF, prt_nn, "ld %s,(0x%%04x)", INSS_ALL },
+  { 0x23, 0xFF, prt, "inc %s", INSS_ALL },
+  { 0x2B, 0xFF, prt, "dec %s", INSS_ALL },
+  { 0x29, 0xFF, addvv, "%s", INSS_ALL },
+  { 0x31, 0xFF, ld_ii_ii, "ld %%s,(%s%%%%+d)", INSS_EZ80 },
+  { 0x37, 0xFF, ld_ii_ii, "ld %%s,(%s%%%%+d)", INSS_EZ80 },
+  { 0x3E, 0xFE, ld_ii_ii, "ld (%s%%%%+d),%%s", INSS_EZ80 },
+  { 0x09, 0xCF, prt_rr, "add %s,", INSS_ALL },
+  { 0x34, 0xFF, prt_d, "inc (%s%%+d)", INSS_ALL },
+  { 0x35, 0xFF, prt_d, "dec (%s%%+d)", INSS_ALL },
+  { 0x36, 0xFF, prt_d_n, "ld (%s%%+d),0x%%%%02x", INSS_ALL },
+
+  { 0x76, 0xFF, dump, "h", INSS_ALL },
+  { 0x46, 0xC7, ld_r_d, "ld %%s,(%s%%%%+d)", INSS_ALL },
+  { 0x70, 0xF8, ld_d_r, "ld (%s%%%%+d),%%s", INSS_ALL },
+  { 0x64, 0xF6, ld_v_v, "%s", INSS_ALL },
+  { 0x60, 0xF0, ld_r_r, "ld %s%%s,%%s", INSS_ALL },
+  { 0x44, 0xC6, ld_r_r, "ld %%s,%s%%s", INSS_ALL },
+
+  { 0x86, 0xC7, arit_d, "%%s(%s%%%%+d)", INSS_ALL },
+  { 0x84, 0xC6, arit_r, "%%s%s%%s", INSS_ALL },
+
+  { 0xE1, 0xFF, prt, "pop %s", INSS_ALL },
+  { 0xE5, 0xFF, prt, "push %s", INSS_ALL },
+  { 0xCB, 0xFF, pref_xd_cb, "%s", INSS_ALL },
+  { 0xE3, 0xFF, prt, "ex (sp),%s", INSS_ALL },
+  { 0xE9, 0xFF, prt, "jp (%s)", INSS_ALL },
+  { 0xF9, 0xFF, prt, "ld sp,%s", INSS_ALL },
+  { 0x00, 0x00, dump, "?", INSS_ALL },
 } ;
 
 static int
-pref_ind (struct buffer * buf, disassemble_info * info, char* txt)
+pref_ind (struct buffer *buf, disassemble_info *info, const char *txt)
 {
   if (fetch_data (buf, info, 1))
     {
       char mytxt[TXTSIZ];
       struct tab_elt *p;
 
-      for (p = opc_ind; p->val != (buf->data[1] & p->mask); ++p)
-       ;
+      for (p = opc_ind; p->val != (buf->data[1] & p->mask) || !mach_inst (buf, p); ++p)
+        ;
       snprintf (mytxt, TXTSIZ, p->text, txt);
       p->fp (buf, info, mytxt);
     }
@@ -542,85 +709,156 @@ pref_ind (struct buffer * buf, disassemble_info * info, char* txt)
   return buf->n_used;
 }
 
+static int
+print_insn_z80_buf (struct buffer *buf, disassemble_info *info);
+
+static int
+suffix (struct buffer *buf_in, disassemble_info *info, const char *txt)
+{
+  struct buffer buf;
+  char mybuf[TXTSIZ*4];
+  fprintf_ftype old_fprintf;
+  void *old_stream;
+  char *p;
+
+  buf_in->n_used++;
+  buf = *buf_in;
+  buf.n_fetch = 0;
+  buf.n_used = 0;
+  buf.base++;
+  switch (txt[2])
+    {
+    case 'l': /* SIL or LIL */
+      buf.nn_len = 3;
+      break;
+    case 's': /* SIS or LIS */
+      buf.nn_len = 2;
+      break;
+    default:
+      /* unknown suffix */
+      return -1;
+    }
+  old_fprintf = info->fprintf_func;
+  old_stream = info->stream;
+  info->fprintf_func = (fprintf_ftype)&sprintf;
+  info->stream = mybuf;
+  print_insn_z80_buf(&buf, info);
+  info->fprintf_func = old_fprintf;
+  info->stream = old_stream;
+
+  for (p = &mybuf[0]; *p && *p != ' ' && *p != '.'; ++p)
+    ;
+
+  if (*p == '.') /* suffix already present */
+    {
+      info->fprintf_func(info->stream, "nop ;%s", txt); /* double prefix */
+      return buf_in->n_used;
+    }
+
+  *p++ = '\0';
+  info->fprintf_func(info->stream, *p ? "%s.%s %s" : "%s.%s", mybuf, txt, p);
+
+  memcpy(&buf_in->data[1], buf.data, sizeof(buf.data)-1);
+  buf_in->n_used += buf.n_used;
+  buf_in->n_fetch += buf.n_fetch;
+  return buf_in->n_used;
+}
+
 /* Table to disassemble machine codes without prefix.  */
 static struct tab_elt opc_main[] =
 {
-  { 0x00, 0xFF, prt, "nop" },
-  { 0x01, 0xCF, prt_rr_nn, "ld %s,0x%%04x" },
-  { 0x02, 0xFF, prt, "ld (bc),a" },
-  { 0x03, 0xCF, prt_rr, "inc " },
-  { 0x04, 0xC7, prt_r, "inc %s" },
-  { 0x05, 0xC7, prt_r, "dec %s" },
-  { 0x06, 0xC7, ld_r_n, "ld %s,0x%%02x" },
-  { 0x07, 0xFF, prt, "rlca" },
-  { 0x08, 0xFF, prt, "ex af,af'" },
-  { 0x09, 0xCF, prt_rr, "add hl," },
-  { 0x0A, 0xFF, prt, "ld a,(bc)" },
-  { 0x0B, 0xCF, prt_rr, "dec " },
-  { 0x0F, 0xFF, prt, "rrca" },
-  { 0x10, 0xFF, prt_e, "djnz " },
-  { 0x12, 0xFF, prt, "ld (de),a" },
-  { 0x17, 0xFF, prt, "rla" },
-  { 0x18, 0xFF, prt_e, "jr "},
-  { 0x1A, 0xFF, prt, "ld a,(de)" },
-  { 0x1F, 0xFF, prt, "rra" },
-  { 0x20, 0xE7, jr_cc, "jr %s,"},
-  { 0x22, 0xFF, prt_nn, "ld (0x%04x),hl" },
-  { 0x27, 0xFF, prt, "daa"},
-  { 0x2A, 0xFF, prt_nn, "ld hl,(0x%04x)" },
-  { 0x2F, 0xFF, prt, "cpl" },
-  { 0x32, 0xFF, prt_nn, "ld (0x%04x),a" },
-  { 0x37, 0xFF, prt, "scf" },
-  { 0x3A, 0xFF, prt_nn, "ld a,(0x%04x)" },
-  { 0x3F, 0xFF, prt, "ccf" },
-
-  { 0x76, 0xFF, prt, "halt" },
-  { 0x40, 0xC0, ld_r_r, "ld %s,%s"},
-
-  { 0x80, 0xC0, arit_r, "%s%s" },
-
-  { 0xC0, 0xC7, prt_cc, "ret " },
-  { 0xC1, 0xCF, pop_rr, "pop" },
-  { 0xC2, 0xC7, jp_cc_nn, "jp " },
-  { 0xC3, 0xFF, prt_nn, "jp 0x%04x" },
-  { 0xC4, 0xC7, jp_cc_nn, "call " },
-  { 0xC5, 0xCF, pop_rr, "push" },
-  { 0xC6, 0xC7, arit_n, "%s0x%%02x" },
-  { 0xC7, 0xC7, rst, "rst 0x%02x" },
-  { 0xC9, 0xFF, prt, "ret" },
-  { 0xCB, 0xFF, pref_cb, "" },
-  { 0xCD, 0xFF, prt_nn, "call 0x%04x" },
-  { 0xD3, 0xFF, prt_n, "out (0x%02x),a" },
-  { 0xD9, 0xFF, prt, "exx" },
-  { 0xDB, 0xFF, prt_n, "in a,(0x%02x)" },
-  { 0xDD, 0xFF, pref_ind, "ix" },
-  { 0xE3, 0xFF, prt, "ex (sp),hl" },
-  { 0xE9, 0xFF, prt, "jp (hl)" },
-  { 0xEB, 0xFF, prt, "ex de,hl" },
-  { 0xED, 0xFF, pref_ed, ""},
-  { 0xF3, 0xFF, prt, "di" },
-  { 0xF9, 0xFF, prt, "ld sp,hl" },
-  { 0xFB, 0xFF, prt, "ei" },
-  { 0xFD, 0xFF, pref_ind, "iy" },
-  { 0x00, 0x00, prt, "????" },
+  { 0x00, 0xFF, prt, "nop", INSS_ALL },
+  { 0x01, 0xCF, prt_rr_nn, "ld %s,0x%%04x", INSS_ALL },
+  { 0x02, 0xFF, prt, "ld (bc),a", INSS_ALL },
+  { 0x03, 0xCF, prt_rr, "inc ", INSS_ALL },
+  { 0x04, 0xC7, prt_r, "inc %s", INSS_ALL },
+  { 0x05, 0xC7, prt_r, "dec %s", INSS_ALL },
+  { 0x06, 0xC7, ld_r_n, "ld %s,0x%%02x", INSS_ALL },
+  { 0x07, 0xFF, prt, "rlca", INSS_ALL },
+  { 0x08, 0xFF, prt, "ex af,af'", ~INSS_GBZ80 },
+  { 0x09, 0xCF, prt_rr, "add hl,", INSS_ALL },
+  { 0x0A, 0xFF, prt, "ld a,(bc)", INSS_ALL },
+  { 0x0B, 0xCF, prt_rr, "dec ", INSS_ALL },
+  { 0x0F, 0xFF, prt, "rrca", INSS_ALL },
+  { 0x10, 0xFF, prt_e, "djnz ", ~INSS_GBZ80 },
+  { 0x12, 0xFF, prt, "ld (de),a", INSS_ALL },
+  { 0x17, 0xFF, prt, "rla", INSS_ALL },
+  { 0x18, 0xFF, prt_e, "jr ", INSS_ALL },
+  { 0x1A, 0xFF, prt, "ld a,(de)", INSS_ALL },
+  { 0x1F, 0xFF, prt, "rra", INSS_ALL },
+  { 0x20, 0xE7, jr_cc, "jr %s,", INSS_ALL },
+  { 0x22, 0xFF, prt_nn, "ld (0x%04x),hl", ~INSS_GBZ80 },
+  { 0x27, 0xFF, prt, "daa", INSS_ALL },
+  { 0x2A, 0xFF, prt_nn, "ld hl,(0x%04x)", ~INSS_GBZ80 },
+  { 0x2F, 0xFF, prt, "cpl", INSS_ALL },
+  { 0x32, 0xFF, prt_nn, "ld (0x%04x),a", INSS_ALL },
+  { 0x37, 0xFF, prt, "scf", INSS_ALL },
+  { 0x3A, 0xFF, prt_nn, "ld a,(0x%04x)", INSS_ALL },
+  { 0x3F, 0xFF, prt, "ccf", INSS_ALL },
+
+  { 0x76, 0xFF, prt, "halt", INSS_ALL },
+
+  { 0x40, 0xFF, suffix, "sis", INSS_EZ80 },
+  { 0x49, 0xFF, suffix, "lis", INSS_EZ80 },
+  { 0x52, 0xFF, suffix, "sil", INSS_EZ80 },
+  { 0x5B, 0xFF, suffix, "lil", INSS_EZ80 },
+
+  { 0x40, 0xC0, ld_r_r, "ld %s,%s", INSS_ALL},
+
+  { 0x80, 0xC0, arit_r, "%s%s", INSS_ALL },
+
+  { 0xC0, 0xC7, prt_cc, "ret ", INSS_ALL },
+  { 0xC1, 0xCF, pop_rr, "pop", INSS_ALL },
+  { 0xC2, 0xC7, jp_cc_nn, "jp ", INSS_ALL },
+  { 0xC3, 0xFF, prt_nn, "jp 0x%04x", INSS_ALL },
+  { 0xC4, 0xC7, jp_cc_nn, "call ", INSS_ALL },
+  { 0xC5, 0xCF, pop_rr, "push", INSS_ALL },
+  { 0xC6, 0xC7, arit_n, "%s0x%%02x", INSS_ALL },
+  { 0xC7, 0xC7, rst, "rst 0x%02x", INSS_ALL },
+  { 0xC9, 0xFF, prt, "ret", INSS_ALL },
+  { 0xCB, 0xFF, pref_cb, "", INSS_ALL },
+  { 0xCD, 0xFF, prt_nn, "call 0x%04x", INSS_ALL },
+  { 0xD3, 0xFF, prt_n, "out (0x%02x),a", ~INSS_GBZ80 },
+  { 0xD9, 0xFF, prt, "exx", ~INSS_GBZ80 },
+  { 0xDB, 0xFF, prt_n, "in a,(0x%02x)", ~INSS_GBZ80 },
+  { 0xDD, 0xFF, pref_ind, "ix", ~INSS_GBZ80 },
+  { 0xE3, 0xFF, prt, "ex (sp),hl", ~INSS_GBZ80 },
+  { 0xE9, 0xFF, prt, "jp (hl)", INSS_ALL },
+  { 0xEB, 0xFF, prt, "ex de,hl", ~INSS_GBZ80 },
+  { 0xED, 0xFF, pref_ed, "", ~INSS_GBZ80 },
+  { 0xF3, 0xFF, prt, "di", INSS_ALL },
+  { 0xF9, 0xFF, prt, "ld sp,hl", ~INSS_GBZ80 },
+  { 0xFB, 0xFF, prt, "ei", INSS_ALL },
+  { 0xFD, 0xFF, pref_ind, "iy", ~INSS_GBZ80 },
+  { 0x00, 0x00, prt, "????", INSS_ALL },
 } ;
 
 int
 print_insn_z80 (bfd_vma addr, disassemble_info * info)
 {
   struct buffer buf;
-  struct tab_elt *p;
 
   buf.base = addr;
   buf.n_fetch = 0;
   buf.n_used = 0;
+  buf.inss = 1 << info->mach;
+  buf.nn_len = info->mach == bfd_mach_ez80_adl ? 3 : 2;
+  info->bytes_per_line = (buf.inss & INSS_EZ80) ? 6 : 4; /* <ss pp oo nn mm MM> OR <pp oo nn mm> */
 
-  if (! fetch_data (& buf, info, 1))
+  return print_insn_z80_buf (&buf, info);
+}
+
+static int
+print_insn_z80_buf (struct buffer *buf, disassemble_info *info)
+{
+  struct tab_elt *p;
+
+  if (! fetch_data (buf, info, 1))
     return -1;
 
-  for (p = opc_main; p->val != (buf.data[0] & p->mask); ++p)
+  for (p = opc_main; p->val != (buf->data[0] & p->mask) || !mach_inst(buf, p); ++p)
     ;
-  p->fp (buf, info, p->text);
+  p->fp (buf, info, p->text);
 
-  return buf.n_used;
+  return buf->n_used;
 }