[binutils-gdb] This patch adds support to objdump for disassembly of NFP (Netronome Flow Processor) ELF files (.nff
Nick Clifton
nickc@sourceware.org
Mon Apr 30 16:05:00 GMT 2018
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=fe944acf8f858cfe6bcfd00670a88847a464717c
commit fe944acf8f858cfe6bcfd00670a88847a464717c
Author: Francois H. Theron <francois.theron@netronome.com>
Date: Mon Apr 30 17:02:59 2018 +0100
This patch adds support to objdump for disassembly of NFP (Netronome Flow Processor) ELF files (.nffw) as well as some basic readelf support.
bfd * Makefile.am: Added NFP files to build.
* archures.c: Added bfd_arch_nfp
* config.bfd: Added NFP support.
* configure.ac: Added NFP support.
* cpu-nfp.c: New, for NFP support.
* elf-bfd.h: Added elf_section_info()
* elf64-nfp.c: New, for NFP support.
* po/SRC-POTFILES.in: Added NFP source files.
* targets.c: Added nfp_elf64_vec
* bfd-in2.h: Regenerate.
* Makefile.in: Regenerate.
* configure: Regenerate.
binutils* readelf.c: Very basic support for EM_NFP and its section types.
* testsuite/binutils-all/nfp: New directory.
* testsuite/binutils-all/nfp/objdump.exp: New file. Run new
tests.
* testsuite/binutils-all/nfp/test2_ctx8.d: New file.
* testsuite/binutils-all/nfp/test2_no-pc_ctx4.d: New file.
* testsuite/binutils-all/nfp/test1.d: New file.
* testsuite/binutils-all/nfp/nfp6000.nffw: New file.
* testsuite/binutils-all/nfp/test2_nfp6000.nffw: New file.
* NEWS: Mention the new support.
include * dis-asm.h: Added print_nfp_disassembler_options prototype.
* elf/common.h: Added EM_NFP, officially assigned. See Google Group
Generic System V Application Binary Interface.
* elf/nfp.h: New, for NFP support.
* opcode/nfp.h: New, for NFP support.
opcodes Makefile.am: Added nfp-dis.c.
configure.ac: Added bfd_nfp_arch.
disassemble.h: Added print_insn_nfp prototype.
disassemble.c: Added ARCH_nfp and call to print_insn_nfp
nfp-dis.c: New, for NFP support.
po/POTFILES.in: Added nfp-dis.c to the list.
Makefile.in: Regenerate.
configure: Regenerate.
Diff:
---
bfd/ChangeLog | 15 +
bfd/Makefile.am | 4 +
bfd/Makefile.in | 6 +
bfd/archures.c | 5 +
bfd/bfd-in2.h | 3 +
bfd/config.bfd | 7 +
bfd/configure | 1 +
bfd/configure.ac | 1 +
bfd/cpu-nfp.c | 62 +
bfd/elf-bfd.h | 1 +
bfd/elf64-nfp.c | 276 ++
bfd/po/SRC-POTFILES.in | 2 +
bfd/po/bfd.pot | 602 ++--
bfd/targets.c | 3 +
binutils/ChangeLog | 13 +
binutils/NEWS | 2 +
binutils/po/binutils.pot | 3429 +++++++++-----------
binutils/readelf.c | 37 +
binutils/testsuite/binutils-all/nfp/objdump.exp | 52 +
binutils/testsuite/binutils-all/nfp/test1.d | 973 ++++++
.../testsuite/binutils-all/nfp/test1_nfp6000.nffw | Bin 0 -> 9880 bytes
binutils/testsuite/binutils-all/nfp/test2_ctx8.d | 16 +
.../testsuite/binutils-all/nfp/test2_nfp6000.nffw | Bin 0 -> 1472 bytes
.../testsuite/binutils-all/nfp/test2_no-pc_ctx4.d | 16 +
include/ChangeLog | 8 +
include/dis-asm.h | 1 +
include/elf/common.h | 1 +
include/elf/nfp.h | 292 ++
include/opcode/nfp.h | 180 +
opcodes/ChangeLog | 11 +
opcodes/Makefile.am | 1 +
opcodes/Makefile.in | 2 +
opcodes/configure | 1 +
opcodes/configure.ac | 1 +
opcodes/disassemble.c | 9 +
opcodes/disassemble.h | 1 +
opcodes/nfp-dis.c | 2990 +++++++++++++++++
opcodes/po/POTFILES.in | 1 +
opcodes/po/opcodes.pot | 735 +++--
39 files changed, 7302 insertions(+), 2458 deletions(-)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 2b7dfb4..11baf5d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,18 @@
+2018-04-30 Francois H. Theron <francois.theron@netronome.com>
+
+ * Makefile.am: Added NFP files to build.
+ * archures.c: Added bfd_arch_nfp
+ * config.bfd: Added NFP support.
+ * configure.ac: Added NFP support.
+ * cpu-nfp.c: New, for NFP support.
+ * elf-bfd.h: Added elf_section_info()
+ * elf64-nfp.c: New, for NFP support.
+ * po/SRC-POTFILES.in: Added NFP source files.
+ * targets.c: Added nfp_elf64_vec
+ * bfd-in2.h: Regenerate.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
2018-04-27 Alan Modra <amodra@gmail.com>
* bfd-in2.h: Regenerate.
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 4f5610d..8500a4f 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -135,6 +135,7 @@ ALL_MACHINES = \
cpu-msp430.lo \
cpu-mt.lo \
cpu-nds32.lo \
+ cpu-nfp.lo \
cpu-nios2.lo \
cpu-ns32k.lo \
cpu-or1k.lo \
@@ -218,6 +219,7 @@ ALL_MACHINES_CFILES = \
cpu-msp430.c \
cpu-mt.c \
cpu-nds32.c \
+ cpu-nfp.c \
cpu-ns32k.c \
cpu-nios2.c \
cpu-or1k.c \
@@ -555,6 +557,7 @@ BFD64_BACKENDS = \
elf64-mips.lo \
elfxx-mips.lo \
elf64-mmix.lo \
+ elf64-nfp.lo \
elf64-ppc.lo \
elf32-riscv.lo \
elf64-riscv.lo \
@@ -590,6 +593,7 @@ BFD64_BACKENDS_CFILES = \
elf64-ia64-vms.c \
elf64-mips.c \
elf64-mmix.c \
+ elf64-nfp.c \
elf64-ppc.c \
elf64-s390.c \
elf64-sparc.c \
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index 3acbdaa..ccd9ce1 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -468,6 +468,7 @@ ALL_MACHINES = \
cpu-msp430.lo \
cpu-mt.lo \
cpu-nds32.lo \
+ cpu-nfp.lo \
cpu-nios2.lo \
cpu-ns32k.lo \
cpu-or1k.lo \
@@ -551,6 +552,7 @@ ALL_MACHINES_CFILES = \
cpu-msp430.c \
cpu-mt.c \
cpu-nds32.c \
+ cpu-nfp.c \
cpu-ns32k.c \
cpu-nios2.c \
cpu-or1k.c \
@@ -890,6 +892,7 @@ BFD64_BACKENDS = \
elf64-mips.lo \
elfxx-mips.lo \
elf64-mmix.lo \
+ elf64-nfp.lo \
elf64-ppc.lo \
elf32-riscv.lo \
elf64-riscv.lo \
@@ -925,6 +928,7 @@ BFD64_BACKENDS_CFILES = \
elf64-ia64-vms.c \
elf64-mips.c \
elf64-mmix.c \
+ elf64-nfp.c \
elf64-ppc.c \
elf64-s390.c \
elf64-sparc.c \
@@ -1259,6 +1263,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-msp430.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-mt.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-nds32.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-nfp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-nios2.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-ns32k.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu-or1k.Plo@am__quote@
@@ -1382,6 +1387,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-ia64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-mips.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-mmix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-nfp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-ppc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-riscv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-s390.Plo@am__quote@
diff --git a/bfd/archures.c b/bfd/archures.c
index 2536949..4c20664 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -511,6 +511,9 @@ DESCRIPTION
.#define bfd_mach_wasm32 1
. bfd_arch_pru, {* PRU. *}
.#define bfd_mach_pru 0
+. bfd_arch_nfp, {* Netronome Flow Processor *}
+.#define bfd_mach_nfp3200 0x3200
+.#define bfd_mach_nfp6000 0x6000
. bfd_arch_last
. };
*/
@@ -601,6 +604,7 @@ extern const bfd_arch_info_type bfd_ft32_arch;
extern const bfd_arch_info_type bfd_msp430_arch;
extern const bfd_arch_info_type bfd_mt_arch;
extern const bfd_arch_info_type bfd_nds32_arch;
+extern const bfd_arch_info_type bfd_nfp_arch;
extern const bfd_arch_info_type bfd_nios2_arch;
extern const bfd_arch_info_type bfd_ns32k_arch;
extern const bfd_arch_info_type bfd_or1k_arch;
@@ -689,6 +693,7 @@ static const bfd_arch_info_type * const bfd_archures_list[] =
&bfd_msp430_arch,
&bfd_mt_arch,
&bfd_nds32_arch,
+ &bfd_nfp_arch,
&bfd_nios2_arch,
&bfd_ns32k_arch,
&bfd_or1k_arch,
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 40d33ea..4822686 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2381,6 +2381,9 @@ enum bfd_architecture
#define bfd_mach_wasm32 1
bfd_arch_pru, /* PRU. */
#define bfd_mach_pru 0
+ bfd_arch_nfp, /* Netronome Flow Processor */
+#define bfd_mach_nfp3200 0x3200
+#define bfd_mach_nfp6000 0x6000
bfd_arch_last
};
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 0b40636..bbd4194 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -182,6 +182,7 @@ m68*) targ_archs=bfd_m68k_arch ;;
microblaze*) targ_archs=bfd_microblaze_arch ;;
mips*) targ_archs=bfd_mips_arch ;;
nds32*) targ_archs=bfd_nds32_arch ;;
+nfp) targ_archs=bfd_nfp_arch ;;
nios2*) targ_archs=bfd_nios2_arch ;;
or1k*|or1knd*) targ_archs=bfd_or1k_arch ;;
pdp11*) targ_archs=bfd_pdp11_arch ;;
@@ -992,6 +993,12 @@ case "${targ}" in
targ_selvecs=nds32_elf32_le_vec
;;
+#ifdef BFD64
+ nfp-*-*)
+ targ_defvec=nfp_elf64_vec
+ ;;
+#endif
+
ns32k-pc532-mach* | ns32k-pc532-ux*)
targ_defvec=ns32k_aout_pc532mach_vec
targ_underscore=yes
diff --git a/bfd/configure b/bfd/configure
index ab9e8ee..5aca725 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -14482,6 +14482,7 @@ do
nds32_elf32_le_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
nds32_elf32_linux_be_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
nds32_elf32_linux_le_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
+ nfp_elf64_vec) tb="$tb elf64-nfp.lo elf64.lo $elf" ;;
nios2_elf32_be_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
nios2_elf32_le_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
ns32k_aout_pc532mach_vec) tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
diff --git a/bfd/configure.ac b/bfd/configure.ac
index ae79461..3cef5f9 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -559,6 +559,7 @@ do
nds32_elf32_le_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
nds32_elf32_linux_be_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
nds32_elf32_linux_le_vec) tb="$tb elf32-nds32.lo elf32.lo $elf" ;;
+ nfp_elf64_vec) tb="$tb elf64-nfp.lo elf64.lo $elf" ;;
nios2_elf32_be_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
nios2_elf32_le_vec) tb="$tb elf32-nios2.lo elf32.lo $elf" ;;
ns32k_aout_pc532mach_vec) tb="$tb pc532-mach.lo aout-ns32k.lo" ;;
diff --git a/bfd/cpu-nfp.c b/bfd/cpu-nfp.c
new file mode 100644
index 0000000..ef97f86
--- /dev/null
+++ b/bfd/cpu-nfp.c
@@ -0,0 +1,62 @@
+/* BFD library support routines for the NFP.
+ Copyright (C) 2017 Free Software Foundation, Inc.
+ Contributed by Francois H. Theron <francois.theron@netronome.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 "libbfd.h"
+
+static const bfd_arch_info_type *
+bfd_nfp_compatible (const bfd_arch_info_type * a,
+ const bfd_arch_info_type * b)
+{
+ if (a->arch != b->arch)
+ return NULL;
+
+ if (a->mach != b->mach)
+ return NULL;
+
+ return a;
+}
+
+#define N(machine, print, default, next) \
+{ \
+ 32, \
+ 64, \
+ 8, \
+ bfd_arch_nfp, \
+ machine, \
+ "nfp", \
+ print, \
+ 3, \
+ default, \
+ bfd_nfp_compatible, \
+ bfd_default_scan, \
+ bfd_arch_default_fill, \
+ next \
+}
+
+static const bfd_arch_info_type arch_info_struct[] =
+{
+ N (bfd_mach_nfp3200, "NFP-32xx", FALSE, NULL)
+};
+
+const bfd_arch_info_type bfd_nfp_arch =
+ N (bfd_mach_nfp6000, "NFP-6xxx", TRUE, &arch_info_struct[0]);
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 9c900b7..7b74690 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -1671,6 +1671,7 @@ struct bfd_elf_section_data
#define elf_linked_to_section(sec) (elf_section_data(sec)->linked_to)
#define elf_section_type(sec) (elf_section_data(sec)->this_hdr.sh_type)
#define elf_section_flags(sec) (elf_section_data(sec)->this_hdr.sh_flags)
+#define elf_section_info(sec) (elf_section_data(sec)->this_hdr.sh_info)
#define elf_group_name(sec) (elf_section_data(sec)->group.name)
#define elf_group_id(sec) (elf_section_data(sec)->group.id)
#define elf_next_in_group(sec) (elf_section_data(sec)->next_in_group)
diff --git a/bfd/elf64-nfp.c b/bfd/elf64-nfp.c
new file mode 100755
index 0000000..3cdda3d
--- /dev/null
+++ b/bfd/elf64-nfp.c
@@ -0,0 +1,276 @@
+/* NFP-specific support for 64-bit ELF
+ Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Contributed by Francois H. Theron <francois.theron@netronome.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 "libbfd.h"
+#include "elf-bfd.h"
+#include "elf/nfp.h"
+#include "bfd_stdint.h"
+
+
+static bfd_reloc_status_type
+elf64_nfp_reloc (bfd * abfd ATTRIBUTE_UNUSED,
+ arelent * reloc_entry,
+ asymbol * symbol,
+ void *data ATTRIBUTE_UNUSED,
+ asection * input_section,
+ bfd * output_bfd,
+ char **error_message ATTRIBUTE_UNUSED);
+
+/* We don't actually apply any relocations in this toolset
+ so we make them all do nothing, but at least display useful
+ names.
+ Most of these are mainly used by the NFP toolchain to resolve things
+ before the final ELF file is created. */
+static reloc_howto_type elf_nfp_howto_table[] =
+{
+ HOWTO (R_NFP_NOTYPE, /* Type. */
+ 0, /* Rightshift. */
+ 3, /* Size. */
+ 0, /* Bitsize. */
+ FALSE, /* PC_relative. */
+ 0, /* Bitpos. */
+ complain_overflow_dont,/* Complain_on_overflow. */
+ elf64_nfp_reloc, /* Special_function. */
+ "R_NFP_NOTYPE", /* Name. */
+ FALSE, /* Partial_inplace. */
+ 0, /* Src_mask. */
+ 0, /* Dst_mask. */
+ FALSE), /* PCrel_offset. */
+ HOWTO (R_NFP_W32LE, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W32LE",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_SRC8_A, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_SRC8_A",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_SRC8_B, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_SRC8_B",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_IMMED8_I, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_IMMED8_I",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_SC, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_SC",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_IMMED_LO16_I_A, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_IMMED_LO16_I_A",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_IMMED_LO16_I_B, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_IMMED_LO16_I_B",
+ TRUE, 0, 0, FALSE),
+ HOWTO (R_NFP_SRC7_B, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_SRC7_B",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_SRC7_A, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_SRC7_A",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_SRC8_I_B, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_SRC8_I_B",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_SRC8_I_A, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_SRC8_I_A",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_IMMED_HI16_I_A, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_IMMED_HI16_I_A",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_IMMED_HI16_I_B, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_IMMED_HI16_I_B",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W64LE, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W64LE",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_SH_INFO, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_SH_INFO",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W32BE, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W32BE",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W64BE, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W64BE",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W32_29_24, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W32_29_24",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W32LE_AND, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W32LE_AND",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W32BE_AND, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W32BE_AND",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W32LE_OR, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W32LE_OR",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W32BE_OR, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W32BE_OR",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W64LE_AND, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W64LE_AND",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W64BE_AND, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W64BE_AND",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W64LE_OR, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W64LE_OR",
+ FALSE, 0, 0, FALSE),
+ HOWTO (R_NFP_W64BE_OR, 0, 3, 0, FALSE, 0,
+ complain_overflow_dont, elf64_nfp_reloc,
+ "R_NFP_W64BE_OR",
+ FALSE, 0, 0, FALSE)
+};
+
+static bfd_boolean
+elf64_nfp_object_p (bfd * abfd)
+{
+ /* If the e_machine value is one of the unofficial ones, we convert
+ it first and set e_flags accordingly for later consistency. */
+ if (elf_elfheader (abfd)->e_machine == E_NFP_MACH_3200)
+ {
+ elf_elfheader (abfd)->e_machine = EM_NFP;
+ elf_elfheader (abfd)->e_flags &= ~EF_NFP_SET_MACH (~0);
+ elf_elfheader (abfd)->e_flags |= EF_NFP_SET_MACH (E_NFP_MACH_3200);
+ }
+ else if (elf_elfheader (abfd)->e_machine == E_NFP_MACH_6000)
+ {
+ elf_elfheader (abfd)->e_machine = EM_NFP;
+ elf_elfheader (abfd)->e_flags &= ~EF_NFP_SET_MACH (~0);
+ elf_elfheader (abfd)->e_flags |= EF_NFP_SET_MACH (E_NFP_MACH_6000);
+ }
+
+ if (elf_elfheader (abfd)->e_machine == EM_NFP)
+ {
+ int e_mach = EF_NFP_MACH (elf_elfheader (abfd)->e_flags);
+
+ switch (e_mach)
+ {
+ case E_NFP_MACH_3200:
+ case E_NFP_MACH_6000:
+ if (!bfd_default_set_arch_mach (abfd, bfd_arch_nfp, e_mach))
+ return FALSE;
+ default:
+ break;
+ }
+ }
+
+ return TRUE;
+}
+
+static bfd_boolean
+elf64_nfp_section_from_shdr (bfd * abfd,
+ Elf_Internal_Shdr * hdr,
+ const char *name, int shindex)
+{
+ switch (hdr->sh_type)
+ {
+ case SHT_NFP_INITREG:
+ case SHT_NFP_MECONFIG:
+ case SHT_NFP_UDEBUG:
+ return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex);
+ default:
+ return FALSE;
+ }
+}
+
+bfd_reloc_status_type
+elf64_nfp_reloc (bfd * abfd ATTRIBUTE_UNUSED,
+ arelent * reloc_entry ATTRIBUTE_UNUSED,
+ asymbol * symbol ATTRIBUTE_UNUSED,
+ void *data ATTRIBUTE_UNUSED,
+ asection * input_section ATTRIBUTE_UNUSED,
+ bfd * output_bfd ATTRIBUTE_UNUSED,
+ char **error_message ATTRIBUTE_UNUSED)
+{
+ return bfd_reloc_ok;
+}
+
+static bfd_boolean
+elf64_nfp_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED,
+ arelent * cache_ptr, Elf_Internal_Rela * dst)
+{
+ unsigned int r_type;
+
+ r_type = ELF64_R_TYPE (dst->r_info);
+ if (r_type >= R_NFP_MAX)
+ {
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+ abfd, r_type);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ cache_ptr->howto = &elf_nfp_howto_table[r_type];
+ return TRUE;
+}
+
+static reloc_howto_type *
+elf64_nfp_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+ bfd_reloc_code_real_type code ATTRIBUTE_UNUSED)
+{
+ return NULL;
+}
+
+static reloc_howto_type *
+elf64_nfp_reloc_name_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+ const char *r_name ATTRIBUTE_UNUSED)
+{
+ return NULL;
+}
+
+#define ELF_ARCH bfd_arch_nfp
+#define ELF_MACHINE_CODE EM_NFP
+#define ELF_MACHINE_ALT1 E_NFP_MACH_6000
+#define ELF_MACHINE_ALT2 E_NFP_MACH_3200
+#define ELF_MAXPAGESIZE 1
+#define TARGET_LITTLE_NAME "elf64-nfp"
+#define TARGET_LITTLE_SYM nfp_elf64_vec
+
+#define elf_backend_object_p elf64_nfp_object_p
+#define elf_backend_section_from_shdr elf64_nfp_section_from_shdr
+#define elf_info_to_howto elf64_nfp_info_to_howto
+#define bfd_elf64_bfd_reloc_type_lookup elf64_nfp_reloc_type_lookup
+#define bfd_elf64_bfd_reloc_name_lookup elf64_nfp_reloc_name_lookup
+
+#include "elf64-target.h"
diff --git a/bfd/po/SRC-POTFILES.in b/bfd/po/SRC-POTFILES.in
index 27139e5..7e82a33 100644
--- a/bfd/po/SRC-POTFILES.in
+++ b/bfd/po/SRC-POTFILES.in
@@ -85,6 +85,7 @@ cpu-moxie.c
cpu-msp430.c
cpu-mt.c
cpu-nds32.c
+cpu-nfp.c
cpu-nios2.c
cpu-ns32k.c
cpu-or1k.c
@@ -209,6 +210,7 @@ elf64-hppa.h
elf64-ia64-vms.c
elf64-mips.c
elf64-mmix.c
+elf64-nfp.c
elf64-ppc.c
elf64-s390.c
elf64-sparc.c
diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot
index a6b2adb..36e0e67 100644
--- a/bfd/po/bfd.pot
+++ b/bfd/po/bfd.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2018-04-24 11:57+0100\n"
+"POT-Creation-Date: 2018-04-30 11:54+0100\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"
@@ -67,7 +67,7 @@ msgstr ""
#: aoutx.h:4405 coff-alpha.c:601 coff-alpha.c:1514 coff-rs6000.c:2773
#: coff-sh.c:504 coff-tic4x.c:184 coff-tic54x.c:279 elf-hppa.h:1040
#: elf-hppa.h:1068 elf-m10200.c:226 elf-m10300.c:812 elf32-arc.c:519
-#: elf32-arm.c:1852 elf32-avr.c:959 elf32-bfin.c:1061 elf32-bfin.c:4698
+#: elf32-arm.c:1944 elf32-avr.c:959 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-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
@@ -88,11 +88,11 @@ msgstr ""
#: elf32-xstormy16.c:395 elf32-xtensa.c:454 elf32-xtensa.c:488
#: 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:3623
-#: elf64-mips.c:3639 elf64-mmix.c:1264 elf64-ppc.c:2281 elf64-ppc.c:2555
-#: elf64-ppc.c:2564 elf64-s390.c:328 elf64-s390.c:378 elf64-x86-64.c:285
-#: elfn32-mips.c:3451 elfxx-ia64.c:325 elfxx-riscv.c:955 elfxx-sparc.c:589
-#: elfxx-sparc.c:639 elfxx-sparc.c:661 elfxx-tilegx.c:912 elfxx-tilegx.c:952
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2126
+#: elf64-mips.c:3639 elf64-mmix.c:1264 elf64-nfp.c:239 elf64-ppc.c:2281
+#: elf64-ppc.c:2555 elf64-ppc.c:2564 elf64-s390.c:328 elf64-s390.c:378
+#: elf64-x86-64.c:285 elfn32-mips.c:3451 elfxx-ia64.c:325 elfxx-riscv.c:955
+#: elfxx-sparc.c:589 elfxx-sparc.c:639 elfxx-sparc.c:661 elfxx-tilegx.c:912
+#: elfxx-tilegx.c:952 /work/sources/binutils/current/bfd/elfnn-aarch64.c:2126
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2224 elf32-ia64.c:211
#: elf32-ia64.c:3863 elf64-ia64.c:211 elf64-ia64.c:3863
#, c-format
@@ -264,148 +264,12 @@ msgstr ""
msgid "using multiple gp values"
msgstr ""
-#: coff-alpha.c:1501 coff-alpha.c:1507 elf.c:8972 elf32-mcore.c:100
-#: elf32-mcore.c:455 elf32-ppc.c:8751 elf32-ppc.c:9883 elf64-ppc.c:14922
+#: coff-alpha.c:1501 coff-alpha.c:1507 elf.c:8979 elf32-mcore.c:100
+#: elf32-mcore.c:455 elf32-ppc.c:8751 elf32-ppc.c:9883 elf64-ppc.c:14932
#, c-format
msgid "%pB: %s unsupported"
msgstr ""
-#: coff-arm.c:1037
-#, c-format
-msgid "%pB: unable to find THUMB glue '%s' for `%s'"
-msgstr ""
-
-#: coff-arm.c:1066
-#, c-format
-msgid "%pB: unable to find ARM glue '%s' for `%s'"
-msgstr ""
-
-#: coff-arm.c:1367
-#, c-format
-msgid ""
-"%pB(%s): warning: interworking not enabled; first occurrence: %pB: arm call "
-"to thumb"
-msgstr ""
-
-#: coff-arm.c:1457
-#, c-format
-msgid ""
-"%pB(%s): warning: interworking not enabled; first occurrence: %pB: thumb "
-"call to arm; consider relinking with --support-old-code enabled"
-msgstr ""
-
-#: coff-arm.c:1751 coff-tic80.c:672 cofflink.c:3127
-#, c-format
-msgid "%pB: bad reloc address %#<PRIx64> in section `%pA'"
-msgstr ""
-
-#: coff-arm.c:2076
-#, c-format
-msgid "%pB: illegal symbol index in reloc: %ld"
-msgstr ""
-
-#: coff-arm.c:2208
-#, c-format
-msgid "error: %pB is compiled for APCS-%d, whereas %pB is compiled for APCS-%d"
-msgstr ""
-
-#: coff-arm.c:2221 elf32-arm.c:19614
-#, c-format
-msgid ""
-"error: %pB passes floats in float registers, whereas %pB passes them in "
-"integer registers"
-msgstr ""
-
-#: coff-arm.c:2226 elf32-arm.c:19618
-#, c-format
-msgid ""
-"error: %pB passes floats in integer registers, whereas %pB passes them in "
-"float registers"
-msgstr ""
-
-#: coff-arm.c:2238
-#, c-format
-msgid ""
-"error: %pB is compiled as position independent code, whereas target %pB is "
-"absolute position"
-msgstr ""
-
-#: coff-arm.c:2243
-#, c-format
-msgid ""
-"error: %pB is compiled as absolute position code, whereas target %pB is "
-"position independent"
-msgstr ""
-
-#: coff-arm.c:2270 elf32-arm.c:19683
-#, c-format
-msgid "warning: %pB supports interworking, whereas %pB does not"
-msgstr ""
-
-#: coff-arm.c:2275 elf32-arm.c:19689
-#, c-format
-msgid "warning: %pB does not support interworking, whereas %pB does"
-msgstr ""
-
-#: coff-arm.c:2298
-#, c-format
-msgid "private flags = %x:"
-msgstr ""
-
-#: coff-arm.c:2306 elf32-arm.c:14191
-#, c-format
-msgid " [floats passed in float registers]"
-msgstr ""
-
-#: coff-arm.c:2308
-#, c-format
-msgid " [floats passed in integer registers]"
-msgstr ""
-
-#: coff-arm.c:2311 elf32-arm.c:14194
-#, c-format
-msgid " [position independent]"
-msgstr ""
-
-#: coff-arm.c:2313
-#, c-format
-msgid " [absolute position]"
-msgstr ""
-
-#: coff-arm.c:2317
-#, c-format
-msgid " [interworking flag not initialised]"
-msgstr ""
-
-#: coff-arm.c:2319
-#, c-format
-msgid " [interworking supported]"
-msgstr ""
-
-#: coff-arm.c:2321
-#, c-format
-msgid " [interworking not supported]"
-msgstr ""
-
-#: coff-arm.c:2366 elf32-arm.c:13052
-#, c-format
-msgid ""
-"warning: not setting interworking flag of %pB since it has already been "
-"specified as non-interworking"
-msgstr ""
-
-#: coff-arm.c:2369 elf32-arm.c:13056
-#, c-format
-msgid "warning: clearing the interworking flag of %pB due to outside request"
-msgstr ""
-
-#: coff-arm.c:2426 elf32-arm.c:13101
-#, c-format
-msgid ""
-"warning: clearing the interworking flag of %pB because non-interworking code "
-"in %pB has been linked with it"
-msgstr ""
-
#: coff-mips.c:640 elf32-mips.c:1742 elf32-score.c:430 elf32-score7.c:330
#: elf64-mips.c:3131 elfn32-mips.c:2956
msgid "GP relative relocation when _gp not defined"
@@ -481,6 +345,11 @@ msgstr ""
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
#, c-format
msgid "%pB: unable to load COMDAT section name"
@@ -1018,7 +887,7 @@ msgstr ""
msgid "%pB: %s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf-m10300.c:2094 elf32-arm.c:12566 elf32-i386.c:3457 elf32-m32r.c:2539
+#: elf-m10300.c:2094 elf32-arm.c:13225 elf32-i386.c:3457 elf32-m32r.c:2539
#: elf32-m68k.c:3899 elf32-s390.c:3208 elf32-sh.c:3796 elf32-tilepro.c:3409
#: elf32-xtensa.c:2947 elf64-s390.c:3125 elf64-x86-64.c:3804 elfxx-sparc.c:3908
#: elfxx-tilegx.c:3793 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5258
@@ -1046,7 +915,7 @@ msgid "internal error: suspicious relocation type used in shared library"
msgstr ""
#: elf-m10300.c:2649 elf32-avr.c:2487 elf32-frv.c:5641 elf64-ia64-vms.c:364
-#: elfxx-sparc.c:2797 reloc.c:8078 reloc16.c:155 elf32-ia64.c:362
+#: elfxx-sparc.c:2797 reloc.c:8095 reloc16.c:155 elf32-ia64.c:362
#: elf64-ia64.c:362
msgid "%P%F: --relax and -r may not be used together\n"
msgstr ""
@@ -1256,53 +1125,53 @@ msgstr ""
msgid "%pB: sh_link of section `%pA' points to removed section `%pA' of `%pB'"
msgstr ""
-#: elf.c:4394
+#: elf.c:4401
#, c-format
msgid "%pB: GNU_MBIN section `%pA' has invalid sh_info field: %d"
msgstr ""
-#: elf.c:4940
+#: elf.c:4947
#, c-format
msgid "%pB: TLS sections are not adjacent:"
msgstr ""
-#: elf.c:4947
+#: elf.c:4954
#, c-format
msgid "\t TLS: %pA"
msgstr ""
-#: elf.c:4951
+#: elf.c:4958
#, c-format
msgid "\tnon-TLS: %pA"
msgstr ""
-#: elf.c:5447
+#: elf.c:5454
#, c-format
msgid ""
"%pB: The first section in the PT_DYNAMIC segment is not the .dynamic section"
msgstr ""
-#: elf.c:5475
+#: elf.c:5482
#, c-format
msgid "%pB: not enough room for program headers, try linking with -N"
msgstr ""
-#: elf.c:5563
+#: elf.c:5570
#, c-format
msgid "%pB: section %pA lma %#<PRIx64> adjusted to %#<PRIx64>"
msgstr ""
-#: elf.c:5700
+#: elf.c:5707
#, c-format
msgid "%pB: section `%pA' can't be allocated in segment %d"
msgstr ""
-#: elf.c:5748
+#: elf.c:5755
#, c-format
msgid "%pB: warning: allocated section `%s' not in segment"
msgstr ""
-#: elf.c:5981
+#: elf.c:5988
#, c-format
msgid ""
"%pB: error: non-load segment %d includes file header and/or program header"
@@ -1311,47 +1180,47 @@ 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:6158
+#: elf.c:6165
#, c-format
msgid "%pB: error: PHDR segment not covered by LOAD segment"
msgstr ""
-#: elf.c:6503
+#: elf.c:6510
#, c-format
msgid "%pB: symbol `%s' required but not present"
msgstr ""
-#: elf.c:6847
+#: elf.c:6854
#, c-format
msgid ""
"%pB: warning: empty loadable segment detected at vaddr=%#<PRIx64>, is this "
"intentional?"
msgstr ""
-#: elf.c:7461
+#: elf.c:7468
#, c-format
msgid "%pB: warning: segment alignment of %#<PRIx64> is too large"
msgstr ""
-#: elf.c:7960
+#: elf.c:7967
#, c-format
msgid ""
"unable to find equivalent output section for symbol '%s' from section '%s'"
msgstr ""
-#: elf.c:8293
+#: elf.c:8300
#, c-format
msgid "%pB: .gnu.version_r invalid entry"
msgstr ""
-#: elf.c:8420
+#: elf.c:8427
#, c-format
msgid "%pB: .gnu.version_d invalid entry"
msgstr ""
#: elf32-arc.c:442 elf32-frv.c:6630 elf32-iq2000.c:870 elf32-m32c.c:914
#: elf32-mt.c:562 elf32-rl78.c:1261 elf32-rx.c:3200 elf32-visium.c:841
-#: elf64-ppc.c:6184
+#: elf64-ppc.c:6194
#, c-format
msgid "private flags = 0x%lx:"
msgstr ""
@@ -1455,7 +1324,7 @@ msgstr ""
msgid "%pB(%pA): internal error: unknown error"
msgstr ""
-#: elf32-arc.c:1985 elf32-arm.c:14552 elf32-metag.c:2257 elfxx-mips.c:8905
+#: elf32-arc.c:1985 elf32-arm.c:15270 elf32-metag.c:2257 elfxx-mips.c:8905
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7394
#: /work/sources/binutils/current/bfd/elfnn-riscv.c:474
#, c-format
@@ -1474,7 +1343,7 @@ msgstr ""
msgid "warning: %pB: unknown ARC object attribute %d"
msgstr ""
-#: elf32-arm.c:4030 elf32-arm.c:4064 elf32-arm.c:4083 elf32-arm.c:4135
+#: elf32-arm.c:4294 elf32-arm.c:4328 elf32-arm.c:4347 elf32-arm.c:4399
#, c-format
msgid ""
"%pB(%pA): warning: long branch veneers used in section with SHF_ARM_PURECODE "
@@ -1482,141 +1351,141 @@ msgid ""
"movw instruction"
msgstr ""
-#: elf32-arm.c:4095 elf32-arm.c:4149 elf32-arm.c:8813 elf32-arm.c:8903
+#: elf32-arm.c:4359 elf32-arm.c:4413 elf32-arm.c:9082 elf32-arm.c:9172
#, c-format
msgid ""
"%pB(%s): warning: interworking not enabled; first occurrence: %pB: %s call "
"to %s"
msgstr ""
-#: elf32-arm.c:4423
+#: elf32-arm.c:4687
#, c-format
msgid "no address assigned to the veneers output section %s"
msgstr ""
-#: elf32-arm.c:4498 elf32-arm.c:6634 elf32-hppa.c:577 elf32-m68hc1x.c:165
-#: elf32-metag.c:1186 elf32-nios2.c:2208 elf64-ppc.c:4737
+#: elf32-arm.c:4762 elf32-arm.c:6898 elf32-hppa.c:577 elf32-m68hc1x.c:165
+#: elf32-metag.c:1186 elf32-nios2.c:2208 elf64-ppc.c:4747
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:3099
#, c-format
msgid "%pB: cannot create stub entry %s"
msgstr ""
-#: elf32-arm.c:5683
+#: elf32-arm.c:5947
#, c-format
msgid "%pB: special symbol `%s' only allowed for ARMv8-M architecture or later"
msgstr ""
-#: elf32-arm.c:5692
+#: elf32-arm.c:5956
#, c-format
msgid ""
"%pB: invalid special symbol `%s'; it must be a global or weak function symbol"
msgstr ""
-#: elf32-arm.c:5731
+#: elf32-arm.c:5995
#, c-format
msgid ""
"%pB: invalid standard symbol `%s'; it must be a global or weak function "
"symbol"
msgstr ""
-#: elf32-arm.c:5737
+#: elf32-arm.c:6001
#, c-format
msgid "%pB: absent standard symbol `%s'"
msgstr ""
-#: elf32-arm.c:5749
+#: elf32-arm.c:6013
#, c-format
msgid "%pB: `%s' and its special symbol are in different sections"
msgstr ""
-#: elf32-arm.c:5761
+#: elf32-arm.c:6025
#, c-format
msgid "%pB: entry function `%s' not output"
msgstr ""
-#: elf32-arm.c:5768
+#: elf32-arm.c:6032
#, c-format
msgid "%pB: entry function `%s' is empty"
msgstr ""
-#: elf32-arm.c:5897
+#: elf32-arm.c:6161
#, c-format
msgid "%pB: --in-implib only supported for Secure Gateway import libraries"
msgstr ""
-#: elf32-arm.c:5943
+#: elf32-arm.c:6207
#, c-format
msgid ""
"%pB: invalid import library entry: `%s'; symbol should be absolute, global "
"and refer to Thumb functions"
msgstr ""
-#: elf32-arm.c:5965
+#: elf32-arm.c:6229
#, c-format
msgid "entry function `%s' disappeared from secure code"
msgstr ""
-#: elf32-arm.c:5989
+#: elf32-arm.c:6253
#, c-format
msgid "`%s' refers to a non entry function"
msgstr ""
-#: elf32-arm.c:6004
+#: elf32-arm.c:6268
#, c-format
msgid "%pB: visibility of symbol `%s' has changed"
msgstr ""
-#: elf32-arm.c:6013
+#: elf32-arm.c:6277
#, c-format
msgid "%pB: incorrect size for symbol `%s'"
msgstr ""
-#: elf32-arm.c:6032
+#: elf32-arm.c:6296
#, c-format
msgid "offset of veneer for entry function `%s' not a multiple of its size"
msgstr ""
-#: elf32-arm.c:6052
+#: elf32-arm.c:6316
msgid ""
"new entry function(s) introduced but no output import library specified:"
msgstr ""
-#: elf32-arm.c:6060
+#: elf32-arm.c:6324
#, c-format
msgid "start address of `%s' is different from previous link"
msgstr ""
-#: elf32-arm.c:6767 elf32-arm.c:6803
+#: elf32-arm.c:7031 elf32-arm.c:7067
#, c-format
msgid "unable to find %s glue '%s' for '%s'"
msgstr ""
-#: elf32-arm.c:7518
+#: elf32-arm.c:7782
#, 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:7749
+#: elf32-arm.c:8013
#, c-format
msgid ""
"%pB: warning: selected VFP11 erratum workaround is not necessary for target "
"architecture"
msgstr ""
-#: elf32-arm.c:7776
+#: elf32-arm.c:8040
#, c-format
msgid ""
"%pB: warning: selected STM32L4XX erratum workaround is not necessary for "
"target architecture"
msgstr ""
-#: elf32-arm.c:8313 elf32-arm.c:8333 elf32-arm.c:8399 elf32-arm.c:8418
+#: elf32-arm.c:8577 elf32-arm.c:8597 elf32-arm.c:8663 elf32-arm.c:8682
#, c-format
msgid "%pB: unable to find %s veneer `%s'"
msgstr ""
-#: elf32-arm.c:8625
+#: elf32-arm.c:8889
#, c-format
msgid ""
"%pB(%pA+%#x): error: multiple load detected in non-last IT block "
@@ -1624,182 +1493,201 @@ msgid ""
"it to generate only one instruction per IT block"
msgstr ""
-#: elf32-arm.c:8723
+#: elf32-arm.c:8989
#, c-format
msgid "invalid TARGET2 relocation type '%s'"
msgstr ""
#. FIXME: We ought to be able to generate thumb-1 PLT
#. instructions...
-#: elf32-arm.c:9465
+#: elf32-arm.c:9791
#, c-format
msgid "%pB: warning: thumb-1 mode PLT generation not currently supported"
msgstr ""
-#: elf32-arm.c:9730 elf32-arm.c:9772
+#: elf32-arm.c:10095 elf32-arm.c:10137
#, c-format
msgid "%pB(%pA+%#<PRIx64>): unexpected %s instruction '%#lx' in TLS trampoline"
msgstr ""
-#: elf32-arm.c:10114
+#: elf32-arm.c:10481
msgid "shared object"
msgstr ""
-#: elf32-arm.c:10117
+#: elf32-arm.c:10484
msgid "PIE executable"
msgstr ""
-#: elf32-arm.c:10120
+#: elf32-arm.c:10487
#, 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:10251 elf32-arm.c:10678
+#: elf32-arm.c:10624 elf32-arm.c:11051
#, c-format
msgid "%pB: warning: %s BLX instruction targets %s function '%s'"
msgstr ""
-#: elf32-arm.c:11547 elf32-arm.c:11573
+#: elf32-arm.c:11954 elf32-arm.c:11980
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): unexpected %s instruction '%#lx' referenced by "
"TLS_GOTDESC"
msgstr ""
-#: elf32-arm.c:11605 elf32-m68k.c:3703 elf32-metag.c:1919 elf32-nios2.c:4366
+#: elf32-arm.c:12026 elf32-m68k.c:3703 elf32-metag.c:1919 elf32-nios2.c:4366
#, c-format
msgid "%pB(%pA+%#<PRIx64>): %s relocation not permitted in shared object"
msgstr ""
-#: elf32-arm.c:11819
+#: elf32-arm.c:12240
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): only ADD or SUB instructions are allowed for ALU group "
"relocations"
msgstr ""
-#: elf32-arm.c:11860 elf32-arm.c:11952 elf32-arm.c:12040 elf32-arm.c:12130
+#: elf32-arm.c:12281 elf32-arm.c:12373 elf32-arm.c:12461 elf32-arm.c:12551
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): overflow whilst splitting %#<PRIx64> for group "
"relocation %s"
msgstr ""
-#: elf32-arm.c:12398 elf32-sh.c:3685
+#: elf32-arm.c:13057 elf32-sh.c:3685
#, c-format
msgid "%pB(%pA+%#<PRIx64>): %s relocation against SEC_MERGE section"
msgstr ""
-#: elf32-arm.c:12511 elf32-m68k.c:3936 elf32-xtensa.c:2689
+#: elf32-arm.c:13170 elf32-m68k.c:3936 elf32-xtensa.c:2689
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6466
#, c-format
msgid "%pB(%pA+%#<PRIx64>): %s used with TLS symbol %s"
msgstr ""
-#: elf32-arm.c:12513 elf32-m68k.c:3938 elf32-xtensa.c:2691
+#: elf32-arm.c:13172 elf32-m68k.c:3938 elf32-xtensa.c:2691
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6468
#, c-format
msgid "%pB(%pA+%#<PRIx64>): %s used with non-TLS symbol %s"
msgstr ""
-#: elf32-arm.c:12596 elf32-tic6x.c:2708
+#: elf32-arm.c:13255 elf32-tic6x.c:2708
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6802
msgid "out of range"
msgstr ""
-#: elf32-arm.c:12600 elf32-nios2.c:4500 elf32-pru.c:835 elf32-tic6x.c:2712
+#: elf32-arm.c:13259 elf32-nios2.c:4500 elf32-pru.c:835 elf32-tic6x.c:2712
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6806
msgid "unsupported relocation"
msgstr ""
-#: elf32-arm.c:12608 elf32-nios2.c:4510 elf32-pru.c:845 elf32-tic6x.c:2720
+#: elf32-arm.c:13267 elf32-nios2.c:4510 elf32-pru.c:845 elf32-tic6x.c:2720
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6814
msgid "unknown error"
msgstr ""
-#: elf32-arm.c:13188
+#: elf32-arm.c:13711
+#, c-format
+msgid ""
+"warning: not setting interworking flag of %pB since it has already been "
+"specified as non-interworking"
+msgstr ""
+
+#: elf32-arm.c:13715
+#, c-format
+msgid "warning: clearing the interworking flag of %pB due to outside request"
+msgstr ""
+
+#: elf32-arm.c:13760
+#, 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:13847
#, c-format
msgid "%pB: unknown mandatory EABI object attribute %d"
msgstr ""
-#: elf32-arm.c:13196
+#: elf32-arm.c:13855
#, c-format
msgid "warning: %pB: unknown EABI object attribute %d"
msgstr ""
-#: elf32-arm.c:13463
+#: elf32-arm.c:14122
#, c-format
msgid "error: %pB: unknown CPU architecture"
msgstr ""
-#: elf32-arm.c:13501 elf32-nios2.c:2946
+#: elf32-arm.c:14160 elf32-nios2.c:2946
#, c-format
msgid "error: %pB: conflicting CPU architectures %d/%d"
msgstr ""
-#: elf32-arm.c:13598
+#: elf32-arm.c:14257
#, c-format
msgid ""
"Error: %pB has both the current and legacy Tag_MPextension_use attributes"
msgstr ""
-#: elf32-arm.c:13627
+#: elf32-arm.c:14286
#, c-format
msgid "error: %pB uses VFP register arguments, %pB does not"
msgstr ""
-#: elf32-arm.c:13785
+#: elf32-arm.c:14444
#, c-format
msgid "error: %pB: unable to merge virtualization attributes with %pB"
msgstr ""
-#: elf32-arm.c:13811
+#: elf32-arm.c:14470
#, c-format
msgid "error: %pB: conflicting architecture profiles %c/%c"
msgstr ""
-#: elf32-arm.c:13950
+#: elf32-arm.c:14609
#, c-format
msgid "warning: %pB: conflicting platform configuration"
msgstr ""
-#: elf32-arm.c:13959
+#: elf32-arm.c:14618
#, c-format
msgid "error: %pB: conflicting use of R9"
msgstr ""
-#: elf32-arm.c:13971
+#: elf32-arm.c:14630
#, c-format
msgid "error: %pB: SB relative addressing conflicts with use of R9"
msgstr ""
-#: elf32-arm.c:13984
+#: elf32-arm.c:14643
#, 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:14015
+#: elf32-arm.c:14674
#, 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:14027
+#: elf32-arm.c:14686
#, c-format
msgid "error: %pB uses iWMMXt register arguments, %pB does not"
msgstr ""
-#: elf32-arm.c:14044
+#: elf32-arm.c:14703
#, c-format
msgid "error: fp16 format mismatch between %pB and %pB"
msgstr ""
-#: elf32-arm.c:14080
+#: elf32-arm.c:14739
#, c-format
msgid "%pB has both the current and legacy Tag_MPextension_use attributes"
msgstr ""
@@ -1809,7 +1697,7 @@ 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:14167 elf32-bfin.c:4740 elf32-cris.c:3908 elf32-m68hc1x.c:1410
+#: elf32-arm.c:14826 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:672 elfxx-mips.c:15792
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6968
@@ -1817,122 +1705,137 @@ msgstr ""
msgid "private flags = %lx:"
msgstr ""
-#: elf32-arm.c:14176
+#: elf32-arm.c:14835
#, c-format
msgid " [interworking enabled]"
msgstr ""
-#: elf32-arm.c:14184
+#: elf32-arm.c:14843
#, c-format
msgid " [VFP float format]"
msgstr ""
-#: elf32-arm.c:14186
+#: elf32-arm.c:14845
#, c-format
msgid " [Maverick float format]"
msgstr ""
-#: elf32-arm.c:14188
+#: elf32-arm.c:14847
#, c-format
msgid " [FPA float format]"
msgstr ""
-#: elf32-arm.c:14197
+#: elf32-arm.c:14850
+#, c-format
+msgid " [floats passed in float registers]"
+msgstr ""
+
+#: elf32-arm.c:14853 elf32-arm.c:14939
+#, c-format
+msgid " [position independent]"
+msgstr ""
+
+#: elf32-arm.c:14856
#, c-format
msgid " [new ABI]"
msgstr ""
-#: elf32-arm.c:14200
+#: elf32-arm.c:14859
#, c-format
msgid " [old ABI]"
msgstr ""
-#: elf32-arm.c:14203
+#: elf32-arm.c:14862
#, c-format
msgid " [software FP]"
msgstr ""
-#: elf32-arm.c:14212
+#: elf32-arm.c:14871
#, c-format
msgid " [Version1 EABI]"
msgstr ""
-#: elf32-arm.c:14215 elf32-arm.c:14226
+#: elf32-arm.c:14874 elf32-arm.c:14885
#, c-format
msgid " [sorted symbol table]"
msgstr ""
-#: elf32-arm.c:14217 elf32-arm.c:14228
+#: elf32-arm.c:14876 elf32-arm.c:14887
#, c-format
msgid " [unsorted symbol table]"
msgstr ""
-#: elf32-arm.c:14223
+#: elf32-arm.c:14882
#, c-format
msgid " [Version2 EABI]"
msgstr ""
-#: elf32-arm.c:14231
+#: elf32-arm.c:14890
#, c-format
msgid " [dynamic symbols use segment index]"
msgstr ""
-#: elf32-arm.c:14234
+#: elf32-arm.c:14893
#, c-format
msgid " [mapping symbols precede others]"
msgstr ""
-#: elf32-arm.c:14241
+#: elf32-arm.c:14900
#, c-format
msgid " [Version3 EABI]"
msgstr ""
-#: elf32-arm.c:14245
+#: elf32-arm.c:14904
#, c-format
msgid " [Version4 EABI]"
msgstr ""
-#: elf32-arm.c:14249
+#: elf32-arm.c:14908
#, c-format
msgid " [Version5 EABI]"
msgstr ""
-#: elf32-arm.c:14252
+#: elf32-arm.c:14911
#, c-format
msgid " [soft-float ABI]"
msgstr ""
-#: elf32-arm.c:14255
+#: elf32-arm.c:14914
#, c-format
msgid " [hard-float ABI]"
msgstr ""
-#: elf32-arm.c:14261
+#: elf32-arm.c:14920
#, c-format
msgid " [BE8]"
msgstr ""
-#: elf32-arm.c:14264
+#: elf32-arm.c:14923
#, c-format
msgid " [LE8]"
msgstr ""
-#: elf32-arm.c:14270
+#: elf32-arm.c:14929
#, c-format
msgid " <EABI version unrecognised>"
msgstr ""
-#: elf32-arm.c:14277
+#: elf32-arm.c:14936
#, c-format
msgid " [relocatable executable]"
msgstr ""
-#: elf32-arm.c:14282 /work/sources/binutils/current/bfd/elfnn-aarch64.c:6971
+#: elf32-arm.c:14942
+#, c-format
+msgid " [FDPIC ABI supplement]"
+msgstr ""
+
+#: elf32-arm.c:14947 /work/sources/binutils/current/bfd/elfnn-aarch64.c:6971
#, c-format
msgid "<Unrecognised flag bits set>"
msgstr ""
-#: elf32-arm.c:14399 elf32-i386.c:1517 elf32-s390.c:960 elf32-tic6x.c:2783
+#: elf32-arm.c:15064 elf32-i386.c:1517 elf32-s390.c:960 elf32-tic6x.c:2783
#: elf32-tilepro.c:1479 elf32-xtensa.c:1024 elf64-s390.c:882
#: elf64-x86-64.c:1826 elfxx-sparc.c:1424 elfxx-tilegx.c:1700
#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7260
@@ -1941,92 +1844,122 @@ msgstr ""
msgid "%pB: bad symbol index: %d"
msgstr ""
-#: elf32-arm.c:15667 elf32-hppa.c:2088 elf32-lm32.c:1998 elf32-m32r.c:2110
+#: elf32-arm.c:15455
+#, c-format
+msgid ""
+"FDPIC does not yet support %s relocation to become dynamic for executable"
+msgstr ""
+
+#: elf32-arm.c:16505 elf32-hppa.c:2088 elf32-lm32.c:1998 elf32-m32r.c:2110
#: elf32-metag.c:2797 elf32-nds32.c:3840 elf32-or1k.c:2285 elf32-ppc.c:6550
#: elf32-s390.c:1855 elf32-sh.c:2975 elf32-tic6x.c:3239 elf32-tilepro.c:2245
-#: elf64-ppc.c:10249 elf64-s390.c:1792 elfxx-sparc.c:2437 elfxx-tilegx.c:2491
+#: elf64-ppc.c:10259 elf64-s390.c:1792 elfxx-sparc.c:2437 elfxx-tilegx.c:2491
#: elfxx-x86.c:571 /work/sources/binutils/current/bfd/elfnn-aarch64.c:8610
#: /work/sources/binutils/current/bfd/elfnn-riscv.c:1117
#, c-format
msgid "%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"
msgstr ""
-#: elf32-arm.c:15912
+#: elf32-arm.c:16801
#, c-format
msgid "errors encountered processing file %pB"
msgstr ""
-#: elf32-arm.c:16349 elflink.c:12416 elflink.c:12463
+#: elf32-arm.c:17248 elflink.c:12416 elflink.c:12463
#, c-format
msgid "could not find section %s"
msgstr ""
-#: elf32-arm.c:17525
+#: elf32-arm.c:18459
#, 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:17552
+#: elf32-arm.c:18486
#, c-format
msgid "%pB: error: Cortex-A8 erratum stub out of range (input file too large)"
msgstr ""
-#: elf32-arm.c:18379 elf32-arm.c:18401
+#: elf32-arm.c:19313 elf32-arm.c:19335
#, c-format
msgid "%pB: error: VFP11 veneer out of range"
msgstr ""
-#: elf32-arm.c:18452
+#: elf32-arm.c:19386
#, 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:18491
+#: elf32-arm.c:19425
#, c-format
msgid "%pB: error: cannot create STM32L4XX veneer"
msgstr ""
-#: elf32-arm.c:19513
+#: elf32-arm.c:20519
#, c-format
msgid "error: %pB is already in final BE8 format"
msgstr ""
-#: elf32-arm.c:19589
+#: elf32-arm.c:20595
#, c-format
msgid ""
"error: source object %pB has EABI version %d, but target %pB has EABI "
"version %d"
msgstr ""
-#: elf32-arm.c:19604
+#: elf32-arm.c:20610
#, c-format
msgid "error: %pB is compiled for APCS-%d, whereas target %pB uses APCS-%d"
msgstr ""
-#: elf32-arm.c:19628 elf32-arm.c:19632 elf32-arm.c:19642
+#: elf32-arm.c:20620
+#, c-format
+msgid ""
+"error: %pB passes floats in float registers, whereas %pB passes them in "
+"integer registers"
+msgstr ""
+
+#: elf32-arm.c:20624
+#, c-format
+msgid ""
+"error: %pB passes floats in integer registers, whereas %pB passes them in "
+"float registers"
+msgstr ""
+
+#: elf32-arm.c:20634 elf32-arm.c:20638 elf32-arm.c:20648
#, c-format
msgid "error: %pB uses %s instructions, whereas %pB does not"
msgstr ""
-#: elf32-arm.c:19646
+#: elf32-arm.c:20652
#, c-format
msgid "error: %pB does not use %s instructions, whereas %pB does"
msgstr ""
-#: elf32-arm.c:19665
+#: elf32-arm.c:20671
#, c-format
msgid "error: %pB uses software FP, whereas %pB uses hardware FP"
msgstr ""
-#: elf32-arm.c:19669
+#: elf32-arm.c:20675
#, c-format
msgid "error: %pB uses hardware FP, whereas %pB uses software FP"
msgstr ""
+#: elf32-arm.c:20689
+#, c-format
+msgid "warning: %pB supports interworking, whereas %pB does not"
+msgstr ""
+
+#: elf32-arm.c:20695
+#, c-format
+msgid "warning: %pB does not support interworking, whereas %pB does"
+msgstr ""
+
#: elf32-avr.c:1513 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
@@ -2873,7 +2806,7 @@ msgstr ""
msgid "%pB: unmatched OMIT_FP in %pA"
msgstr ""
-#: elf32-nds32.c:12642 reloc.c:8292
+#: elf32-nds32.c:12642 reloc.c:8309
#, c-format
msgid "%X%P: %pB(%pA): relocation \"%pR\" goes out of range\n"
msgstr ""
@@ -3033,7 +2966,7 @@ msgstr ""
#. could just mark this symbol to exclude it
#. from tls optimization but it's safer to skip
#. the entire optimization.
-#: elf32-ppc.c:5687 elf64-ppc.c:8949
+#: elf32-ppc.c:5687 elf64-ppc.c:8959
#, c-format
msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
msgstr ""
@@ -3062,7 +2995,7 @@ msgstr ""
msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
msgstr ""
-#: elf32-ppc.c:8727 elf64-ppc.c:15724
+#: elf32-ppc.c:8727 elf64-ppc.c:15734
msgid "%H: warning: %s unexpected insn %#x.\n"
msgstr ""
@@ -3114,13 +3047,13 @@ msgstr ""
msgid "%H: %s reloc against `%s': error %d\n"
msgstr ""
-#: elf32-ppc.c:11013 elf64-ppc.c:16216
+#: elf32-ppc.c:11013 elf64-ppc.c:16226
msgid ""
"%X%P: text relocations and GNU indirect functions will result in a segfault "
"at runtime\n"
msgstr ""
-#: elf32-ppc.c:11017 elf64-ppc.c:16220
+#: elf32-ppc.c:11017 elf64-ppc.c:16230
msgid ""
"%P: warning: text relocations and GNU indirect functions may result in a "
"segfault at runtime\n"
@@ -3415,7 +3348,7 @@ msgstr ""
msgid "overlay stub relocation overflow"
msgstr ""
-#: elf32-spu.c:1984 elf64-ppc.c:13805
+#: elf32-spu.c:1984 elf64-ppc.c:13815
msgid "stubs don't match calculated size"
msgstr ""
@@ -4164,134 +4097,134 @@ msgid ""
"internal inconsistency: remaining %lu != max %lu; please report this bug"
msgstr ""
-#: elf64-ppc.c:5068
+#: elf64-ppc.c:5078
#, c-format
msgid "symbol '%s' has invalid st_other for ABI version 1"
msgstr ""
-#: elf64-ppc.c:5243
+#: elf64-ppc.c:5253
#, c-format
msgid "%pB .opd not allowed in ABI version %d"
msgstr ""
-#: elf64-ppc.c:5757
+#: elf64-ppc.c:5767
#, c-format
msgid "%H: %s reloc unsupported in shared libraries and PIEs\n"
msgstr ""
-#: elf64-ppc.c:6152
+#: elf64-ppc.c:6162
#, c-format
msgid "%pB uses unknown e_flags 0x%lx"
msgstr ""
-#: elf64-ppc.c:6160
+#: elf64-ppc.c:6170
#, c-format
msgid "%pB: ABI version %ld is not compatible with ABI version %ld output"
msgstr ""
-#: elf64-ppc.c:6188
+#: elf64-ppc.c:6198
#, c-format
msgid " [abiv%ld]"
msgstr ""
-#: elf64-ppc.c:7376
+#: elf64-ppc.c:7386
msgid ""
"%P: copy reloc against `%pT' requires lazy plt linking; avoid setting "
"LD_BIND_NOW=1 or upgrade gcc\n"
msgstr ""
-#: elf64-ppc.c:7645
+#: elf64-ppc.c:7655
#, c-format
msgid "%pB: undefined symbol on R_PPC64_TOCSAVE relocation"
msgstr ""
-#: elf64-ppc.c:7872
+#: elf64-ppc.c:7882
#, c-format
msgid "dynreloc miscount for %pB, section %pA"
msgstr ""
-#: elf64-ppc.c:7961
+#: elf64-ppc.c:7971
#, c-format
msgid "%pB: .opd is not a regular array of opd entries"
msgstr ""
-#: elf64-ppc.c:7971
+#: elf64-ppc.c:7981
#, c-format
msgid "%pB: unexpected reloc type %u in .opd section"
msgstr ""
-#: elf64-ppc.c:7993
+#: elf64-ppc.c:8003
#, c-format
msgid "%pB: undefined sym `%s' in .opd section"
msgstr ""
-#: elf64-ppc.c:8477
+#: elf64-ppc.c:8487
msgid ""
"warning: --plt-localentry is especially dangerous without ld.so support to "
"detect ABI violations"
msgstr ""
-#: elf64-ppc.c:8726
+#: elf64-ppc.c:8736
msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
msgstr ""
-#: elf64-ppc.c:9101 elf64-ppc.c:9738
+#: elf64-ppc.c:9111 elf64-ppc.c:9748
#, c-format
msgid "%s defined on removed toc entry"
msgstr ""
-#: elf64-ppc.c:9466
+#: elf64-ppc.c:9476
#, c-format
msgid "%H: toc optimization is not supported for %s instruction\n"
msgstr ""
-#: elf64-ppc.c:9695
+#: elf64-ppc.c:9705
#, c-format
msgid "%H: %s references optimized away TOC entry\n"
msgstr ""
-#: elf64-ppc.c:10526
+#: elf64-ppc.c:10536
#, c-format
msgid "warning: discarding dynamic section %s"
msgstr ""
-#: elf64-ppc.c:11113
+#: elf64-ppc.c:11123
msgid "%P: cannot find opd entry toc for `%pT'\n"
msgstr ""
-#: elf64-ppc.c:11201
+#: elf64-ppc.c:11211
#, c-format
msgid "long branch stub `%s' offset overflow"
msgstr ""
-#: elf64-ppc.c:11260
+#: elf64-ppc.c:11270
#, c-format
msgid "can't find branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:11324 elf64-ppc.c:11452 elf64-ppc.c:13421
+#: elf64-ppc.c:11334 elf64-ppc.c:11462 elf64-ppc.c:13431
#, c-format
msgid "%P: linkage table error against `%pT'\n"
msgstr ""
-#: elf64-ppc.c:11675
+#: elf64-ppc.c:11685
#, c-format
msgid "can't build branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:12451
+#: elf64-ppc.c:12461
#, c-format
msgid "%pB section %pA exceeds stub group size"
msgstr ""
-#: elf64-ppc.c:13819
+#: elf64-ppc.c:13829
#, c-format
msgid "linker stubs in %u group\n"
msgid_plural "linker stubs in %u groups\n"
msgstr[0] ""
msgstr[1] ""
-#: elf64-ppc.c:13823
+#: elf64-ppc.c:13833
#, c-format
msgid ""
" branch %lu\n"
@@ -4303,54 +4236,54 @@ msgid ""
" global entry %lu"
msgstr ""
-#: elf64-ppc.c:14142
+#: elf64-ppc.c:14152
#, c-format
msgid "%H: %s used with TLS symbol `%pT'\n"
msgstr ""
-#: elf64-ppc.c:14144
+#: elf64-ppc.c:14154
#, c-format
msgid "%H: %s used with non-TLS symbol `%pT'\n"
msgstr ""
-#: elf64-ppc.c:14788
+#: elf64-ppc.c:14798
#, c-format
msgid "%H: call to `%pT' lacks nop, can't restore toc; recompile with -fPIC\n"
msgstr ""
-#: elf64-ppc.c:14794
+#: elf64-ppc.c:14804
#, c-format
msgid ""
"%H: call to `%pT' lacks nop, can't restore toc; (-mcmodel=small toc adjust "
"stub)\n"
msgstr ""
-#: elf64-ppc.c:15489
+#: elf64-ppc.c:15499
#, c-format
msgid "%H: %s for indirect function `%pT' unsupported\n"
msgstr ""
-#: elf64-ppc.c:15601
+#: elf64-ppc.c:15611
#, c-format
msgid "%P: %pB: %s is not supported for `%pT'\n"
msgstr ""
-#: elf64-ppc.c:15827
+#: elf64-ppc.c:15837
#, c-format
msgid "%H: error: %s not a multiple of %u\n"
msgstr ""
-#: elf64-ppc.c:15850
+#: elf64-ppc.c:15860
#, c-format
msgid "%H: unresolvable %s against `%pT'\n"
msgstr ""
-#: elf64-ppc.c:15947
+#: elf64-ppc.c:15957
#, c-format
msgid "%H: %s against `%pT': error %d\n"
msgstr ""
-#: elf64-ppc.c:16293 elf64-ppc.c:16312
+#: elf64-ppc.c:16303 elf64-ppc.c:16322
#, c-format
msgid "%s offset too large for .eh_frame sdata4 encoding"
msgstr ""
@@ -5679,32 +5612,32 @@ msgstr ""
msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
msgstr ""
-#: reloc.c:8125
+#: reloc.c:8142
msgid "INPUT_SECTION_FLAGS are not supported"
msgstr ""
-#: reloc.c:8226
+#: reloc.c:8243
#, c-format
msgid "%X%P: %pB(%pA): error: relocation for offset %V has no value\n"
msgstr ""
-#: reloc.c:8302
+#: reloc.c:8319
#, c-format
msgid "%X%P: %pB(%pA): relocation \"%pR\" is not supported\n"
msgstr ""
-#: reloc.c:8311
+#: reloc.c:8328
#, c-format
msgid "%X%P: %pB(%pA): relocation \"%pR\" returns an unrecognized value %x\n"
msgstr ""
-#: reloc.c:8373
+#: reloc.c:8390
#, c-format
msgid "%pB: unrecognized relocation type %#x in section `%pA'"
msgstr ""
#. PR 21803: Suggest the most likely cause of this error.
-#: reloc.c:8377
+#: reloc.c:8394
#, c-format
msgid "is this version of the linker - %s - out of date ?"
msgstr ""
@@ -8449,86 +8382,91 @@ msgid ""
"%pB: Data Directory size (%lx) exceeds space left in section (%<PRIx64>)"
msgstr ""
-#: peigen.c:3021 pepigen.c:3021 pex64igen.c:3021
+#: peigen.c:3001 pepigen.c:3001 pex64igen.c:3001
+#, c-format
+msgid "%pB: Data Directory size (%#lx) is negative"
+msgstr ""
+
+#: peigen.c:3030 pepigen.c:3030 pex64igen.c:3030
msgid "failed to update file offsets in debug directory"
msgstr ""
-#: peigen.c:3027 pepigen.c:3027 pex64igen.c:3027
+#: peigen.c:3036 pepigen.c:3036 pex64igen.c:3036
#, c-format
msgid "%pB: failed to read debug data section"
msgstr ""
-#: peigen.c:3843 pepigen.c:3843 pex64igen.c:3843
+#: peigen.c:3852 pepigen.c:3852 pex64igen.c:3852
#, c-format
msgid ".rsrc merge failure: duplicate string resource: %d"
msgstr ""
-#: peigen.c:3978 pepigen.c:3978 pex64igen.c:3978
+#: peigen.c:3987 pepigen.c:3987 pex64igen.c:3987
msgid ".rsrc merge failure: multiple non-default manifests"
msgstr ""
-#: peigen.c:3996 pepigen.c:3996 pex64igen.c:3996
+#: peigen.c:4005 pepigen.c:4005 pex64igen.c:4005
msgid ".rsrc merge failure: a directory matches a leaf"
msgstr ""
-#: peigen.c:4038 pepigen.c:4038 pex64igen.c:4038
+#: peigen.c:4047 pepigen.c:4047 pex64igen.c:4047
msgid ".rsrc merge failure: duplicate leaf"
msgstr ""
-#: peigen.c:4040 pepigen.c:4040 pex64igen.c:4040
+#: peigen.c:4049 pepigen.c:4049 pex64igen.c:4049
#, c-format
msgid ".rsrc merge failure: duplicate leaf: %s"
msgstr ""
-#: peigen.c:4106 pepigen.c:4106 pex64igen.c:4106
+#: peigen.c:4115 pepigen.c:4115 pex64igen.c:4115
msgid ".rsrc merge failure: dirs with differing characteristics"
msgstr ""
-#: peigen.c:4113 pepigen.c:4113 pex64igen.c:4113
+#: peigen.c:4122 pepigen.c:4122 pex64igen.c:4122
msgid ".rsrc merge failure: differing directory versions"
msgstr ""
#. Corrupted .rsrc section - cannot merge.
-#: peigen.c:4230 pepigen.c:4230 pex64igen.c:4230
+#: peigen.c:4239 pepigen.c:4239 pex64igen.c:4239
#, c-format
msgid "%pB: .rsrc merge failure: corrupt .rsrc section"
msgstr ""
-#: peigen.c:4238 pepigen.c:4238 pex64igen.c:4238
+#: peigen.c:4247 pepigen.c:4247 pex64igen.c:4247
#, c-format
msgid "%pB: .rsrc merge failure: unexpected .rsrc size"
msgstr ""
-#: peigen.c:4377 pepigen.c:4377 pex64igen.c:4377
+#: peigen.c:4386 pepigen.c:4386 pex64igen.c:4386
#, c-format
msgid "%pB: unable to fill in DataDictionary[1] because .idata$2 is missing"
msgstr ""
-#: peigen.c:4397 pepigen.c:4397 pex64igen.c:4397
+#: peigen.c:4406 pepigen.c:4406 pex64igen.c:4406
#, c-format
msgid "%pB: unable to fill in DataDictionary[1] because .idata$4 is missing"
msgstr ""
-#: peigen.c:4418 pepigen.c:4418 pex64igen.c:4418
+#: peigen.c:4427 pepigen.c:4427 pex64igen.c:4427
#, c-format
msgid "%pB: unable to fill in DataDictionary[12] because .idata$5 is missing"
msgstr ""
-#: peigen.c:4438 pepigen.c:4438 pex64igen.c:4438
+#: peigen.c:4447 pepigen.c:4447 pex64igen.c:4447
#, c-format
msgid ""
"%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because ."
"idata$6 is missing"
msgstr ""
-#: peigen.c:4480 pepigen.c:4480 pex64igen.c:4480
+#: peigen.c:4489 pepigen.c:4489 pex64igen.c:4489
#, c-format
msgid ""
"%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because ."
"idata$6 is missing"
msgstr ""
-#: peigen.c:4505 pepigen.c:4505 pex64igen.c:4505
+#: peigen.c:4514 pepigen.c:4514 pex64igen.c:4514
#, c-format
msgid "%pB: unable to fill in DataDictionary[9] because __tls_used is missing"
msgstr ""
diff --git a/bfd/targets.c b/bfd/targets.c
index e490f5f..230048a 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -734,6 +734,7 @@ extern const bfd_target nds32_elf32_be_vec;
extern const bfd_target nds32_elf32_le_vec;
extern const bfd_target nds32_elf32_linux_be_vec;
extern const bfd_target nds32_elf32_linux_le_vec;
+extern const bfd_target nfp_elf64_vec;
extern const bfd_target nios2_elf32_be_vec;
extern const bfd_target nios2_elf32_le_vec;
extern const bfd_target ns32k_aout_pc532mach_vec;
@@ -1107,6 +1108,8 @@ static const bfd_target * const _bfd_target_vector[] =
&nds32_elf32_linux_be_vec,
&nds32_elf32_linux_le_vec,
+ &nfp_elf64_vec,
+
&nios2_elf32_be_vec,
&nios2_elf32_le_vec,
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index ec97a0d..61bbd2f 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,16 @@
+2018-04-30 Francois H. Theron <francois.theron@netronome.com>
+
+ * readelf.c: Very basic support for EM_NFP and its section types.
+ * testsuite/binutils-all/nfp: New directory.
+ * testsuite/binutils-all/nfp/objdump.exp: New file. Run new
+ tests.
+ * testsuite/binutils-all/nfp/test2_ctx8.d: New file.
+ * testsuite/binutils-all/nfp/test2_no-pc_ctx4.d: New file.
+ * testsuite/binutils-all/nfp/test1.d: New file.
+ * testsuite/binutils-all/nfp/nfp6000.nffw: New file.
+ * testsuite/binutils-all/nfp/test2_nfp6000.nffw: New file.
+ * NEWS: Mention the new support.
+
2018-04-27 Maciej W. Rozycki <macro@mips.com>
* testsuite/lib/binutils-common.exp (match_target): New procedure.
diff --git a/binutils/NEWS b/binutils/NEWS
index c0fa05f..da841de 100644
--- a/binutils/NEWS
+++ b/binutils/NEWS
@@ -1,5 +1,7 @@
-*- text -*-
+* Add support for disassembling netronome Flow Processor (NFP) firmware files.
+
Changes in 2.30:
* Add --debug-dump=links option to readelf and --dwarf=links option to objdump
diff --git a/binutils/po/binutils.pot b/binutils/po/binutils.pot
index 29e3c92..de74776 100644
--- a/binutils/po/binutils.pot
+++ b/binutils/po/binutils.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2018-01-13 13:43+0000\n"
+"POT-Creation-Date: 2018-04-30 11:22+0100\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"
@@ -54,10 +54,10 @@ msgid ""
"\n"
msgstr ""
-#: addr2line.c:100 ar.c:336 ar.c:373 coffdump.c:473 dlltool.c:4006
-#: dllwrap.c:518 elfedit.c:677 nlmconv.c:1112 objcopy.c:658 objcopy.c:711
-#: readelf.c:4385 size.c:97 srconv.c:1706 strings.c:668 sysdump.c:648
-#: windmc.c:227 windres.c:688
+#: addr2line.c:100 ar.c:336 ar.c:373 coffdump.c:473 dlltool.c:3989
+#: dllwrap.c:518 elfedit.c:677 objcopy.c:658 objcopy.c:711 readelf.c:4440
+#: size.c:97 srconv.c:1706 strings.c:668 sysdump.c:648 windmc.c:227
+#: windres.c:688
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
@@ -93,7 +93,7 @@ msgstr ""
msgid "%s: cannot find section %s"
msgstr ""
-#: addr2line.c:465 nm.c:1683 objdump.c:3856
+#: addr2line.c:465 nm.c:1683 objdump.c:3886
#, c-format
msgid "unknown demangling style `%s'"
msgstr ""
@@ -394,7 +394,7 @@ msgstr ""
msgid "Cannot convert existing thin library %s to normal format"
msgstr ""
-#: ar.c:1000 ar.c:1064 ar.c:1394 objcopy.c:3288
+#: ar.c:1000 ar.c:1064 ar.c:1394 objcopy.c:3297
#, c-format
msgid "internal stat error on %s"
msgstr ""
@@ -404,7 +404,7 @@ msgstr ""
msgid "%s is not a valid archive"
msgstr ""
-#: ar.c:1056 objcopy.c:3252
+#: ar.c:1056 objcopy.c:3261
#, c-format
msgid "illegal pathname found in archive member: %s"
msgstr ""
@@ -688,7 +688,7 @@ msgstr ""
msgid "Symbol %s, tag %d, number %d"
msgstr ""
-#: coffdump.c:345 readelf.c:16221 readelf.c:16309
+#: coffdump.c:345 readelf.c:16292 readelf.c:16380
#, c-format
msgid "Type"
msgstr ""
@@ -1008,484 +1008,484 @@ msgstr ""
msgid "debug_write_type: illegal type encountered"
msgstr ""
-#: dlltool.c:916 dlltool.c:942 dlltool.c:973
+#: dlltool.c:901 dlltool.c:926 dlltool.c:956
#, c-format
msgid "Internal error: Unknown machine type: %d"
msgstr ""
-#: dlltool.c:1014
+#: dlltool.c:997
#, c-format
msgid "Can't open def file: %s"
msgstr ""
-#: dlltool.c:1019
+#: dlltool.c:1002
#, c-format
msgid "Processing def file: %s"
msgstr ""
-#: dlltool.c:1023
+#: dlltool.c:1006
msgid "Processed def file"
msgstr ""
-#: dlltool.c:1047
+#: dlltool.c:1030
#, c-format
msgid "Syntax error in def file %s:%d"
msgstr ""
-#: dlltool.c:1084
+#: dlltool.c:1067
#, c-format
msgid "%s: Path components stripped from image name, '%s'."
msgstr ""
-#: dlltool.c:1102
+#: dlltool.c:1085
#, c-format
msgid "NAME: %s base: %x"
msgstr ""
-#: dlltool.c:1105 dlltool.c:1126
+#: dlltool.c:1088 dlltool.c:1109
msgid "Can't have LIBRARY and NAME"
msgstr ""
-#: dlltool.c:1123
+#: dlltool.c:1106
#, c-format
msgid "LIBRARY: %s base: %x"
msgstr ""
-#: dlltool.c:1279
+#: dlltool.c:1262
#, c-format
msgid "VERSION %d.%d\n"
msgstr ""
-#: dlltool.c:1327
+#: dlltool.c:1310
#, c-format
msgid "run: %s %s"
msgstr ""
-#: dlltool.c:1368 resrc.c:288
+#: dlltool.c:1351 resrc.c:288
#, c-format
msgid "wait: %s"
msgstr ""
-#: dlltool.c:1373 dllwrap.c:416 resrc.c:293
+#: dlltool.c:1356 dllwrap.c:416 resrc.c:293
#, c-format
msgid "subprocess got fatal signal %d"
msgstr ""
-#: dlltool.c:1379 dllwrap.c:423 resrc.c:300
+#: dlltool.c:1362 dllwrap.c:423 resrc.c:300
#, c-format
msgid "%s exited with status %d"
msgstr ""
-#: dlltool.c:1410
+#: dlltool.c:1393
#, c-format
msgid "Sucking in info from %s section in %s"
msgstr ""
-#: dlltool.c:1550
+#: dlltool.c:1533
#, c-format
msgid "Excluding symbol: %s"
msgstr ""
-#: dlltool.c:1639 dlltool.c:1650 nm.c:1108 nm.c:1118 nm.c:1127
+#: dlltool.c:1622 dlltool.c:1633 nm.c:1108 nm.c:1118 nm.c:1127
#, c-format
msgid "%s: no symbols"
msgstr ""
#. FIXME: we ought to read in and block out the base relocations.
-#: dlltool.c:1676
+#: dlltool.c:1659
#, c-format
msgid "Done reading %s"
msgstr ""
-#: dlltool.c:1686
+#: dlltool.c:1669
#, c-format
msgid "Unable to open object file: %s: %s"
msgstr ""
-#: dlltool.c:1689
+#: dlltool.c:1672
#, c-format
msgid "Scanning object file %s"
msgstr ""
-#: dlltool.c:1709
+#: dlltool.c:1692
#, c-format
msgid "Cannot produce mcore-elf dll from archive file: %s"
msgstr ""
-#: dlltool.c:1811
+#: dlltool.c:1794
msgid "Adding exports to output file"
msgstr ""
-#: dlltool.c:1863
+#: dlltool.c:1846
msgid "Added exports to output file"
msgstr ""
-#: dlltool.c:2031
+#: dlltool.c:2014
#, c-format
msgid "Generating export file: %s"
msgstr ""
-#: dlltool.c:2036
+#: dlltool.c:2019
#, c-format
msgid "Unable to open temporary assembler file: %s"
msgstr ""
-#: dlltool.c:2041
+#: dlltool.c:2024
#, c-format
msgid "Opened temporary file: %s"
msgstr ""
-#: dlltool.c:2217
+#: dlltool.c:2200
msgid "failed to read the number of entries from base file"
msgstr ""
-#: dlltool.c:2268
+#: dlltool.c:2251
msgid "Generated exports file"
msgstr ""
-#: dlltool.c:2478
+#: dlltool.c:2461
#, c-format
msgid "bfd_open failed open stub file: %s: %s"
msgstr ""
-#: dlltool.c:2482
+#: dlltool.c:2465
#, c-format
msgid "Creating stub file: %s"
msgstr ""
-#: dlltool.c:2953
+#: dlltool.c:2936
#, c-format
msgid "bfd_open failed reopen stub file: %s: %s"
msgstr ""
-#: dlltool.c:2967 dlltool.c:3046
+#: dlltool.c:2950 dlltool.c:3029
#, c-format
msgid "failed to open temporary head file: %s"
msgstr ""
-#: dlltool.c:3031 dlltool.c:3117
+#: dlltool.c:3014 dlltool.c:3100
#, c-format
msgid "failed to open temporary head file: %s: %s"
msgstr ""
-#: dlltool.c:3132
+#: dlltool.c:3115
#, c-format
msgid "failed to open temporary tail file: %s"
msgstr ""
-#: dlltool.c:3191
+#: dlltool.c:3174
#, c-format
msgid "failed to open temporary tail file: %s: %s"
msgstr ""
-#: dlltool.c:3214
+#: dlltool.c:3197
#, c-format
msgid "Can't create .lib file: %s: %s"
msgstr ""
-#: dlltool.c:3218
+#: dlltool.c:3201
#, c-format
msgid "Creating library file: %s"
msgstr ""
-#: dlltool.c:3305 dlltool.c:3311
+#: dlltool.c:3288 dlltool.c:3294
#, c-format
msgid "cannot delete %s: %s"
msgstr ""
-#: dlltool.c:3317
+#: dlltool.c:3300
msgid "Created lib file"
msgstr ""
-#: dlltool.c:3529
+#: dlltool.c:3512
#, c-format
msgid "Can't open .lib file: %s: %s"
msgstr ""
-#: dlltool.c:3537 dlltool.c:3559
+#: dlltool.c:3520 dlltool.c:3542
#, c-format
msgid "%s is not a library"
msgstr ""
-#: dlltool.c:3577
+#: dlltool.c:3560
#, c-format
msgid "Import library `%s' specifies two or more dlls"
msgstr ""
-#: dlltool.c:3588
+#: dlltool.c:3571
#, c-format
msgid "Unable to determine dll name for `%s' (not an import library?)"
msgstr ""
-#: dlltool.c:3820
+#: dlltool.c:3803
#, c-format
msgid "Warning, ignoring duplicate EXPORT %s %d,%d"
msgstr ""
-#: dlltool.c:3826
+#: dlltool.c:3809
#, c-format
msgid "Error, duplicate EXPORT with ordinals: %s"
msgstr ""
-#: dlltool.c:3929
+#: dlltool.c:3912
msgid "Processing definitions"
msgstr ""
-#: dlltool.c:3956
+#: dlltool.c:3939
msgid "Processed definitions"
msgstr ""
#. xgetext:c-format
-#: dlltool.c:3963 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:3965
+#: dlltool.c:3948
#, c-format
msgid ""
" -m --machine <machine> Create as DLL for <machine>. [default: %s]\n"
msgstr ""
-#: dlltool.c:3966
+#: dlltool.c:3949
#, c-format
msgid ""
" possible <machine>: arm[_interwork], i386, mcore[-elf]{-le|-be}, "
"ppc, thumb\n"
msgstr ""
-#: dlltool.c:3967
+#: dlltool.c:3950
#, c-format
msgid " -e --output-exp <outname> Generate an export file.\n"
msgstr ""
-#: dlltool.c:3968
+#: dlltool.c:3951
#, c-format
msgid " -l --output-lib <outname> Generate an interface library.\n"
msgstr ""
-#: dlltool.c:3969
+#: dlltool.c:3952
#, c-format
msgid " -y --output-delaylib <outname> Create a delay-import library.\n"
msgstr ""
-#: dlltool.c:3970
+#: dlltool.c:3953
#, c-format
msgid " -a --add-indirect Add dll indirects to export file.\n"
msgstr ""
-#: dlltool.c:3971
+#: dlltool.c:3954
#, c-format
msgid ""
" -D --dllname <name> Name of input dll to put into interface lib.\n"
msgstr ""
-#: dlltool.c:3972
+#: dlltool.c:3955
#, c-format
msgid " -d --input-def <deffile> Name of .def file to be read in.\n"
msgstr ""
-#: dlltool.c:3973
+#: dlltool.c:3956
#, c-format
msgid " -z --output-def <deffile> Name of .def file to be created.\n"
msgstr ""
-#: dlltool.c:3974
+#: dlltool.c:3957
#, c-format
msgid " --export-all-symbols Export all symbols to .def\n"
msgstr ""
-#: dlltool.c:3975
+#: dlltool.c:3958
#, c-format
msgid " --no-export-all-symbols Only export listed symbols\n"
msgstr ""
-#: dlltool.c:3976
+#: dlltool.c:3959
#, c-format
msgid " --exclude-symbols <list> Don't export <list>\n"
msgstr ""
-#: dlltool.c:3977
+#: dlltool.c:3960
#, c-format
msgid " --no-default-excludes Clear default exclude symbols\n"
msgstr ""
-#: dlltool.c:3978
+#: dlltool.c:3961
#, c-format
msgid " -b --base-file <basefile> Read linker generated base file.\n"
msgstr ""
-#: dlltool.c:3979
+#: dlltool.c:3962
#, c-format
msgid " -x --no-idata4 Don't generate idata$4 section.\n"
msgstr ""
-#: dlltool.c:3980
+#: dlltool.c:3963
#, c-format
msgid " -c --no-idata5 Don't generate idata$5 section.\n"
msgstr ""
-#: dlltool.c:3981
+#: dlltool.c:3964
#, c-format
msgid ""
" --use-nul-prefixed-import-tables Use zero prefixed idata$4 and idata"
"$5.\n"
msgstr ""
-#: dlltool.c:3982
+#: dlltool.c:3965
#, c-format
msgid ""
" -U --add-underscore Add underscores to all symbols in interface "
"library.\n"
msgstr ""
-#: dlltool.c:3983
+#: dlltool.c:3966
#, c-format
msgid ""
" --add-stdcall-underscore Add underscores to stdcall symbols in "
"interface library.\n"
msgstr ""
-#: dlltool.c:3984
+#: dlltool.c:3967
#, c-format
msgid ""
" --no-leading-underscore All symbols shouldn't be prefixed by an "
"underscore.\n"
msgstr ""
-#: dlltool.c:3985
+#: dlltool.c:3968
#, c-format
msgid ""
" --leading-underscore All symbols should be prefixed by an "
"underscore.\n"
msgstr ""
-#: dlltool.c:3986
+#: dlltool.c:3969
#, c-format
msgid " -k --kill-at Kill @<n> from exported names.\n"
msgstr ""
-#: dlltool.c:3987
+#: dlltool.c:3970
#, c-format
msgid " -A --add-stdcall-alias Add aliases without @<n>.\n"
msgstr ""
-#: dlltool.c:3988
+#: dlltool.c:3971
#, c-format
msgid " -p --ext-prefix-alias <prefix> Add aliases with <prefix>.\n"
msgstr ""
-#: dlltool.c:3989
+#: dlltool.c:3972
#, c-format
msgid " -S --as <name> Use <name> for assembler.\n"
msgstr ""
-#: dlltool.c:3990
+#: dlltool.c:3973
#, c-format
msgid " -f --as-flags <flags> Pass <flags> to the assembler.\n"
msgstr ""
-#: dlltool.c:3991
+#: dlltool.c:3974
#, c-format
msgid ""
" -C --compat-implib Create backward compatible import library.\n"
msgstr ""
-#: dlltool.c:3992
+#: dlltool.c:3975
#, c-format
msgid ""
" -n --no-delete Keep temp files (repeat for extra "
"preservation).\n"
msgstr ""
-#: dlltool.c:3993
+#: dlltool.c:3976
#, c-format
msgid ""
" -t --temp-prefix <prefix> Use <prefix> to construct temp file names.\n"
msgstr ""
-#: dlltool.c:3994
+#: dlltool.c:3977
#, c-format
msgid ""
" -I --identify <implib> Report the name of the DLL associated with "
"<implib>.\n"
msgstr ""
-#: dlltool.c:3995
+#: dlltool.c:3978
#, c-format
msgid ""
" --identify-strict Causes --identify to report error when multiple "
"DLLs.\n"
msgstr ""
-#: dlltool.c:3996
+#: dlltool.c:3979
#, c-format
msgid " -v --verbose Be verbose.\n"
msgstr ""
-#: dlltool.c:3997
+#: dlltool.c:3980
#, c-format
msgid " -V --version Display the program version.\n"
msgstr ""
-#: dlltool.c:3998
+#: dlltool.c:3981
#, c-format
msgid " -h --help Display this information.\n"
msgstr ""
-#: dlltool.c:3999
+#: dlltool.c:3982
#, c-format
msgid " @<file> Read options from <file>.\n"
msgstr ""
-#: dlltool.c:4001
+#: dlltool.c:3984
#, c-format
msgid ""
" -M --mcore-elf <outname> Process mcore-elf object files into <outname>.\n"
msgstr ""
-#: dlltool.c:4002
+#: dlltool.c:3985
#, c-format
msgid " -L --linker <name> Use <name> as the linker.\n"
msgstr ""
-#: dlltool.c:4003
+#: dlltool.c:3986
#, c-format
msgid " -F --linker-flags <flags> Pass <flags> to the linker.\n"
msgstr ""
-#: dlltool.c:4149
+#: dlltool.c:4132
#, c-format
msgid "Unable to open def-file: %s"
msgstr ""
-#: dlltool.c:4154
+#: dlltool.c:4137
#, c-format
msgid "Path components stripped from dllname, '%s'."
msgstr ""
-#: dlltool.c:4202
+#: dlltool.c:4185
#, c-format
msgid "Unable to open base-file: %s"
msgstr ""
-#: dlltool.c:4237
+#: dlltool.c:4220
#, c-format
msgid "Machine '%s' not supported"
msgstr ""
-#: dlltool.c:4317
+#: dlltool.c:4300
#, c-format
msgid "Warning, machine type (%d) not supported for delayimport."
msgstr ""
-#: dlltool.c:4385 dllwrap.c:206
+#: dlltool.c:4368 dllwrap.c:206
#, c-format
msgid "Tried file: %s"
msgstr ""
-#: dlltool.c:4392 dllwrap.c:213
+#: dlltool.c:4375 dllwrap.c:213
#, c-format
msgid "Using file: %s"
msgstr ""
@@ -1764,7 +1764,10 @@ msgid ""
"Internal error: %s:%d: LEB value (%s) too large for containing variable\n"
msgstr ""
-#: dwarf.c:396
+#. 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
#, c-format
msgid "internal error: attempt to read %d byte of data in to %d sized variable"
msgid_plural ""
@@ -1772,52 +1775,52 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: dwarf.c:519 dwarf.c:4362
+#: dwarf.c:525 dwarf.c:4387
msgid "Badly formed extended line op encountered!\n"
msgstr ""
-#: dwarf.c:526
+#: dwarf.c:532
#, c-format
msgid " Extended opcode %d: "
msgstr ""
-#: dwarf.c:531
+#: dwarf.c:537
#, c-format
msgid ""
"End of Sequence\n"
"\n"
msgstr ""
-#: dwarf.c:539
+#: dwarf.c:545
#, c-format
msgid "Length (%d) of DW_LNE_set_address op is too long\n"
msgstr ""
-#: dwarf.c:545
+#: dwarf.c:551
#, c-format
msgid "set Address to 0x%s\n"
msgstr ""
-#: dwarf.c:552
+#: dwarf.c:558
#, c-format
msgid "define new File Table entry\n"
msgstr ""
-#: dwarf.c:553 dwarf.c:3651
+#: dwarf.c:559 dwarf.c:3676
#, c-format
msgid " Entry\tDir\tTime\tSize\tName\n"
msgstr ""
-#: dwarf.c:572
+#: dwarf.c:578
msgid "DW_LNE_define_file: Bad opcode length\n"
msgstr ""
-#: dwarf.c:576
+#: dwarf.c:582
#, c-format
msgid "set Discriminator to %s\n"
msgstr ""
-#: dwarf.c:651
+#: dwarf.c:657
#, c-format
msgid " UNKNOWN DW_LNE_HP_SFC opcode (%u)\n"
msgstr ""
@@ -1826,1364 +1829,1372 @@ msgstr ""
#. the limited range of the unsigned char data type used
#. for op_code.
#. && op_code <= DW_LNE_hi_user
-#: dwarf.c:668
+#: dwarf.c:674
#, c-format
msgid "user defined: "
msgstr ""
-#: dwarf.c:670
+#: dwarf.c:676
#, c-format
msgid "UNKNOWN: "
msgstr ""
-#: dwarf.c:671
+#: dwarf.c:677
#, c-format
msgid "length %d ["
msgstr ""
-#: dwarf.c:689 dwarf.c:765 dwarf.c:1703
+#: dwarf.c:695 dwarf.c:771 dwarf.c:1709
msgid "<no .debug_str section>"
msgstr ""
-#: dwarf.c:693
+#: dwarf.c:699
#, c-format
msgid "DW_FORM_strp offset too big: %s\n"
msgstr ""
-#: dwarf.c:695 dwarf.c:723 dwarf.c:1708
+#: dwarf.c:701 dwarf.c:729 dwarf.c:1714
msgid "<offset is too big>"
msgstr ""
-#: dwarf.c:705 dwarf.c:1717
+#: dwarf.c:711 dwarf.c:1723
msgid "<no NUL byte at end of .debug_str section>"
msgstr ""
-#: dwarf.c:717
+#: dwarf.c:723
msgid "<no .debug_line_str section>"
msgstr ""
-#: dwarf.c:721
+#: dwarf.c:727
#, c-format
msgid "DW_FORM_line_strp offset too big: %s\n"
msgstr ""
-#: dwarf.c:733
+#: dwarf.c:739
msgid "<no NUL byte at end of .debug_line_str section>"
msgstr ""
-#: dwarf.c:751
+#: dwarf.c:757
msgid "<no .debug_str_offsets.dwo section>"
msgstr ""
-#: dwarf.c:752
+#: dwarf.c:758
msgid "<no .debug_str_offsets section>"
msgstr ""
-#: dwarf.c:758
+#: dwarf.c:764
#, c-format
msgid "DW_FORM_GNU_str_index offset too big: %s\n"
msgstr ""
-#: dwarf.c:760
+#: dwarf.c:766
msgid "<index offset is too big>"
msgstr ""
-#: dwarf.c:764
+#: dwarf.c:770
msgid "<no .debug_str.dwo section>"
msgstr ""
-#: dwarf.c:771
+#: dwarf.c:777
#, c-format
msgid "DW_FORM_GNU_str_index indirect offset too big: %s\n"
msgstr ""
-#: dwarf.c:773
+#: dwarf.c:779
msgid "<indirect index offset is too big>"
msgstr ""
-#: dwarf.c:782
+#: dwarf.c:788
msgid "<no NUL byte at end of section>"
msgstr ""
-#: dwarf.c:793
+#: dwarf.c:799
msgid "<no .debug_addr section>"
msgstr ""
-#: dwarf.c:797
+#: dwarf.c:803
#, c-format
msgid "Offset into section %s too big: %s\n"
msgstr ""
#. Report the missing single zero which ends the section.
-#: dwarf.c:975
+#: dwarf.c:981
msgid ".debug_abbrev section not zero terminated\n"
msgstr ""
-#: dwarf.c:990
+#: dwarf.c:996
#, c-format
msgid "User TAG value: %#lx"
msgstr ""
-#: dwarf.c:992
+#: dwarf.c:998
#, c-format
msgid "Unknown TAG value: %#lx"
msgstr ""
-#: dwarf.c:1012
+#: dwarf.c:1018
#, c-format
msgid "Unknown FORM value: %lx"
msgstr ""
-#: dwarf.c:1028
+#: dwarf.c:1034
#, c-format
msgid "Unknown IDX value: %lx"
msgstr ""
-#: dwarf.c:1042
+#: dwarf.c:1048
#, c-format
msgid "%c%s byte block: "
msgstr ""
-#: dwarf.c:1396
+#: dwarf.c:1402
#, c-format
msgid "(DW_OP_call_ref in frame info)"
msgstr ""
-#: dwarf.c:1418
+#: dwarf.c:1424
#, c-format
msgid "size: %s "
msgstr ""
-#: dwarf.c:1421
+#: dwarf.c:1427
#, c-format
msgid "offset: %s "
msgstr ""
-#: dwarf.c:1440
+#: dwarf.c:1446
#, c-format
msgid "DW_OP_GNU_push_tls_address or DW_OP_HP_unknown"
msgstr ""
-#: dwarf.c:1465
+#: dwarf.c:1471
#, c-format
msgid "(%s in frame info)"
msgstr ""
-#: dwarf.c:1611
+#: dwarf.c:1617
#, c-format
msgid "(User defined location op 0x%x)"
msgstr ""
-#: dwarf.c:1613
+#: dwarf.c:1619
#, c-format
msgid "(Unknown location op 0x%x)"
msgstr ""
-#: dwarf.c:1696
+#: dwarf.c:1702
msgid "<following link not possible>"
msgstr ""
-#: dwarf.c:1699
+#: dwarf.c:1705
msgid "<could not load separate string section>"
msgstr ""
-#: dwarf.c:1707
+#: dwarf.c:1713
#, c-format
msgid "DW_FORM_GNU_strp_alt offset too big: %s\n"
msgstr ""
-#: dwarf.c:1740
+#: dwarf.c:1746
#, c-format
msgid "Unknown AT value: %lx"
msgstr ""
-#: dwarf.c:1771
+#: dwarf.c:1777
msgid "Corrupt attribute\n"
msgstr ""
-#: dwarf.c:1786
+#: dwarf.c:1792
msgid "Internal error: DWARF version is not 2, 3 or 4.\n"
msgstr ""
-#: dwarf.c:1924
+#: dwarf.c:1930
msgid "DW_FORM_data8 is unsupported when sizeof (dwarf_vma) != 8\n"
msgstr ""
-#: dwarf.c:1968 dwarf.c:1993 dwarf.c:2014 dwarf.c:2036
+#: dwarf.c:1974 dwarf.c:1999 dwarf.c:2020 dwarf.c:2042
msgid "Block ends prematurely\n"
msgstr ""
-#: dwarf.c:1979 dwarf.c:2000 dwarf.c:2021 dwarf.c:2045
+#: dwarf.c:1985 dwarf.c:2006 dwarf.c:2027 dwarf.c:2051
#, c-format
msgid "Corrupt attribute block length: %lx\n"
msgstr ""
-#: dwarf.c:2056
+#: dwarf.c:2062
#, c-format
msgid "%c(indirect string, offset: 0x%s): %s"
msgstr ""
-#: dwarf.c:2063
+#: dwarf.c:2069
#, c-format
msgid "%c(indirect line string, offset: 0x%s): %s"
msgstr ""
-#: dwarf.c:2074
+#: dwarf.c:2080
#, c-format
msgid "%c(indexed string: 0x%s): %s"
msgstr ""
-#: dwarf.c:2083
+#: dwarf.c:2089
#, c-format
msgid "%c(alt indirect string, offset: 0x%s) %s"
msgstr ""
-#: dwarf.c:2108
+#: dwarf.c:2114
#, c-format
msgid "%c(addr_index: 0x%s): %s"
msgstr ""
-#: dwarf.c:2114
+#: dwarf.c:2120
#, c-format
msgid "Unrecognized form: %lu\n"
msgstr ""
-#: dwarf.c:2238 dwarf.c:2263 dwarf.c:2279
+#: dwarf.c:2181
+msgid "More location offset attributes than DW_AT_GNU_locview attributes\n"
+msgstr ""
+
+#: dwarf.c:2193
+msgid "More DW_AT_GNU_locview attributes than location offset attributes\n"
+msgstr ""
+
+#: dwarf.c:2253 dwarf.c:2278 dwarf.c:2294
#, c-format
msgid "Unsupported form (%s) for attribute %s\n"
msgstr ""
-#: dwarf.c:2240 dwarf.c:2265 dwarf.c:4284 dwarf.c:4594 readelf.c:5738
-#: readelf.c:5813 readelf.c:5831 readelf.c:5849 readelf.c:10236 readelf.c:10868
-#: readelf.c:15349 readelf.c:15381
+#: dwarf.c:2255 dwarf.c:2280 dwarf.c:4309 dwarf.c:4619 readelf.c:5793
+#: readelf.c:5868 readelf.c:5886 readelf.c:5904 readelf.c:10306 readelf.c:10938
+#: readelf.c:15420 readelf.c:15452
msgid "<unknown>"
msgstr ""
-#: dwarf.c:2302
+#: dwarf.c:2317
#, c-format
msgid "(not inlined)"
msgstr ""
-#: dwarf.c:2305
+#: dwarf.c:2320
#, c-format
msgid "(inlined)"
msgstr ""
-#: dwarf.c:2308
+#: dwarf.c:2323
#, c-format
msgid "(declared as inline but ignored)"
msgstr ""
-#: dwarf.c:2311
+#: dwarf.c:2326
#, c-format
msgid "(declared as inline and inlined)"
msgstr ""
-#: dwarf.c:2314
+#: dwarf.c:2329
#, c-format
msgid " (Unknown inline attribute value: %s)"
msgstr ""
-#: dwarf.c:2361
+#: dwarf.c:2386
#, c-format
msgid "(implementation defined: %s)"
msgstr ""
-#: dwarf.c:2364
+#: dwarf.c:2389
#, c-format
msgid "(Unknown: %s)"
msgstr ""
-#: dwarf.c:2409
+#: dwarf.c:2434
#, c-format
msgid "(user defined type)"
msgstr ""
-#: dwarf.c:2411
+#: dwarf.c:2436
#, c-format
msgid "(unknown type)"
msgstr ""
-#: dwarf.c:2424
+#: dwarf.c:2449
#, c-format
msgid "(unknown accessibility)"
msgstr ""
-#: dwarf.c:2436
+#: dwarf.c:2461
#, c-format
msgid "(unknown visibility)"
msgstr ""
-#: dwarf.c:2449
+#: dwarf.c:2474
#, c-format
msgid "(user specified)"
msgstr ""
-#: dwarf.c:2451
+#: dwarf.c:2476
#, c-format
msgid "(unknown endianity)"
msgstr ""
-#: dwarf.c:2463
+#: dwarf.c:2488
#, c-format
msgid "(unknown virtuality)"
msgstr ""
-#: dwarf.c:2475
+#: dwarf.c:2500
#, c-format
msgid "(unknown case)"
msgstr ""
-#: dwarf.c:2493
+#: dwarf.c:2518
#, c-format
msgid "(user defined)"
msgstr ""
-#: dwarf.c:2495
+#: dwarf.c:2520
#, c-format
msgid "(unknown convention)"
msgstr ""
-#: dwarf.c:2504
+#: dwarf.c:2529
#, c-format
msgid "(undefined)"
msgstr ""
-#: dwarf.c:2514
+#: dwarf.c:2539
#, c-format
msgid "(unsigned)"
msgstr ""
-#: dwarf.c:2515
+#: dwarf.c:2540
#, c-format
msgid "(leading overpunch)"
msgstr ""
-#: dwarf.c:2516
+#: dwarf.c:2541
#, c-format
msgid "(trailing overpunch)"
msgstr ""
-#: dwarf.c:2517
+#: dwarf.c:2542
#, c-format
msgid "(leading separate)"
msgstr ""
-#: dwarf.c:2518
+#: dwarf.c:2543
#, c-format
msgid "(trailing separate)"
msgstr ""
-#: dwarf.c:2519 dwarf.c:2530 dwarf.c:2540
+#: dwarf.c:2544 dwarf.c:2555 dwarf.c:2565
#, c-format
msgid "(unrecognised)"
msgstr ""
-#: dwarf.c:2527
+#: dwarf.c:2552
#, c-format
msgid "(no)"
msgstr ""
-#: dwarf.c:2528
+#: dwarf.c:2553
#, c-format
msgid "(in class)"
msgstr ""
-#: dwarf.c:2529
+#: dwarf.c:2554
#, c-format
msgid "(out of class)"
msgstr ""
-#: dwarf.c:2538
+#: dwarf.c:2563
#, c-format
msgid "(label)"
msgstr ""
-#: dwarf.c:2539
+#: dwarf.c:2564
#, c-format
msgid "(range)"
msgstr ""
-#: dwarf.c:2566
+#: dwarf.c:2591
#, c-format
msgid " (location list)"
msgstr ""
-#: dwarf.c:2587 dwarf.c:5551 dwarf.c:5708 dwarf.c:5890
+#: dwarf.c:2612 dwarf.c:5576 dwarf.c:5733 dwarf.c:5915
#, c-format
msgid " [without DW_AT_frame_base]"
msgstr ""
-#: dwarf.c:2620
+#: dwarf.c:2645
#, 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:2630
+#: dwarf.c:2655
#, c-format
msgid "\t[Abbrev Number: %ld"
msgstr ""
-#: dwarf.c:2715
+#: dwarf.c:2740
#, c-format
msgid ""
"Raw dump of debug contents of section %s (loaded from %s):\n"
"\n"
msgstr ""
-#: dwarf.c:2718
+#: dwarf.c:2743
#, c-format
msgid ""
"Raw dump of debug contents of section %s:\n"
"\n"
msgstr ""
-#: dwarf.c:2723
+#: dwarf.c:2748
#, c-format
msgid ""
"Contents of the %s section (loaded from %s):\n"
"\n"
msgstr ""
-#: dwarf.c:2726
+#: dwarf.c:2751
#, c-format
msgid ""
"Contents of the %s section:\n"
"\n"
msgstr ""
-#: dwarf.c:2775
+#: dwarf.c:2800
#, c-format
msgid "Reserved length value (0x%s) found in section %s\n"
msgstr ""
-#: dwarf.c:2787
+#: dwarf.c:2812
#, c-format
msgid "Corrupt unit length (0x%s) found in section %s\n"
msgstr ""
-#: dwarf.c:2795
+#: dwarf.c:2820
#, c-format
msgid "No comp units in %s section ?\n"
msgstr ""
-#: dwarf.c:2804
+#: dwarf.c:2829
#, c-format
msgid "Not enough memory for a debug info array of %u entries\n"
msgstr ""
-#: dwarf.c:2833
+#: dwarf.c:2858
#, c-format
msgid "Unable to locate %s section!\n"
msgstr ""
-#: dwarf.c:2913
+#: dwarf.c:2938
#, c-format
msgid "Invalid pointer size (%d) in compunit header, using %d instead\n"
msgstr ""
-#: dwarf.c:2956
+#: dwarf.c:2981
#, c-format
msgid " Compilation Unit @ offset 0x%s:\n"
msgstr ""
-#: dwarf.c:2958
+#: dwarf.c:2983
#, c-format
msgid " Length: 0x%s (%s)\n"
msgstr ""
-#: dwarf.c:2961
+#: dwarf.c:2986
#, c-format
msgid " Version: %d\n"
msgstr ""
-#: dwarf.c:2962
+#: dwarf.c:2987
#, c-format
msgid " Abbrev Offset: 0x%s\n"
msgstr ""
-#: dwarf.c:2964
+#: dwarf.c:2989
#, c-format
msgid " Pointer Size: %d\n"
msgstr ""
-#: dwarf.c:2969
+#: dwarf.c:2994
#, c-format
msgid " Signature: 0x%s\n"
msgstr ""
-#: dwarf.c:2972
+#: dwarf.c:2997
#, c-format
msgid " Type Offset: 0x%s\n"
msgstr ""
-#: dwarf.c:2980
+#: dwarf.c:3005
#, c-format
msgid " Section contributions:\n"
msgstr ""
-#: dwarf.c:2981
+#: dwarf.c:3006
#, c-format
msgid " .debug_abbrev.dwo: 0x%s 0x%s\n"
msgstr ""
-#: dwarf.c:2984
+#: dwarf.c:3009
#, c-format
msgid " .debug_line.dwo: 0x%s 0x%s\n"
msgstr ""
-#: dwarf.c:2987
+#: dwarf.c:3012
#, c-format
msgid " .debug_loc.dwo: 0x%s 0x%s\n"
msgstr ""
-#: dwarf.c:2990
+#: dwarf.c:3015
#, c-format
msgid " .debug_str_offsets.dwo: 0x%s 0x%s\n"
msgstr ""
-#: dwarf.c:3000 dwarf.c:4768 dwarf.c:6316 dwarf.c:8348
+#: dwarf.c:3025 dwarf.c:4793 dwarf.c:6341 dwarf.c:8407
#, c-format
msgid "Debug info is corrupted, %s header at %#lx has length %s\n"
msgstr ""
-#: dwarf.c:3013
+#: dwarf.c:3038
#, c-format
msgid "CU at offset %s contains corrupt or unsupported version number: %d.\n"
msgstr ""
-#: dwarf.c:3022
+#: dwarf.c:3047
#, c-format
msgid "CU at offset %s contains corrupt or unsupported unit type: %d.\n"
msgstr ""
-#: dwarf.c:3032
+#: dwarf.c:3057
#, c-format
msgid ""
"Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section "
"size (%lx)\n"
msgstr ""
-#: dwarf.c:3038
+#: dwarf.c:3063
#, c-format
msgid ""
"Debug info is corrupted, abbrev size (%lx) is larger than abbrev section "
"size (%lx)\n"
msgstr ""
-#: dwarf.c:3084
+#: dwarf.c:3109
#, c-format
msgid " <%d><%lx>: Abbrev Number: 0\n"
msgstr ""
-#: dwarf.c:3094
+#: dwarf.c:3119
#, c-format
msgid "Bogus end-of-siblings marker detected at offset %lx in %s section\n"
msgstr ""
-#: dwarf.c:3098
+#: dwarf.c:3123
msgid "Further warnings about bogus end-of-sibling markers suppressed\n"
msgstr ""
-#: dwarf.c:3117
+#: dwarf.c:3142
#, c-format
msgid " <%d><%lx>: Abbrev Number: %lu"
msgstr ""
-#: dwarf.c:3121
+#: dwarf.c:3146
#, c-format
msgid " <%d><%lx>: ...\n"
msgstr ""
-#: dwarf.c:3140
+#: dwarf.c:3165
#, c-format
msgid ""
"DIE at offset 0x%lx refers to abbreviation number %lu which does not exist\n"
msgstr ""
-#: dwarf.c:3213
+#: dwarf.c:3238
msgid "DIE has locviews without loclist\n"
msgstr ""
-#: dwarf.c:3328
+#: dwarf.c:3353
#, c-format
msgid ""
"The length field (0x%lx) in the debug_line header is wrong - the section is "
"too small\n"
msgstr ""
-#: dwarf.c:3342
+#: dwarf.c:3367
msgid "Only DWARF version 2, 3, 4 and 5 line info is currently supported.\n"
msgstr ""
-#: dwarf.c:3354 dwarf.c:5983 dwarf.c:6728
+#: dwarf.c:3379 dwarf.c:6008 dwarf.c:6754
#, c-format
msgid "The %s section contains unsupported segment selector size: %d.\n"
msgstr ""
-#: dwarf.c:3371
+#: dwarf.c:3396
msgid "Invalid maximum operations per insn.\n"
msgstr ""
-#: dwarf.c:3387
+#: dwarf.c:3412
#, c-format
msgid "Line length %s extends beyond end of section\n"
msgstr ""
-#: dwarf.c:3418
+#: dwarf.c:3443
#, c-format
msgid "Corrupt %s format table entry\n"
msgstr ""
-#: dwarf.c:3427
+#: dwarf.c:3452
#, c-format
msgid "Corrupt %s list\n"
msgstr ""
-#: dwarf.c:3433
+#: dwarf.c:3458
#, c-format
msgid ""
"\n"
" The %s Table is empty.\n"
msgstr ""
-#: dwarf.c:3437
+#: dwarf.c:3462
#, c-format
msgid ""
"\n"
" The %s Table (offset 0x%lx):\n"
msgstr ""
-#: dwarf.c:3440
+#: dwarf.c:3465
#, c-format
msgid " Entry"
msgstr ""
-#: dwarf.c:3455
+#: dwarf.c:3480
#, c-format
msgid "\tName"
msgstr ""
-#: dwarf.c:3458
+#: dwarf.c:3483
#, c-format
msgid "\tDir"
msgstr ""
-#: dwarf.c:3461
+#: dwarf.c:3486
#, c-format
msgid "\tTime"
msgstr ""
-#: dwarf.c:3464
+#: dwarf.c:3489
#, c-format
msgid "\tSize"
msgstr ""
-#: dwarf.c:3467
+#: dwarf.c:3492
#, c-format
msgid "\tMD5"
msgstr ""
-#: dwarf.c:3470
+#: dwarf.c:3495
#, c-format
msgid "\t(Unknown format content type %s)"
msgstr ""
-#: dwarf.c:3506
+#: dwarf.c:3531
#, c-format
msgid "Corrupt %s entries list\n"
msgstr ""
-#: dwarf.c:3554 dwarf.c:3970
+#: dwarf.c:3579 dwarf.c:3995
msgid ""
"Partial .debug_line. section encountered without a prior full .debug_line "
"section\n"
msgstr ""
-#: dwarf.c:3567 dwarf.c:5086
+#: dwarf.c:3592 dwarf.c:5111
#, c-format
msgid " Offset: 0x%lx\n"
msgstr ""
-#: dwarf.c:3568
+#: dwarf.c:3593
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: dwarf.c:3569
+#: dwarf.c:3594
#, c-format
msgid " DWARF Version: %d\n"
msgstr ""
-#: dwarf.c:3570
+#: dwarf.c:3595
#, c-format
msgid " Prologue Length: %d\n"
msgstr ""
-#: dwarf.c:3571
+#: dwarf.c:3596
#, c-format
msgid " Minimum Instruction Length: %d\n"
msgstr ""
-#: dwarf.c:3573
+#: dwarf.c:3598
#, c-format
msgid " Maximum Ops per Instruction: %d\n"
msgstr ""
-#: dwarf.c:3574
+#: dwarf.c:3599
#, c-format
msgid " Initial value of 'is_stmt': %d\n"
msgstr ""
-#: dwarf.c:3575
+#: dwarf.c:3600
#, c-format
msgid " Line Base: %d\n"
msgstr ""
-#: dwarf.c:3576
+#: dwarf.c:3601
#, c-format
msgid " Line Range: %d\n"
msgstr ""
-#: dwarf.c:3577
+#: dwarf.c:3602
#, c-format
msgid " Opcode Base: %d\n"
msgstr ""
-#: dwarf.c:3582 dwarf.c:3986
+#: dwarf.c:3607 dwarf.c:4011
msgid "Line range of 0 is invalid, using 1 instead\n"
msgstr ""
-#: dwarf.c:3594
+#: dwarf.c:3619
msgid "Line Base extends beyond end of section\n"
msgstr ""
-#: dwarf.c:3598
+#: dwarf.c:3623
#, c-format
msgid ""
"\n"
" Opcodes:\n"
msgstr ""
-#: dwarf.c:3601
+#: dwarf.c:3626
#, c-format
msgid " Opcode %d has %d arg\n"
msgid_plural " Opcode %d has %d args\n"
msgstr[0] ""
msgstr[1] ""
-#: dwarf.c:3614
+#: dwarf.c:3639
msgid "Directory"
msgstr ""
-#: dwarf.c:3616
+#: dwarf.c:3641
msgid "File name"
msgstr ""
-#: dwarf.c:3621
+#: dwarf.c:3646
#, c-format
msgid ""
"\n"
" The Directory Table is empty.\n"
msgstr ""
-#: dwarf.c:3626
+#: dwarf.c:3651
#, c-format
msgid ""
"\n"
" The Directory Table (offset 0x%lx):\n"
msgstr ""
-#: dwarf.c:3646
+#: dwarf.c:3671
#, c-format
msgid ""
"\n"
" The File Name Table is empty.\n"
msgstr ""
-#: dwarf.c:3649
+#: dwarf.c:3674
#, c-format
msgid ""
"\n"
" The File Name Table (offset 0x%lx):\n"
msgstr ""
-#: dwarf.c:3675
+#: dwarf.c:3700
msgid "Corrupt file name table entry\n"
msgstr ""
-#: dwarf.c:3691
+#: dwarf.c:3716
#, c-format
msgid " No Line Number Statements.\n"
msgstr ""
-#: dwarf.c:3694
+#: dwarf.c:3719
#, c-format
msgid " Line Number Statements:\n"
msgstr ""
-#: dwarf.c:3717
+#: dwarf.c:3742
#, c-format
msgid " Special opcode %d: advance Address by %s to 0x%s%s"
msgstr ""
-#: dwarf.c:3722 dwarf.c:3743 dwarf.c:3783 dwarf.c:3803 dwarf.c:3856
-#: dwarf.c:3876
+#: dwarf.c:3747 dwarf.c:3768 dwarf.c:3808 dwarf.c:3828 dwarf.c:3881
+#: dwarf.c:3901
msgid " (reset view)"
msgstr ""
-#: dwarf.c:3737
+#: dwarf.c:3762
#, c-format
msgid " Special opcode %d: advance Address by %s to 0x%s[%d]%s"
msgstr ""
-#: dwarf.c:3747
+#: dwarf.c:3772
#, c-format
msgid " and Line by %s to %d"
msgstr ""
-#: dwarf.c:3750 dwarf.c:3764
+#: dwarf.c:3775 dwarf.c:3789
#, c-format
msgid " (view %u)\n"
msgstr ""
-#: dwarf.c:3762
+#: dwarf.c:3787
#, c-format
msgid " Copy"
msgstr ""
-#: dwarf.c:3779
+#: dwarf.c:3804
#, c-format
msgid " Advance PC by %s to 0x%s%s\n"
msgstr ""
-#: dwarf.c:3798
+#: dwarf.c:3823
#, c-format
msgid " Advance PC by %s to 0x%s[%d]%s\n"
msgstr ""
-#: dwarf.c:3811
+#: dwarf.c:3836
#, c-format
msgid " Advance Line by %s to %d\n"
msgstr ""
-#: dwarf.c:3819
+#: dwarf.c:3844
#, c-format
msgid " Set File Name to entry %s in the File Name Table\n"
msgstr ""
-#: dwarf.c:3827
+#: dwarf.c:3852
#, c-format
msgid " Set column to %s\n"
msgstr ""
-#: dwarf.c:3835
+#: dwarf.c:3860
#, c-format
msgid " Set is_stmt to %s\n"
msgstr ""
-#: dwarf.c:3840
+#: dwarf.c:3865
#, c-format
msgid " Set basic block\n"
msgstr ""
-#: dwarf.c:3852
+#: dwarf.c:3877
#, c-format
msgid " Advance PC by constant %s to 0x%s%s\n"
msgstr ""
-#: dwarf.c:3871
+#: dwarf.c:3896
#, c-format
msgid " Advance PC by constant %s to 0x%s[%d]%s\n"
msgstr ""
-#: dwarf.c:3884
+#: dwarf.c:3909
#, c-format
msgid " Advance PC by fixed size amount %s to 0x%s\n"
msgstr ""
-#: dwarf.c:3891
+#: dwarf.c:3916
#, c-format
msgid " Set prologue_end to true\n"
msgstr ""
-#: dwarf.c:3895
+#: dwarf.c:3920
#, c-format
msgid " Set epilogue_begin to true\n"
msgstr ""
-#: dwarf.c:3901
+#: dwarf.c:3926
#, c-format
msgid " Set ISA to %s\n"
msgstr ""
-#: dwarf.c:3905 dwarf.c:4557
+#: dwarf.c:3930 dwarf.c:4582
#, c-format
msgid " Unknown opcode %d with operands: "
msgstr ""
-#: dwarf.c:3999
+#: dwarf.c:4024
#, c-format
msgid "opcode base of %d extends beyond end of section\n"
msgstr ""
-#: dwarf.c:4027 dwarf.c:4050 dwarf.c:4080
+#: dwarf.c:4052 dwarf.c:4075 dwarf.c:4105
msgid "Corrupt directories list\n"
msgstr ""
-#: dwarf.c:4100 dwarf.c:4123 dwarf.c:4170
+#: dwarf.c:4125 dwarf.c:4148 dwarf.c:4195
msgid "Corrupt file name list\n"
msgstr ""
-#: dwarf.c:4190
+#: dwarf.c:4215
msgid "directory table ends unexpectedly\n"
msgstr ""
-#: dwarf.c:4235
+#: dwarf.c:4260
msgid "file table ends unexpectedly\n"
msgstr ""
-#: dwarf.c:4274
+#: dwarf.c:4299
#, c-format
msgid "CU: %s:\n"
msgstr ""
-#: dwarf.c:4287 dwarf.c:4485
+#: dwarf.c:4312 dwarf.c:4510
#, c-format
msgid "directory index %u > number of directories %s\n"
msgstr ""
-#: dwarf.c:4289 dwarf.c:4588 elfcomm.c:891 readelf.c:306 readelf.c:646
-#: readelf.c:6732 readelf.c:7283 readelf.c:9247 readelf.c:11252 readelf.c:11319
-#: readelf.c:11662 readelf.c:14287 readelf.c:14382 readelf.c:14964
-#: readelf.c:14983 readelf.c:15107 readelf.c:15358 readelf.c:16464
-#: readelf.c:16467
+#: dwarf.c:4314 dwarf.c:4613 elfcomm.c:891 readelf.c:307 readelf.c:648
+#: readelf.c:6787 readelf.c:7338 readelf.c:9302 readelf.c:11322 readelf.c:11389
+#: readelf.c:11732 readelf.c:14358 readelf.c:14453 readelf.c:15035
+#: readelf.c:15054 readelf.c:15178 readelf.c:15429 readelf.c:16535
+#: readelf.c:16538
#, c-format
msgid "<corrupt>"
msgstr ""
-#: dwarf.c:4295
+#: dwarf.c:4320
#, c-format
msgid "CU: %s/%s:\n"
msgstr ""
-#: dwarf.c:4300
+#: dwarf.c:4325
#, c-format
msgid ""
"File name Line number Starting address "
"View\n"
msgstr ""
-#: dwarf.c:4416
+#: dwarf.c:4441
#, c-format
msgid "UNKNOWN (%u): length %d\n"
msgstr ""
-#: dwarf.c:4469
+#: dwarf.c:4494
#, c-format
msgid ""
"\n"
" [Use file table entry %d]\n"
msgstr ""
-#: dwarf.c:4473
+#: dwarf.c:4498
#, c-format
msgid "file index %u > number of files %u\n"
msgstr ""
-#: dwarf.c:4474
+#: dwarf.c:4499
#, c-format
msgid ""
"\n"
" <over large file table index %u>"
msgstr ""
-#: dwarf.c:4480
+#: dwarf.c:4505
#, c-format
msgid ""
"\n"
" [Use file %s in directory table entry %d]\n"
msgstr ""
-#: dwarf.c:4487
+#: dwarf.c:4512
#, c-format
msgid ""
"\n"
" <over large directory table entry %u>\n"
msgstr ""
-#: dwarf.c:4553
+#: dwarf.c:4578
#, c-format
msgid " Set ISA to %lu\n"
msgstr ""
-#: dwarf.c:4587
+#: dwarf.c:4612
#, c-format
msgid "corrupt file index %u encountered\n"
msgstr ""
-#: dwarf.c:4717
+#: dwarf.c:4742
msgid "no info"
msgstr ""
-#: dwarf.c:4718
+#: dwarf.c:4743
msgid "type"
msgstr ""
-#: dwarf.c:4719
+#: dwarf.c:4744
msgid "variable"
msgstr ""
-#: dwarf.c:4720
+#: dwarf.c:4745
msgid "function"
msgstr ""
-#: dwarf.c:4721
+#: dwarf.c:4746
msgid "other"
msgstr ""
-#: dwarf.c:4722
+#: dwarf.c:4747
msgid "unused5"
msgstr ""
-#: dwarf.c:4723
+#: dwarf.c:4748
msgid "unused6"
msgstr ""
-#: dwarf.c:4724
+#: dwarf.c:4749
msgid "unused7"
msgstr ""
-#: dwarf.c:4784 dwarf.c:6329
+#: dwarf.c:4809 dwarf.c:6354
#, c-format
msgid ""
".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"
msgstr ""
-#: dwarf.c:4789
+#: dwarf.c:4814
[...]
[diff truncated at 100000 bytes]
More information about the Binutils-cvs
mailing list