public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] [PATCH v2 0/9] RISC-V: Support version controling for ISA standard extensions and CSR
@ 2020-05-20 16:26 Nick Clifton
0 siblings, 0 replies; only message in thread
From: Nick Clifton @ 2020-05-20 16:26 UTC (permalink / raw)
To: bfd-cvs, gdb-cvs
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8f595e9b4fd0a3a74d53ddffd69f2825627ae5c6
commit 8f595e9b4fd0a3a74d53ddffd69f2825627ae5c6
Author: Nelson Chu <nelson.chu@sifive.com>
Date: Wed May 20 17:22:48 2020 +0100
[PATCH v2 0/9] RISC-V: Support version controling for ISA standard extensions and CSR
1. Remove the -mriscv-isa-version and --with-riscv-isa-version options.
We can still use -march to choose the version for each extensions, so there is
no need to add these.
2. Change the arguments of options from [1p9|1p9p1|...] to [1.9|1.9.1|...].
Unlike the architecture string has specified by spec, ther is no need to do
the same thing for options.
3. Spilt the patches to reduce the burdens of review.
[PATCH 3/7] RISC-V: Support new GAS options and configure options to set ISA versions
to
[PATCH v2 3/9] RISC-V: Support GAS option -misa-spec to set ISA versions
[PATCH v2 4/9] RISC-V: Support configure options to set ISA versions by default.
[PATCH 4/7] RISC-V: Support version checking for CSR according to privilege version.
to
[PATCH v2 5/9] RISC-V: Support version checking for CSR according to privilege spec version.
[PATCH v2 6/9] RISC-V: Support configure option to choose the privilege spec version.
4. Use enum class rather than string to compare the choosen ISA spec in opcodes/riscv-opc.c.
The behavior is same as comparing the choosen privilege spec.
include * opcode/riscv.h: Include "bfd.h" to support bfd_boolean.
(enum riscv_isa_spec_class): New enum class. All supported ISA spec
belong to one of the class
(struct riscv_ext_version): New structure holds version information
for the specific ISA.
* opcode/riscv-opc.h (DECLARE_CSR): There are two version information,
define_version and abort_version. The define_version means which
privilege spec is started to define the CSR, and the abort_version
means which privilege spec is started to abort the CSR. If the CSR is
valid for the newest spec, then the abort_version should be
PRIV_SPEC_CLASS_DRAFT.
(DECLARE_CSR_ALIAS): Same as DECLARE_CSR, but only for the obselete CSR.
* opcode/riscv.h (enum riscv_priv_spec_class): New enum class. Define
the current supported privilege spec versions.
(struct riscv_csr_extra): Add new fields to store more information
about the CSR. We use these information to find the suitable CSR
address when user choosing a specific privilege spec.
binutils * dwarf.c: Updated since DECLARE_CSR is changed.
opcodes * riscv-opc.c (riscv_ext_version_table): The table used to store
all information about the supported spec and the corresponding ISA
versions. Currently, only Zicsr is supported to verify the
correctness of Z sub extension settings. Others will be supported
in the future patches.
(struct isa_spec_t, isa_specs): List for all supported ISA spec
classes and the corresponding strings.
(riscv_get_isa_spec_class): New function. Get the corresponding ISA
spec class by giving a ISA spec string.
* riscv-opc.c (struct priv_spec_t): New structure.
(struct priv_spec_t priv_specs): List for all supported privilege spec
classes and the corresponding strings.
(riscv_get_priv_spec_class): New function. Get the corresponding
privilege spec class by giving a spec string.
(riscv_get_priv_spec_name): New function. Get the corresponding
privilege spec string by giving a CSR version class.
* riscv-dis.c: Updated since DECLARE_CSR is changed.
* riscv-dis.c: Add new disassembler option -Mpriv-spec to dump the CSR
according to the chosen version. Build a hash table riscv_csr_hash to
store the valid CSR for the chosen pirv verison. Dump the direct
CSR address rather than it's name if it is invalid.
(parse_riscv_dis_option_without_args): New function. Parse the options
without arguments.
(parse_riscv_dis_option): Call parse_riscv_dis_option_without_args to
parse the options without arguments first, and then handle the options
with arguments. Add the new option -Mpriv-spec, which has argument.
* riscv-dis.c (print_riscv_disassembler_options): Add description
about the new OBJDUMP option.
ld * testsuite/ld-riscv-elf/attr-merge-arch-01.d: Updated
priv attributes according to the -mpriv-spec option.
* testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise.
* testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise.
* testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise.
bfd * elfxx-riscv.h (riscv_parse_subset_t): Add new callback function
get_default_version. It is used to find the default version for
the specific extension.
* elfxx-riscv.c (riscv_parsing_subset_version): Remove the parameters
default_major_version and default_minor_version. Add new bfd_boolean
parameter *use_default_version. Set it to TRUE if we need to call
the callback rps->get_default_version to find the default version.
(riscv_parse_std_ext): Call rps->get_default_version if we fail to find
the default version in riscv_parsing_subset_version, and then call
riscv_add_subset to add the subset into subset list.
(riscv_parse_prefixed_ext): Likewise.
(riscv_std_z_ext_strtab): Support Zicsr extensions.
* elfnn-riscv.c (riscv_merge_std_ext): Use strcasecmp to compare the
strings rather than characters.
riscv_merge_arch_attr_info): The callback function get_default_version
is only needed for assembler, so set it to NULL int the linker.
* elfxx-riscv.c (riscv_estimate_digit): Remove the static.
* elfxx-riscv.h: Updated.
gas * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: Updated.
* config/tc-riscv.c (default_arch_with_ext, default_isa_spec):
Static variables which are used to set the ISA extensions. You can
use -march (or ELF build attributes) and -misa-spec to set them,
respectively.
(ext_version_hash): The hash table used to handle the extensions
with versions.
(init_ext_version_hash): Initialize the ext_version_hash according
to riscv_ext_version_table.
(riscv_get_default_ext_version): The callback function of
riscv_parse_subset_t. According to the choosed ISA spec,
get the default version for the specific extension.
(riscv_set_arch): Set the callback function.
(enum options, struct option md_longopts): Add new option -misa-spec.
(md_parse_option): Do not call riscv_set_arch for -march. We will
call it later in riscv_after_parse_args. Call riscv_get_isa_spec_class
to set default_isa_spec class.
(riscv_after_parse_args): Call init_ext_version_hash to initialize the
ext_version_hash, and then call riscv_set_arch to set the architecture
with versions according to default_arch_with_ext.
* testsuite/gas/riscv/attribute-02.d: Set 0p0 as default version for
x extensions.
* testsuite/gas/riscv/attribute-03.d: Likewise.
* testsuite/gas/riscv/attribute-09.d: New testcase. For i-ext, we
already set it's version to 2p1 by march, so no need to use the default
2p2 version. For m-ext, we do not set the version by -march and ELF arch
attribute, so set the default 2p0 to it. For zicsr, it is not defined in
ISA spec 2p2, so set 0p0 to it.
* testsuite/gas/riscv/attribute-10.d: New testcase. The version of
zicsr is 2p0 according to ISA spec 20191213.
* config/tc-riscv.c (DEFAULT_RISCV_ARCH_WITH_EXT)
(DEFAULT_RISCV_ISA_SPEC): Default configure option settings.
You can set them by configure options --with-arch and
--with-isa-spec, respectively.
(riscv_set_default_isa_spec): New function used to set the
default ISA spec.
(md_parse_option): Call riscv_set_default_isa_spec rather than
call riscv_get_isa_spec_class directly.
(riscv_after_parse_args): If the -isa-spec is not set, then we
set the default ISA spec according to DEFAULT_RISCV_ISA_SPEC by
calling riscv_set_default_isa_spec.
* testsuite/gas/riscv/attribute-01.d: Add -misa-spec=2.2, since
the --with-isa-spec may be set to different ISA spec.
* testsuite/gas/riscv/attribute-02.d: Likewise.
* testsuite/gas/riscv/attribute-03.d: Likewise.
* testsuite/gas/riscv/attribute-04.d: Likewise.
* testsuite/gas/riscv/attribute-05.d: Likewise.
* testsuite/gas/riscv/attribute-06.d: Likewise.
* testsuite/gas/riscv/attribute-07.d: Likewise.
* configure.ac: Add configure options, --with-arch and
--with-isa-spec.
* configure: Regenerated.
* config.in: Regenerated.
* config/tc-riscv.c (default_priv_spec): Static variable which is
used to check if the CSR is valid for the chosen privilege spec. You
can use -mpriv-spec to set it.
(enum reg_class): We now get the CSR address from csr_extra_hash rather
than reg_names_hash. Therefore, move RCLASS_CSR behind RCLASS_MAX.
(riscv_init_csr_hashes): Only need to initialize one hash table
csr_extra_hash.
(riscv_csr_class_check): Change the return type to void. Don't check
the ISA dependency if -mcsr-check isn't set.
(riscv_csr_version_check): New function. Check and find the CSR address
from csr_extra_hash, according to default_priv_spec. Report warning
for the invalid CSR if -mcsr-check is set.
(reg_csr_lookup_internal): Updated.
(reg_lookup_internal): Likewise.
(md_begin): Updated since DECLARE_CSR and DECLARE_CSR_ALIAS are changed.
(enum options, struct option md_longopts): Add new GAS option -mpriv-spec.
(md_parse_option): Call riscv_set_default_priv_version to set
default_priv_spec.
(riscv_after_parse_args): If -mpriv-spec isn't set, then set the default
privilege spec to the newest one.
(enum riscv_csr_class, struct riscv_csr_extra): Move them to
include/opcode/riscv.h.
* testsuite/gas/riscv/priv-reg-fail-fext.d: This test case just want
to check the ISA dependency for CSR, so fix the spec version by adding
-mpriv-spec=1.11.
* testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise. There are some
version warnings for the test case.
* gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
* gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
* gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
* gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
* gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
* gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.d: New test case.
Check whether the CSR is valid when privilege version 1.9 is choosed.
* gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Likewise.
* gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: New test case.
Check whether the CSR is valid when privilege version 1.9.1 is choosed.
* gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l: Likewise.
* gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.d: New test case.
Check whether the CSR is valid when privilege version 1.10 is choosed.
* gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l: Likewise.
* gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.d: New test case.
Check whether the CSR is valid when privilege version 1.11 is choosed.
* gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l: Likewise.
* config/tc-riscv.c (DEFAULT_RISCV_ISA_SPEC): Default configure option
setting. You can set it by configure option --with-priv-spec.
(riscv_set_default_priv_spec): New function used to set the default
privilege spec.
(md_parse_option): Call riscv_set_default_priv_spec rather than
call riscv_get_priv_spec_class directly.
(riscv_after_parse_args): If -mpriv-spec isn't set, then we set the
default privilege spec according to DEFAULT_RISCV_PRIV_SPEC by
calling riscv_set_default_priv_spec.
* testsuite/gas/riscv/csr-dw-regnums.d: Add -mpriv-spec=1.11, since
the --with-priv-spec may be set to different privilege spec.
* testsuite/gas/riscv/priv-reg.d: Likewise.
* configure.ac: Add configure option --with-priv-spec.
* configure: Regenerated.
* config.in: Regenerated.
* config/tc-riscv.c (explicit_attr): Rename explicit_arch_attr to
explicit_attr. Set it to TRUE if any ELF attribute is found.
(riscv_set_default_priv_spec): Try to set the default_priv_spec if
the priv attributes are set.
(md_assemble): Set the default_priv_spec according to the priv
attributes when we start to assemble instruction.
(riscv_write_out_attrs): Rename riscv_write_out_arch_attr to
riscv_write_out_attrs. Update the arch and priv attributes. If we
don't set the corresponding ELF attributes, then try to output the
default ones.
(riscv_set_public_attributes): If any ELF attribute or -march-attr
options is set (explicit_attr is TRUE), then call riscv_write_out_attrs
to update the arch and priv attributes.
(s_riscv_attribute): Make sure all arch and priv attributes are set
before any instruction.
* testsuite/gas/riscv/attribute-01.d: Update the priv attributes if any
ELF attribute or -march-attr is set. If the priv attributes are not
set, then try to update them by the default setting (-mpriv-spec or
--with-priv-spec).
* testsuite/gas/riscv/attribute-02.d: Likewise.
* testsuite/gas/riscv/attribute-03.d: Likewise.
* testsuite/gas/riscv/attribute-04.d: Likewise.
* testsuite/gas/riscv/attribute-06.d: Likewise.
* testsuite/gas/riscv/attribute-07.d: Likewise.
* testsuite/gas/riscv/attribute-08.d: Likewise.
* testsuite/gas/riscv/attribute-09.d: Likewise.
* testsuite/gas/riscv/attribute-10.d: Likewise.
* testsuite/gas/riscv/attribute-unknown.d: Likewise.
* testsuite/gas/riscv/attribute-05.d: Likewise. Also, the priv spec
set by priv attributes must be supported.
* testsuite/gas/riscv/attribute-05.s: Likewise.
* testsuite/gas/riscv/priv-reg-fail-version-1p9.d: Likewise. Updated
priv attributes according to the -mpriv-spec option.
* testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: Likewise.
* testsuite/gas/riscv/priv-reg-fail-version-1p10.d: Likewise.
* testsuite/gas/riscv/priv-reg-fail-version-1p11.d: Likewise.
* testsuite/gas/riscv/priv-reg.d: Removed.
* testsuite/gas/riscv/priv-reg-version-1p9.d: New test case. Dump the
CSR according to the priv spec 1.9.
* testsuite/gas/riscv/priv-reg-version-1p9p1.d: New test case. Dump the
CSR according to the priv spec 1.9.1.
* testsuite/gas/riscv/priv-reg-version-1p10.d: New test case. Dump the
CSR according to the priv spec 1.10.
* testsuite/gas/riscv/priv-reg-version-1p11.d: New test case. Dump the
CSR according to the priv spec 1.11.
* config/tc-riscv.c (md_show_usage): Add descriptions about
the new GAS options.
* doc/c-riscv.texi: Likewise.
Diff:
---
bfd/ChangeLog | 21 +
bfd/elfnn-riscv.c | 6 +-
bfd/elfxx-riscv.c | 285 +-
bfd/elfxx-riscv.h | 6 +
bfd/po/bfd.pot | 3115 +++++++-------
binutils/ChangeLog | 4 +
binutils/dwarf.c | 3 +-
gas/ChangeLog | 163 +
gas/config.in | 9 +
gas/config/tc-riscv.c | 514 ++-
gas/configure | 52 +-
gas/configure.ac | 33 +-
gas/doc/c-riscv.texi | 16 +
gas/po/gas.pot | 4360 +++++++++++---------
gas/testsuite/gas/riscv/attribute-01.d | 5 +-
gas/testsuite/gas/riscv/attribute-02.d | 7 +-
gas/testsuite/gas/riscv/attribute-03.d | 7 +-
gas/testsuite/gas/riscv/attribute-04.d | 5 +-
gas/testsuite/gas/riscv/attribute-05.d | 6 +-
gas/testsuite/gas/riscv/attribute-05.s | 4 +-
gas/testsuite/gas/riscv/attribute-06.d | 5 +-
gas/testsuite/gas/riscv/attribute-07.d | 5 +-
gas/testsuite/gas/riscv/attribute-08.d | 3 +
gas/testsuite/gas/riscv/attribute-09.d | 9 +
gas/testsuite/gas/riscv/attribute-10.d | 9 +
gas/testsuite/gas/riscv/attribute-unknown.d | 3 +
gas/testsuite/gas/riscv/csr-dw-regnums.d | 2 +-
gas/testsuite/gas/riscv/march-fail-s-with-version | 2 -
gas/testsuite/gas/riscv/priv-reg-fail-fext.d | 2 +-
gas/testsuite/gas/riscv/priv-reg-fail-fext.l | 25 +
.../gas/riscv/priv-reg-fail-read-only-01.d | 2 +-
.../gas/riscv/priv-reg-fail-read-only-01.l | 25 +
.../gas/riscv/priv-reg-fail-read-only-01.s | 114 +-
.../gas/riscv/priv-reg-fail-read-only-02.d | 2 +-
gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d | 2 +-
gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l | 25 +
.../gas/riscv/priv-reg-fail-version-1p10.d | 11 +
.../gas/riscv/priv-reg-fail-version-1p10.l | 27 +
.../gas/riscv/priv-reg-fail-version-1p11.d | 11 +
.../gas/riscv/priv-reg-fail-version-1p11.l | 25 +
.../gas/riscv/priv-reg-fail-version-1p9.d | 11 +
.../gas/riscv/priv-reg-fail-version-1p9.l | 30 +
.../gas/riscv/priv-reg-fail-version-1p9p1.d | 12 +
.../gas/riscv/priv-reg-fail-version-1p9p1.l | 30 +
gas/testsuite/gas/riscv/priv-reg-version-1p10.d | 257 ++
gas/testsuite/gas/riscv/priv-reg-version-1p11.d | 257 ++
gas/testsuite/gas/riscv/priv-reg-version-1p9.d | 257 ++
gas/testsuite/gas/riscv/priv-reg-version-1p9p1.d | 257 ++
gas/testsuite/gas/riscv/priv-reg.d | 256 --
gdb/riscv-tdep.c | 6 +-
gdb/riscv-tdep.h | 2 +-
include/ChangeLog | 20 +
include/opcode/riscv-opc.h | 509 ++-
include/opcode/riscv.h | 76 +
ld/ChangeLog | 16 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d | 3 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d | 3 +
ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d | 3 +
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s | 4 +-
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s | 4 +-
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec.d | 4 +-
ld/testsuite/ld-riscv-elf/attr-merge-stack-align.d | 3 +
.../ld-riscv-elf/attr-merge-strict-align-01.d | 3 +
.../ld-riscv-elf/attr-merge-strict-align-02.d | 3 +
.../ld-riscv-elf/attr-merge-strict-align-03.d | 3 +
.../ld-riscv-elf/attr-merge-strict-align-04.d | 3 +
.../ld-riscv-elf/attr-merge-strict-align-05.d | 3 +
opcodes/ChangeLog | 31 +
opcodes/po/opcodes.pot | 139 +-
opcodes/riscv-dis.c | 80 +-
opcodes/riscv-opc.c | 144 +
71 files changed, 7015 insertions(+), 4344 deletions(-)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 18543cf8403..b3dabb3f33a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,24 @@
+2020-05-20 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfxx-riscv.h (riscv_parse_subset_t): Add new callback function
+ get_default_version. It is used to find the default version for
+ the specific extension.
+ * elfxx-riscv.c (riscv_parsing_subset_version): Remove the parameters
+ default_major_version and default_minor_version. Add new bfd_boolean
+ parameter *use_default_version. Set it to TRUE if we need to call
+ the callback rps->get_default_version to find the default version.
+ (riscv_parse_std_ext): Call rps->get_default_version if we fail to find
+ the default version in riscv_parsing_subset_version, and then call
+ riscv_add_subset to add the subset into subset list.
+ (riscv_parse_prefixed_ext): Likewise.
+ (riscv_std_z_ext_strtab): Support Zicsr extensions.
+ * elfnn-riscv.c (riscv_merge_std_ext): Use strcasecmp to compare the
+ strings rather than characters.
+ riscv_merge_arch_attr_info): The callback function get_default_version
+ is only needed for assembler, so set it to NULL int the linker.
+ * elfxx-riscv.c (riscv_estimate_digit): Remove the static.
+ * elfxx-riscv.h: Updated.
+
2020-05-20 Alan Modra <amodra@gmail.com>
PR 25993
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index a9e8132505b..e8e377e3257 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -2810,7 +2810,7 @@ riscv_merge_std_ext (bfd *ibfd,
if (!riscv_i_or_e_p (ibfd, out_arch, out))
return FALSE;
- if (in->name[0] != out->name[0])
+ if (strcasecmp (in->name, out->name) != 0)
{
/* TODO: We might allow merge 'i' with 'e'. */
_bfd_error_handler
@@ -2983,13 +2983,17 @@ riscv_merge_arch_attr_info (bfd *ibfd, char *in_arch, char *out_arch)
riscv_parse_subset_t rpe_in;
riscv_parse_subset_t rpe_out;
+ /* Only assembler needs to check the default version of ISA, so just set
+ the rpe_in.get_default_version and rpe_out.get_default_version to NULL. */
rpe_in.subset_list = &in_subsets;
rpe_in.error_handler = _bfd_error_handler;
rpe_in.xlen = &xlen_in;
+ rpe_in.get_default_version = NULL;
rpe_out.subset_list = &out_subsets;
rpe_out.error_handler = _bfd_error_handler;
rpe_out.xlen = &xlen_out;
+ rpe_out.get_default_version = NULL;
if (in_arch == NULL && out_arch == NULL)
return NULL;
diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index b15fdee9c71..5dd36ab965a 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -1025,9 +1025,8 @@ riscv_elf_add_sub_reloc (bfd *abfd,
`minor_version`: Parsing result of minor version, set to 0 if version is
not present in arch string, but set to `default_minor_version` if
`major_version` using default_major_version.
- `default_major_version`: Default major version.
- `default_minor_version`: Default minor version.
- `std_ext_p`: True if parsing std extension. */
+ `std_ext_p`: True if parsing std extension.
+ `use_default_version`: Set it to True if we need the default version. */
static const char *
riscv_parsing_subset_version (riscv_parse_subset_t *rps,
@@ -1035,17 +1034,16 @@ riscv_parsing_subset_version (riscv_parse_subset_t *rps,
const char *p,
unsigned *major_version,
unsigned *minor_version,
- unsigned default_major_version,
- unsigned default_minor_version,
- bfd_boolean std_ext_p)
+ bfd_boolean std_ext_p,
+ bfd_boolean *use_default_version)
{
bfd_boolean major_p = TRUE;
unsigned version = 0;
- unsigned major = 0;
- unsigned minor = 0;
char np;
- for (;*p; ++p)
+ *major_version = 0;
+ *minor_version = 0;
+ for (; *p; ++p)
{
if (*p == 'p')
{
@@ -1062,13 +1060,14 @@ riscv_parsing_subset_version (riscv_parse_subset_t *rps,
}
else
{
- rps->error_handler ("-march=%s: Expect number after `%dp'.",
- march, version);
+ rps->error_handler
+ (_("-march=%s: Expect number after `%dp'."),
+ march, version);
return NULL;
}
}
- major = version;
+ *major_version = version;
major_p = FALSE;
version = 0;
}
@@ -1079,21 +1078,15 @@ riscv_parsing_subset_version (riscv_parse_subset_t *rps,
}
if (major_p)
- major = version;
+ *major_version = version;
else
- minor = version;
+ *minor_version = version;
- if (major == 0 && minor == 0)
- {
- /* We don't found any version string, use default version. */
- *major_version = default_major_version;
- *minor_version = default_minor_version;
- }
- else
- {
- *major_version = major;
- *minor_version = minor;
- }
+ /* We can not find any version in string, need to parse default version. */
+ if (use_default_version != NULL
+ && *major_version == 0
+ && *minor_version == 0)
+ *use_default_version = TRUE;
return p;
}
@@ -1118,78 +1111,114 @@ riscv_supported_std_ext (void)
static const char *
riscv_parse_std_ext (riscv_parse_subset_t *rps,
- const char *march, const char *p)
+ const char *march,
+ const char *p)
{
const char *all_std_exts = riscv_supported_std_ext ();
const char *std_exts = all_std_exts;
-
unsigned major_version = 0;
unsigned minor_version = 0;
char std_ext = '\0';
+ bfd_boolean use_default_version = FALSE;
/* First letter must start with i, e or g. */
switch (*p)
{
case 'i':
- p++;
- p = riscv_parsing_subset_version (
- rps,
- march,
- p, &major_version, &minor_version,
- /* default_major_version= */ 2,
- /* default_minor_version= */ 0,
- /* std_ext_p= */TRUE);
- riscv_add_subset (rps->subset_list, "i", major_version, minor_version);
+ p = riscv_parsing_subset_version (rps,
+ march,
+ ++p,
+ &major_version,
+ &minor_version,
+ /* std_ext_p= */TRUE,
+ &use_default_version);
+
+ /* Find the default version if needed. */
+ if (use_default_version
+ && rps->get_default_version != NULL)
+ rps->get_default_version ("i",
+ &major_version,
+ &minor_version);
+ riscv_add_subset (rps->subset_list, "i",
+ major_version, minor_version);
break;
case 'e':
- p++;
- p = riscv_parsing_subset_version (
- rps,
- march,
- p, &major_version, &minor_version,
- /* default_major_version= */ 1,
- /* default_minor_version= */ 9,
- /* std_ext_p= */TRUE);
-
- riscv_add_subset (rps->subset_list, "e", major_version, minor_version);
- riscv_add_subset (rps->subset_list, "i", 2, 0);
+ p = riscv_parsing_subset_version (rps,
+ march,
+ ++p,
+ &major_version,
+ &minor_version,
+ /* std_ext_p= */TRUE,
+ &use_default_version);
+
+ /* Find the default version if needed. */
+ if (use_default_version
+ && rps->get_default_version != NULL)
+ rps->get_default_version ("e",
+ &major_version,
+ &minor_version);
+ riscv_add_subset (rps->subset_list, "e",
+ major_version, minor_version);
+
+ /* i-ext must be enabled. */
+ if (rps->get_default_version != NULL)
+ rps->get_default_version ("i",
+ &major_version,
+ &minor_version);
+ riscv_add_subset (rps->subset_list, "i",
+ major_version, minor_version);
if (*rps->xlen > 32)
{
- rps->error_handler ("-march=%s: rv%de is not a valid base ISA",
- march, *rps->xlen);
+ rps->error_handler
+ (_("-march=%s: rv%de is not a valid base ISA"),
+ march, *rps->xlen);
return NULL;
}
-
break;
case 'g':
- p++;
- p = riscv_parsing_subset_version (
- rps,
- march,
- p, &major_version, &minor_version,
- /* default_major_version= */ 2,
- /* default_minor_version= */ 0,
- /* std_ext_p= */TRUE);
- riscv_add_subset (rps->subset_list, "i", major_version, minor_version);
+ /* The g-ext shouldn't has the version, so we just
+ skip the setting if user set a version to it. */
+ p = riscv_parsing_subset_version (rps,
+ march,
+ ++p,
+ &major_version,
+ &minor_version,
+ TRUE,
+ &use_default_version);
+
+ /* i-ext must be enabled. */
+ if (rps->get_default_version != NULL)
+ rps->get_default_version ("i",
+ &major_version,
+ &minor_version);
+ riscv_add_subset (rps->subset_list, "i",
+ major_version, minor_version);
for ( ; *std_exts != 'q'; std_exts++)
{
const char subset[] = {*std_exts, '\0'};
- riscv_add_subset (
- rps->subset_list, subset, major_version, minor_version);
+
+ if (rps->get_default_version != NULL)
+ rps->get_default_version (subset,
+ &major_version,
+ &minor_version);
+ riscv_add_subset (rps->subset_list, subset,
+ major_version, minor_version);
}
break;
default:
- rps->error_handler (
- "-march=%s: first ISA subset must be `e', `i' or `g'", march);
+ rps->error_handler
+ (_("-march=%s: first ISA subset must be `e', `i' or `g'"), march);
return NULL;
}
- while (*p)
+ /* The riscv_parsing_subset_version may set `p` to NULL, so I think we should
+ skip parsing the string if `p` is NULL or value of `p` is `\0`. */
+ while (p != NULL && *p != '\0')
{
char subset[2] = {0, 0};
@@ -1210,29 +1239,35 @@ riscv_parse_std_ext (riscv_parse_subset_t *rps,
if (std_ext != *std_exts)
{
if (strchr (all_std_exts, std_ext) == NULL)
- rps->error_handler (
- "-march=%s: unsupported ISA subset `%c'", march, *p);
+ rps->error_handler
+ (_("-march=%s: unsupported ISA subset `%c'"), march, *p);
else
- rps->error_handler (
- "-march=%s: ISA string is not in canonical order. `%c'",
- march, *p);
+ rps->error_handler
+ (_("-march=%s: ISA string is not in canonical order. `%c'"),
+ march, *p);
return NULL;
}
std_exts++;
- p++;
- p = riscv_parsing_subset_version (
- rps,
- march,
- p, &major_version, &minor_version,
- /* default_major_version= */ 2,
- /* default_minor_version= */ 0,
- /* std_ext_p= */TRUE);
-
+ use_default_version = FALSE;
subset[0] = std_ext;
-
- riscv_add_subset (rps->subset_list, subset, major_version, minor_version);
+ p = riscv_parsing_subset_version (rps,
+ march,
+ ++p,
+ &major_version,
+ &minor_version,
+ TRUE,
+ &use_default_version);
+
+ /* Find the default version if needed. */
+ if (use_default_version
+ && rps->get_default_version != NULL)
+ rps->get_default_version (subset,
+ &major_version,
+ &minor_version);
+ riscv_add_subset (rps->subset_list, subset,
+ major_version, minor_version);
}
return p;
}
@@ -1272,9 +1307,10 @@ typedef struct riscv_parse_config
} riscv_parse_config_t;
/* Parse a generic prefixed extension.
- march: The full architecture string as passed in by "-march=...".
- p: Point from which to start parsing the -march string.
- config: What class of extensions to parse, predicate funcs,
+ `rps`: Hooks and status for parsing subset.
+ `march`: The full architecture string as passed in by "-march=...".
+ `p`: Point from which to start parsing the -march string.
+ `config`: What class of extensions to parse, predicate funcs,
and strings to use in error reporting. */
static const char *
@@ -1287,6 +1323,7 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps,
unsigned minor_version = 0;
const char *last_name;
riscv_isa_ext_class_t class;
+ bfd_boolean use_default_version;
while (*p)
{
@@ -1309,15 +1346,11 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps,
while (*++q != '\0' && *q != '_' && !ISDIGIT (*q))
;
+ use_default_version = FALSE;
end_of_version =
- riscv_parsing_subset_version (
- rps,
- march,
- q, &major_version, &minor_version,
- /* default_major_version= */ 2,
- /* default_minor_version= */ 0,
- /* std_ext_p= */FALSE);
-
+ riscv_parsing_subset_version (rps, march, q, &major_version,
+ &minor_version, FALSE,
+ &use_default_version);
*q = '\0';
/* Check that the name is valid.
@@ -1329,7 +1362,7 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps,
if (!config->ext_valid_p (subset))
{
rps->error_handler
- ("-march=%s: Invalid or unknown %s ISA extension: '%s'",
+ (_("-march=%s: Invalid or unknown %s ISA extension: '%s'"),
march, config->prefix, subset);
free (subset);
return NULL;
@@ -1337,11 +1370,11 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps,
/* Check that the last item is not the same as this. */
last_name = rps->subset_list->tail->name;
-
if (!strcasecmp (last_name, subset))
{
- rps->error_handler ("-march=%s: Duplicate %s ISA extension: \'%s\'",
- march, config->prefix, subset);
+ rps->error_handler
+ (_("-march=%s: Duplicate %s ISA extension: \'%s\'"),
+ march, config->prefix, subset);
free (subset);
return NULL;
}
@@ -1350,20 +1383,29 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps,
if (!strncasecmp (last_name, config->prefix, 1)
&& strcasecmp (last_name, subset) > 0)
{
- rps->error_handler ("-march=%s: %s ISA extension not in alphabetical "
- "order: \'%s\' must come before \'%s\'.",
- march, config->prefix, subset, last_name);
+ rps->error_handler
+ (_("\
+-march=%s: %s ISA extension not in alphabetical order: \'%s\' must come before \'%s\'."),
+ march, config->prefix, subset, last_name);
free (subset);
return NULL;
}
- riscv_add_subset (rps->subset_list, subset, major_version, minor_version);
+ /* Find the default version if needed. */
+ if (use_default_version
+ && rps->get_default_version != NULL)
+ rps->get_default_version (subset,
+ &major_version,
+ &minor_version);
+ riscv_add_subset (rps->subset_list, subset,
+ major_version, minor_version);
+
free (subset);
p += end_of_version - subset;
if (*p != '\0' && *p != '_')
{
- rps->error_handler ("-march=%s: %s must separate with _",
+ rps->error_handler (_("-march=%s: %s must separate with _"),
march, config->prefix);
return NULL;
}
@@ -1384,7 +1426,7 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps,
static const char * const riscv_std_z_ext_strtab[] =
{
- NULL
+ "zicsr", NULL
};
/* Same as `riscv_std_z_ext_strtab', but for S-class extensions. */
@@ -1478,8 +1520,9 @@ riscv_parse_subset (riscv_parse_subset_t *rps,
}
else
{
- rps->error_handler ("-march=%s: ISA string must begin with rv32 or rv64",
- arch);
+ rps->error_handler
+ (_("-march=%s: ISA string must begin with rv32 or rv64"),
+ arch);
return FALSE;
}
@@ -1490,7 +1533,6 @@ riscv_parse_subset (riscv_parse_subset_t *rps,
return FALSE;
/* Parse the different classes of extensions in the specified order. */
-
for (i = 0; i < ARRAY_SIZE (parse_config); ++i) {
p = riscv_parse_prefixed_ext (rps, arch, p, &parse_config[i]);
@@ -1500,7 +1542,7 @@ riscv_parse_subset (riscv_parse_subset_t *rps,
if (*p != '\0')
{
- rps->error_handler ("-march=%s: unexpected ISA string at end: %s",
+ rps->error_handler (_("-march=%s: unexpected ISA string at end: %s"),
arch, p);
return FALSE;
}
@@ -1508,31 +1550,35 @@ riscv_parse_subset (riscv_parse_subset_t *rps,
if (riscv_lookup_subset (rps->subset_list, "e")
&& riscv_lookup_subset (rps->subset_list, "f"))
{
- rps->error_handler ("-march=%s: rv32e does not support the `f' extension",
- arch);
+ rps->error_handler
+ (_("-march=%s: rv32e does not support the `f' extension"),
+ arch);
return FALSE;
}
if (riscv_lookup_subset (rps->subset_list, "d")
&& !riscv_lookup_subset (rps->subset_list, "f"))
{
- rps->error_handler ("-march=%s: `d' extension requires `f' extension",
- arch);
+ rps->error_handler
+ (_("-march=%s: `d' extension requires `f' extension"),
+ arch);
return FALSE;
}
if (riscv_lookup_subset (rps->subset_list, "q")
&& !riscv_lookup_subset (rps->subset_list, "d"))
{
- rps->error_handler ("-march=%s: `q' extension requires `d' extension",
- arch);
+ rps->error_handler
+ (_("-march=%s: `q' extension requires `d' extension"),
+ arch);
return FALSE;
}
if (riscv_lookup_subset (rps->subset_list, "q") && *rps->xlen < 64)
{
- rps->error_handler ("-march=%s: rv32 does not support the `q' extension",
- arch);
+ rps->error_handler
+ (_("-march=%s: rv32 does not support the `q' extension"),
+ arch);
return FALSE;
}
return TRUE;
@@ -1543,7 +1589,8 @@ riscv_parse_subset (riscv_parse_subset_t *rps,
void
riscv_add_subset (riscv_subset_list_t *subset_list,
const char *subset,
- int major, int minor)
+ int major,
+ int minor)
{
riscv_subset_t *s = xmalloc (sizeof *s);
@@ -1567,10 +1614,10 @@ riscv_subset_t *
riscv_lookup_subset (const riscv_subset_list_t *subset_list,
const char *subset)
{
- return riscv_lookup_subset_version (
- subset_list, subset,
- RISCV_DONT_CARE_VERSION,
- RISCV_DONT_CARE_VERSION);
+ return riscv_lookup_subset_version
+ (subset_list, subset,
+ RISCV_DONT_CARE_VERSION,
+ RISCV_DONT_CARE_VERSION);
}
/* Find subset in list with version checking, return NULL if not found. */
@@ -1617,7 +1664,7 @@ riscv_release_subset_list (riscv_subset_list_t *subset_list)
/* Return the number of digits for the input. */
-static size_t
+size_t
riscv_estimate_digit (unsigned num)
{
size_t digit = 0;
diff --git a/bfd/elfxx-riscv.h b/bfd/elfxx-riscv.h
index 76ee27404cb..7b8f09b82c4 100644
--- a/bfd/elfxx-riscv.h
+++ b/bfd/elfxx-riscv.h
@@ -72,6 +72,9 @@ typedef struct {
void (*error_handler) (const char *,
...) ATTRIBUTE_PRINTF_1;
unsigned *xlen;
+ void (*get_default_version) (const char *,
+ unsigned int *,
+ unsigned int *);
} riscv_parse_subset_t;
extern bfd_boolean
@@ -87,6 +90,9 @@ riscv_release_subset_list (riscv_subset_list_t *);
extern char *
riscv_arch_str (unsigned, const riscv_subset_list_t *);
+extern size_t
+riscv_estimate_digit (unsigned);
+
/* ISA extension name class. E.g. "zbb" corresponds to RV_ISA_CLASS_Z,
"xargs" corresponds to RV_ISA_CLASS_X, etc. Order is important
here. */
diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot
index ef909fa0698..3b4f0afba35 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: 2020-01-18 13:58+0000\n"
+"POT-Creation-Date: 2020-05-20 15:51+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"
@@ -18,53 +18,58 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: aout-cris.c:200
+#: aout-cris.c:196
#, c-format
msgid "%pB: unsupported relocation type exported: %#x"
msgstr ""
-#: aout-cris.c:244
+#: aout-cris.c:242
#, c-format
msgid "%pB: unsupported relocation type imported: %#x"
msgstr ""
-#: aout-cris.c:256
+#: aout-cris.c:254
#, c-format
msgid "%pB: bad relocation record imported: %d"
msgstr ""
-#: aoutx.h:1265 aoutx.h:1618 pdp11.c:1139 pdp11.c:1392
+#: aoutx.h:1254 aoutx.h:1602 pdp11.c:1190 pdp11.c:1439
#, c-format
msgid "%pB: can not represent section `%pA' in a.out object file format"
msgstr ""
-#: aoutx.h:1582 pdp11.c:1364
+#: aoutx.h:1566 pdp11.c:1411
#, c-format
msgid ""
"%pB: can not represent section for symbol `%s' in a.out object file format"
msgstr ""
-#: aoutx.h:1585 vms-alpha.c:7957
+#: aoutx.h:1569 vms-alpha.c:8011
msgid "*unknown*"
msgstr ""
-#: aoutx.h:1721
+#: aoutx.h:1705
#, c-format
msgid "%pB: invalid string offset %<PRIu64> >= %<PRIu64>"
msgstr ""
-#: aoutx.h:2412 aoutx.h:2430
+#: aoutx.h:1952
+#, c-format
+msgid "%pB: unsupported AOUT relocation size: %d"
+msgstr ""
+
+#: aoutx.h:2401 aoutx.h:2419
#, c-format
msgid "%pB: attempt to write out unknown reloc type"
msgstr ""
-#: aoutx.h:4085
+#: aoutx.h:4077
#, c-format
msgid "%pB: unsupported relocation type"
msgstr ""
#. Unknown relocation.
-#: aoutx.h:4406 coff-alpha.c:601 coff-alpha.c:1514 coff-rs6000.c:2776
+#: aoutx.h:4398 coff-alpha.c:601 coff-alpha.c:1514 coff-rs6000.c:2758
#: coff-sh.c:504 coff-tic4x.c:184 coff-tic54x.c:279 elf-hppa.h:798
#: elf-hppa.h:826 elf-m10200.c:226 elf-m10300.c:812 elf32-arc.c:536
#: elf32-arm.c:1985 elf32-avr.c:964 elf32-bfin.c:1062 elf32-bfin.c:4693
@@ -77,30 +82,28 @@ msgstr ""
#: elf32-m68hc12.c:510 elf32-m68k.c:354 elf32-mcore.c:354 elf32-mcore.c:440
#: elf32-mep.c:389 elf32-metag.c:878 elf32-microblaze.c:692
#: elf32-microblaze.c:969 elf32-mips.c:2229 elf32-moxie.c:137
-#: elf32-msp430.c:651 elf32-msp430.c:661 elf32-mt.c:241 elf32-nds32.c:3240
-#: elf32-nds32.c:3266 elf32-nds32.c:5177 elf32-nios2.c:3015 elf32-or1k.c:1037
+#: elf32-msp430.c:653 elf32-msp430.c:663 elf32-mt.c:241 elf32-nds32.c:3240
+#: elf32-nds32.c:3266 elf32-nds32.c:5177 elf32-nios2.c:3026 elf32-or1k.c:1044
#: elf32-pj.c:326 elf32-ppc.c:901 elf32-ppc.c:914 elf32-pru.c:423
#: elf32-rl78.c:291 elf32-rx.c:313 elf32-rx.c:322 elf32-s12z.c:296
#: elf32-s390.c:347 elf32-sh.c:440 elf32-spu.c:163 elf32-tic6x.c:1508
#: elf32-tic6x.c:1518 elf32-tic6x.c:1537 elf32-tic6x.c:1547 elf32-tic6x.c:2642
-#: elf32-tilepro.c:803 elf32-v850.c:1898 elf32-v850.c:1920 elf32-v850.c:4268
+#: elf32-tilepro.c:803 elf32-v850.c:1898 elf32-v850.c:1920 elf32-v850.c:4273
#: elf32-vax.c:290 elf32-visium.c:481 elf32-wasm32.c:105 elf32-xc16x.c:250
-#: elf32-xgate.c:418 elf32-xstormy16.c:395 elf32-xtensa.c:464
-#: elf32-xtensa.c:498 elf32-z80.c:320 elf64-alpha.c:1113 elf64-alpha.c:4102
-#: elf64-alpha.c:4250 elf64-bpf.c:322 elf64-ia64-vms.c:254
-#: elf64-ia64-vms.c:3438 elf64-mips.c:3958 elf64-mips.c:3974 elf64-mmix.c:1264
-#: elf64-nfp.c:238 elf64-ppc.c:1014 elf64-ppc.c:1349 elf64-ppc.c:1358
-#: elf64-s390.c:328 elf64-s390.c:378 elf64-x86-64.c:285 elfn32-mips.c:3786
+#: elf32-xgate.c:418 elf32-xstormy16.c:395 elf32-xtensa.c:502
+#: elf32-xtensa.c:536 elf32-z80.c:331 elf64-alpha.c:1113 elf64-alpha.c:4117
+#: elf64-alpha.c:4265 elf64-bpf.c:322 elf64-ia64-vms.c:254
+#: elf64-ia64-vms.c:3437 elf64-mips.c:3958 elf64-mips.c:3974 elf64-mmix.c:1264
+#: elf64-nfp.c:238 elf64-ppc.c:1015 elf64-ppc.c:1350 elf64-ppc.c:1359
+#: elf64-s390.c:328 elf64-s390.c:378 elf64-x86-64.c:282 elfn32-mips.c:3786
#: elfxx-ia64.c:324 elfxx-riscv.c:955 elfxx-sparc.c:589 elfxx-sparc.c:639
-#: elfxx-tilegx.c:912 elfxx-tilegx.c:952
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2215
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2313 elf32-ia64.c:214
-#: elf32-ia64.c:3862 elf64-ia64.c:214 elf64-ia64.c:3862
+#: elfxx-tilegx.c:912 elfxx-tilegx.c:952 elfnn-aarch64.c:2215
+#: elfnn-aarch64.c:2313 elfnn-ia64.c:214 elfnn-ia64.c:3861
#, c-format
msgid "%pB: unsupported relocation type %#x"
msgstr ""
-#: aoutx.h:5432 pdp11.c:3685
+#: aoutx.h:5425 pdp11.c:3725
#, c-format
msgid "%pB: relocatable link from %s to %s not supported"
msgstr ""
@@ -110,141 +113,141 @@ msgstr ""
msgid "%pB: cannot allocate memory for local GOT entries"
msgstr ""
-#: archive.c:2227
+#: archive.c:2250
msgid "warning: writing archive was slow: rewriting timestamp"
msgstr ""
-#: archive.c:2294 archive.c:2355 elflink.c:4437 linker.c:1428
+#: archive.c:2317 archive.c:2378 elflink.c:4539 linker.c:1428
#, c-format
msgid "%pB: plugin needed to handle lto object"
msgstr ""
-#: archive.c:2585
+#: archive.c:2608
msgid "Reading archive file mod timestamp"
msgstr ""
-#: archive.c:2609
+#: archive.c:2632
msgid "Writing updated armap timestamp"
msgstr ""
-#: bfd.c:673
+#: bfd.c:677
msgid "no error"
msgstr ""
-#: bfd.c:674
+#: bfd.c:678
msgid "system call error"
msgstr ""
-#: bfd.c:675
+#: bfd.c:679
msgid "invalid bfd target"
msgstr ""
-#: bfd.c:676
+#: bfd.c:680
msgid "file in wrong format"
msgstr ""
-#: bfd.c:677
+#: bfd.c:681
msgid "archive object file in wrong format"
msgstr ""
-#: bfd.c:678
+#: bfd.c:682
msgid "invalid operation"
msgstr ""
-#: bfd.c:679
+#: bfd.c:683
msgid "memory exhausted"
msgstr ""
-#: bfd.c:680
+#: bfd.c:684
msgid "no symbols"
msgstr ""
-#: bfd.c:681
+#: bfd.c:685
msgid "archive has no index; run ranlib to add one"
msgstr ""
-#: bfd.c:682
+#: bfd.c:686
msgid "no more archived files"
msgstr ""
-#: bfd.c:683
+#: bfd.c:687
msgid "malformed archive"
msgstr ""
-#: bfd.c:684
+#: bfd.c:688
msgid "DSO missing from command line"
msgstr ""
-#: bfd.c:685
+#: bfd.c:689
msgid "file format not recognized"
msgstr ""
-#: bfd.c:686
+#: bfd.c:690
msgid "file format is ambiguous"
msgstr ""
-#: bfd.c:687
+#: bfd.c:691
msgid "section has no contents"
msgstr ""
-#: bfd.c:688
+#: bfd.c:692
msgid "nonrepresentable section on output"
msgstr ""
-#: bfd.c:689
+#: bfd.c:693
msgid "symbol needs debug section which does not exist"
msgstr ""
-#: bfd.c:690
+#: bfd.c:694
msgid "bad value"
msgstr ""
-#: bfd.c:691
+#: bfd.c:695
msgid "file truncated"
msgstr ""
-#: bfd.c:692
+#: bfd.c:696
msgid "file too big"
msgstr ""
-#: bfd.c:693
+#: bfd.c:697
msgid "sorry, cannot handle this file"
msgstr ""
-#: bfd.c:694
+#: bfd.c:698
#, c-format
msgid "error reading %s: %s"
msgstr ""
-#: bfd.c:695
+#: bfd.c:699
msgid "#<invalid error code>"
msgstr ""
-#: bfd.c:1654
+#: bfd.c:1658
#, c-format
msgid "BFD %s assertion fail %s:%d"
msgstr ""
-#: bfd.c:1667
+#: bfd.c:1671
#, c-format
msgid "BFD %s internal error, aborting at %s:%d in %s\n"
msgstr ""
-#: bfd.c:1672
+#: bfd.c:1676
#, c-format
msgid "BFD %s internal error, aborting at %s:%d\n"
msgstr ""
-#: bfd.c:1674
+#: bfd.c:1678
msgid "Please report this bug.\n"
msgstr ""
-#: bfdwin.c:206
+#: bfdwin.c:207
#, c-format
msgid "not mapping: data=%lx mapped=%d\n"
msgstr ""
-#: bfdwin.c:209
+#: bfdwin.c:210
#, c-format
msgid "not mapping: env var not set\n"
msgstr ""
@@ -274,23 +277,28 @@ msgstr ""
msgid "using multiple gp values"
msgstr ""
-#: coff-alpha.c:1501 coff-alpha.c:1507 elf.c:9274 elf32-mcore.c:100
-#: elf32-mcore.c:455 elf32-ppc.c:7670 elf32-ppc.c:8821 elf64-ppc.c:15566
+#: coff-alpha.c:1501 coff-alpha.c:1507 elf.c:9437 elf32-mcore.c:100
+#: elf32-mcore.c:455 elf32-ppc.c:7679 elf32-ppc.c:8830 elf64-ppc.c:16024
#, c-format
msgid "%pB: %s unsupported"
msgstr ""
+#: coff-go32.c:156 coffswap.h:785
+#, c-format
+msgid "%pB: warning: %s: line number overflow: 0x%lx > 0xffff"
+msgstr ""
+
#: coff-mips.c:643 elf32-mips.c:1742 elf32-score.c:430 elf32-score7.c:330
#: elf64-mips.c:3451 elfn32-mips.c:3276
msgid "GP relative relocation when _gp not defined"
msgstr ""
-#: coff-rs6000.c:2862
+#: coff-rs6000.c:2844
#, c-format
msgid "%pB: TOC reloc at %#<PRIx64> to symbol `%s' with no TOC entry"
msgstr ""
-#: coff-rs6000.c:3624 coff64-rs6000.c:2154
+#: coff-rs6000.c:3607 coff64-rs6000.c:2153
#, c-format
msgid "%pB: symbol `%s' has unrecognized smclas %d"
msgstr ""
@@ -345,29 +353,29 @@ msgstr ""
msgid "%pB: illegal symbol index %ld in relocs"
msgstr ""
-#: coff-tic4x.c:228 coff-tic54x.c:366 coffcode.h:5008
+#: coff-tic4x.c:228 coff-tic54x.c:366 coffcode.h:5086
#, c-format
msgid "%pB: warning: illegal symbol index %ld in relocs"
msgstr ""
-#: coffcode.h:952
+#: coffcode.h:961
#, c-format
msgid "%pB: unable to load COMDAT section name"
msgstr ""
#. Malformed input files can trigger this test.
#. cf PR 21781.
-#: coffcode.h:987
+#: coffcode.h:996
#, c-format
msgid "%pB: error: unexpected symbol '%s' in COMDAT section"
msgstr ""
-#: coffcode.h:999
+#: coffcode.h:1008
#, c-format
msgid "%pB: warning: COMDAT symbol '%s' does not match section name '%s'"
msgstr ""
-#: coffcode.h:1009
+#: coffcode.h:1018
#, c-format
msgid "%pB: warning: no symbol for section '%s' found"
msgstr ""
@@ -375,139 +383,126 @@ msgstr ""
#. Generate a warning message rather using the 'unhandled'
#. variable as this will allow some .sys files generate by
#. other toolchains to be processed. See bugzilla issue 196.
-#: coffcode.h:1240
+#: coffcode.h:1249
#, c-format
msgid "%pB: warning: ignoring section flag %s in section %s"
msgstr ""
-#: coffcode.h:1309
+#: coffcode.h:1318
#, c-format
msgid "%pB (%s): section flag %s (%#lx) ignored"
msgstr ""
-#: coffcode.h:1920
+#: coffcode.h:1934 coffcode.h:1999
#, c-format
msgid "%pB: warning: claims to have 0xffff relocs, without overflow"
msgstr ""
-#: coffcode.h:2329
+#: coffcode.h:2365
#, c-format
msgid "unrecognized TI COFF target id '0x%x'"
msgstr ""
-#: coffcode.h:2607
+#: coffcode.h:2643
#, c-format
msgid "%pB: reloc against a non-existent symbol index: %ld"
msgstr ""
-#: coffcode.h:2915
+#: coffcode.h:2952
#, c-format
msgid "%pB: page size is too large (0x%x)"
msgstr ""
-#: coffcode.h:3075
+#: coffcode.h:3112
#, c-format
msgid "%pB: too many sections (%d)"
msgstr ""
-#: coffcode.h:3494
+#: coffcode.h:3531
#, c-format
msgid "%pB: section %pA: string table overflow at offset %ld"
msgstr ""
-#: coffcode.h:3594
+#: coffcode.h:3631
#, c-format
msgid "%pB:%s section %s: alignment 2**%u not representable"
msgstr ""
-#: coffcode.h:4275
+#: coffcode.h:4330
#, c-format
msgid "%pB: warning: line number count (%#lx) exceeds section size (%#lx)"
msgstr ""
-#: coffcode.h:4292
+#: coffcode.h:4350
#, c-format
msgid "%pB: warning: line number table read failed"
msgstr ""
-#: coffcode.h:4326 coffcode.h:4340
+#: coffcode.h:4384 coffcode.h:4398
#, c-format
msgid "%pB: warning: illegal symbol index 0x%lx in line number entry %d"
msgstr ""
-#: coffcode.h:4354
+#: coffcode.h:4412
#, c-format
msgid "%pB: warning: illegal symbol in line number entry %d"
msgstr ""
-#: coffcode.h:4367
+#: coffcode.h:4425
#, c-format
msgid "%pB: warning: duplicate line number information for `%s'"
msgstr ""
-#: coffcode.h:4772
+#: coffcode.h:4846
#, c-format
msgid "%pB: unrecognized storage class %d for %s symbol `%s'"
msgstr ""
-#: coffcode.h:4902
+#: coffcode.h:4976
#, c-format
msgid "warning: %pB: local symbol `%s' has no section"
msgstr ""
-#: coffcode.h:5048
+#: coffcode.h:5126
#, c-format
msgid "%pB: illegal relocation type %d at address %#<PRIx64>"
msgstr ""
-#: coffgen.c:179 elf.c:1248
+#: coffgen.c:179 elf.c:1239
#, c-format
msgid "%pB: unable to initialize compress status for section %s"
msgstr ""
-#: coffgen.c:203 elf.c:1259
+#: coffgen.c:203 elf.c:1250
#, c-format
msgid "%pB: unable to initialize decompress status for section %s"
msgstr ""
-#: coffgen.c:1664
-#, c-format
-msgid "%pB: corrupt symbol count: %#<PRIx64>"
-msgstr ""
-
-#. PR 21013: Provide an error message when the alloc fails.
-#: coffgen.c:1673
-#, c-format
-msgid ""
-"%pB: not enough memory to allocate space for %#<PRIx64> symbols of size "
-"%#<PRIx64>"
-msgstr ""
-
-#: coffgen.c:1742
+#: coffgen.c:1709
#, c-format
msgid "%pB: bad string table size %<PRIu64>"
msgstr ""
-#: coffgen.c:1911 coffgen.c:1971 coffgen.c:1989 cofflink.c:2049 elf.c:1925
-#: xcofflink.c:4506
+#: coffgen.c:1881 coffgen.c:1941 coffgen.c:1959 cofflink.c:2049 elf.c:1925
+#: xcofflink.c:4510
msgid "<corrupt>"
msgstr ""
-#: coffgen.c:2120
+#: coffgen.c:2090
#, c-format
msgid "<corrupt info> %s"
msgstr ""
-#: coffgen.c:2706 elflink.c:14466 linker.c:2960
+#: coffgen.c:2676 elflink.c:14613 linker.c:2960
msgid "%F%P: already_linked_table: %E\n"
msgstr ""
-#: coffgen.c:3047 elflink.c:13460
+#: coffgen.c:3017 elflink.c:13606
#, c-format
msgid "removing unused section '%pA' in file '%pB'"
msgstr ""
-#: coffgen.c:3124 elflink.c:13678
+#: coffgen.c:3094 elflink.c:13824
msgid "warning: gc-sections option ignored"
msgstr ""
@@ -516,7 +511,7 @@ msgstr ""
msgid "warning: symbol `%s' is both section and non-section"
msgstr ""
-#: cofflink.c:458 elf64-ia64-vms.c:5205 elflink.c:5023
+#: cofflink.c:458 elf64-ia64-vms.c:5208 elflink.c:5125
#, c-format
msgid "warning: type of symbol `%s' changed from %d to %d in %pB"
msgstr ""
@@ -526,7 +521,7 @@ msgstr ""
msgid "%pB: relocs in section `%pA', but it has no contents"
msgstr ""
-#: cofflink.c:2440 elflink.c:10947
+#: cofflink.c:2440 elflink.c:11060
#, c-format
msgid ""
"%X`%s' referenced in section `%pA' of %pB: defined in discarded section `"
@@ -548,24 +543,19 @@ msgstr ""
msgid "%pB: bad reloc address %#<PRIx64> in section `%pA'"
msgstr ""
-#: coffswap.h:783
-#, c-format
-msgid "%pB: warning: %s: line number overflow: 0x%lx > 0xffff"
-msgstr ""
-
-#: coffswap.h:797
+#: coffswap.h:799
#, c-format
msgid "%pB: %s: reloc overflow: 0x%lx > 0xffff"
msgstr ""
-#: compress.c:268
+#: compress.c:271
#, c-format
msgid ""
"error: %pB(%pA) section size (%#<PRIx64> bytes) is larger than file size "
"(%#<PRIx64> bytes)"
msgstr ""
-#: compress.c:279
+#: compress.c:282
#, c-format
msgid "error: %pB(%pA) is too large (%#<PRIx64> bytes)"
msgstr ""
@@ -601,188 +591,193 @@ msgstr ""
msgid "DWARF error: invalid or unhandled FORM value: %#x"
msgstr ""
-#: dwarf2.c:1641
+#: dwarf2.c:1646
msgid "DWARF error: mangled line number section (bad file number)"
msgstr ""
-#: dwarf2.c:1989
+#: dwarf2.c:1994
msgid "DWARF error: zero format count"
msgstr ""
-#: dwarf2.c:1999
+#: dwarf2.c:2004
#, c-format
msgid "DWARF error: data count (%<PRIx64>) larger than buffer size"
msgstr ""
-#: dwarf2.c:2040
+#: dwarf2.c:2045
#, c-format
msgid "DWARF error: unknown format content type %<PRIu64>"
msgstr ""
-#: dwarf2.c:2107
+#: dwarf2.c:2112
#, c-format
msgid "DWARF error: line info section is too small (%<PRId64>)"
msgstr ""
-#: dwarf2.c:2137
+#: dwarf2.c:2142
#, c-format
msgid ""
"DWARF error: line info data is bigger (%#<PRIx64>) than the space remaining "
"in the section (%#lx)"
msgstr ""
-#: dwarf2.c:2150
+#: dwarf2.c:2155
#, c-format
msgid "DWARF error: unhandled .debug_line version %d"
msgstr ""
-#: dwarf2.c:2160
+#: dwarf2.c:2165
msgid "DWARF error: ran out of room reading prologue"
msgstr ""
-#: dwarf2.c:2178
+#: dwarf2.c:2183
#, c-format
msgid "DWARF error: line info unsupported segment selector size %u"
msgstr ""
-#: dwarf2.c:2205
+#: dwarf2.c:2210
msgid "DWARF error: invalid maximum operations per instruction"
msgstr ""
-#: dwarf2.c:2224
+#: dwarf2.c:2229
msgid "DWARF error: ran out of room reading opcodes"
msgstr ""
-#: dwarf2.c:2415
+#: dwarf2.c:2420
msgid "DWARF error: mangled line number section"
msgstr ""
-#: dwarf2.c:2905
+#: dwarf2.c:2910
msgid "DWARF error: abstract instance recursion detected"
msgstr ""
-#: dwarf2.c:2939 dwarf2.c:3033
+#: dwarf2.c:2944 dwarf2.c:3038
msgid "DWARF error: invalid abstract instance DIE ref"
msgstr ""
-#: dwarf2.c:2955
+#: dwarf2.c:2960
#, c-format
msgid "DWARF error: unable to read alt ref %<PRIu64>"
msgstr ""
-#: dwarf2.c:3011
+#: dwarf2.c:3016
#, c-format
msgid "DWARF error: unable to locate abstract instance DIE ref %<PRIu64>"
msgstr ""
-#: dwarf2.c:3050 dwarf2.c:3216 dwarf2.c:3571
+#: dwarf2.c:3055 dwarf2.c:3237 dwarf2.c:3623
#, c-format
msgid "DWARF error: could not find abbrev number %u"
msgstr ""
-#: dwarf2.c:3490
+#: dwarf2.c:3386
+#, c-format
+msgid "DWARF error: could not find variable specification at offset %lx"
+msgstr ""
+
+#: dwarf2.c:3542
#, c-format
msgid ""
"DWARF error: found dwarf version '%u', this reader only handles version 2, "
"3, 4 and 5 information"
msgstr ""
-#: dwarf2.c:3534
+#: dwarf2.c:3586
#, c-format
msgid ""
"DWARF error: found address size '%u', this reader can not handle sizes "
"greater than '%u'"
msgstr ""
-#: dwarf2.c:3638
+#: dwarf2.c:3690
msgid ""
"DWARF error: DW_AT_comp_dir attribute encountered with a non-string form"
msgstr ""
-#: ecoff.c:971
+#: ecoff.c:984
#, c-format
msgid "%pB: warning: isymMax (%ld) is greater than ifdMax (%ld)"
msgstr ""
-#: ecoff.c:1268
+#: ecoff.c:1281
#, c-format
msgid "unknown basic type %d"
msgstr ""
-#: ecoff.c:1525
+#: ecoff.c:1538
#, c-format
msgid ""
"\n"
" End+1 symbol: %ld"
msgstr ""
-#: ecoff.c:1532 ecoff.c:1535
+#: ecoff.c:1545 ecoff.c:1548
#, c-format
msgid ""
"\n"
" First symbol: %ld"
msgstr ""
-#: ecoff.c:1548
+#: ecoff.c:1561
#, c-format
msgid ""
"\n"
" End+1 symbol: %-7ld Type: %s"
msgstr ""
-#: ecoff.c:1555
+#: ecoff.c:1568
#, c-format
msgid ""
"\n"
" Local symbol: %ld"
msgstr ""
-#: ecoff.c:1563
+#: ecoff.c:1576
#, c-format
msgid ""
"\n"
" struct; End+1 symbol: %ld"
msgstr ""
-#: ecoff.c:1568
+#: ecoff.c:1581
#, c-format
msgid ""
"\n"
" union; End+1 symbol: %ld"
msgstr ""
-#: ecoff.c:1573
+#: ecoff.c:1586
#, c-format
msgid ""
"\n"
" enum; End+1 symbol: %ld"
msgstr ""
-#: ecoff.c:1579
+#: ecoff.c:1592
#, c-format
msgid ""
"\n"
" Type: %s"
msgstr ""
-#: elf-attrs.c:446
+#: elf-attrs.c:449
#, c-format
msgid "%pB: error: attribute section '%pA' too big: %#llx"
msgstr ""
-#: elf-attrs.c:487
+#: elf-attrs.c:490
#, c-format
msgid "%pB: error: attribute section length too small: %<PRId64>"
msgstr ""
-#: elf-attrs.c:615
+#: elf-attrs.c:618
#, c-format
msgid ""
"error: %pB: object has vendor-specific contents that must be processed by "
"the '%s' toolchain"
msgstr ""
-#: elf-attrs.c:625
+#: elf-attrs.c:628
#, c-format
msgid "error: %pB: object tag '%d, %s' is incompatible with tag '%d, %s'"
msgstr ""
@@ -827,21 +822,21 @@ msgstr ""
msgid "DW_EH_PE_datarel unspecified for this architecture"
msgstr ""
-#: elf-eh-frame.c:2317
+#: elf-eh-frame.c:2318
#, c-format
msgid "invalid output section for .eh_frame_entry: %pA"
msgstr ""
-#: elf-eh-frame.c:2340
+#: elf-eh-frame.c:2341
#, c-format
msgid "invalid contents in %pA section"
msgstr ""
-#: elf-eh-frame.c:2496
+#: elf-eh-frame.c:2497
msgid ".eh_frame_hdr entry overflow"
msgstr ""
-#: elf-eh-frame.c:2498
+#: elf-eh-frame.c:2499
msgid ".eh_frame_hdr refers to overlapping FDEs"
msgstr ""
@@ -859,8 +854,8 @@ msgstr ""
#: elf32-h8300.c:523 elf32-ip2k.c:1482 elf32-iq2000.c:691 elf32-lm32.c:1112
#: elf32-m32c.c:624 elf32-m32r.c:3045 elf32-m68hc1x.c:1272 elf32-mep.c:526
#: elf32-metag.c:1990 elf32-microblaze.c:1631 elf32-moxie.c:288 elf32-mt.c:402
-#: elf32-nds32.c:6192 elf32-or1k.c:1759 elf32-score.c:2733 elf32-score7.c:2542
-#: elf32-spu.c:5086 elf32-tilepro.c:3505 elf32-v850.c:2290 elf32-visium.c:680
+#: elf32-nds32.c:6192 elf32-or1k.c:1821 elf32-score.c:2734 elf32-score7.c:2543
+#: elf32-spu.c:5088 elf32-tilepro.c:3505 elf32-v850.c:2290 elf32-visium.c:680
#: elf32-xstormy16.c:929 elf64-bpf.c:487 elf64-mmix.c:1541 elfxx-tilegx.c:3869
msgid "internal error: out of range error"
msgstr ""
@@ -870,18 +865,18 @@ msgstr ""
#: elf32-fr30.c:598 elf32-frv.c:4049 elf32-ft32.c:498 elf32-h8300.c:527
#: elf32-iq2000.c:695 elf32-lm32.c:1116 elf32-m32c.c:628 elf32-m32r.c:3049
#: elf32-m68hc1x.c:1276 elf32-mep.c:530 elf32-metag.c:1994
-#: elf32-microblaze.c:1635 elf32-moxie.c:292 elf32-msp430.c:1365
-#: elf32-nds32.c:6196 elf32-or1k.c:1763 elf32-score.c:2737 elf32-score7.c:2546
-#: elf32-spu.c:5090 elf32-tilepro.c:3509 elf32-v850.c:2294 elf32-visium.c:684
-#: elf32-xstormy16.c:933 elf64-mmix.c:1545 elfxx-mips.c:10575
+#: elf32-microblaze.c:1635 elf32-moxie.c:292 elf32-msp430.c:1371
+#: elf32-nds32.c:6196 elf32-or1k.c:1825 elf32-score.c:2738 elf32-score7.c:2547
+#: elf32-spu.c:5092 elf32-tilepro.c:3509 elf32-v850.c:2294 elf32-visium.c:684
+#: elf32-xstormy16.c:933 elf64-mmix.c:1545 elfxx-mips.c:10590
#: elfxx-tilegx.c:3873
msgid "internal error: unsupported relocation error"
msgstr ""
#: elf-m10200.c:442 elf32-cr16.c:1473 elf32-crx.c:933 elf32-d10v.c:518
#: elf32-h8300.c:531 elf32-lm32.c:1120 elf32-m32r.c:3053 elf32-m68hc1x.c:1280
-#: elf32-microblaze.c:1639 elf32-nds32.c:6200 elf32-score.c:2741
-#: elf32-score7.c:2550 elf32-spu.c:5094
+#: elf32-microblaze.c:1639 elf32-nds32.c:6200 elf32-score.c:2742
+#: elf32-score7.c:2551 elf32-spu.c:5096
msgid "internal error: dangerous error"
msgstr ""
@@ -891,8 +886,8 @@ msgstr ""
#: elf32-h8300.c:535 elf32-ip2k.c:1497 elf32-iq2000.c:703 elf32-lm32.c:1124
#: elf32-m32c.c:636 elf32-m32r.c:3057 elf32-m68hc1x.c:1284 elf32-mep.c:538
#: elf32-metag.c:2002 elf32-microblaze.c:1643 elf32-moxie.c:300
-#: elf32-msp430.c:1373 elf32-mt.c:410 elf32-nds32.c:6204 elf32-or1k.c:1771
-#: elf32-score.c:2750 elf32-score7.c:2554 elf32-spu.c:5098 elf32-tilepro.c:3517
+#: elf32-msp430.c:1379 elf32-mt.c:410 elf32-nds32.c:6204 elf32-or1k.c:1833
+#: elf32-score.c:2751 elf32-score7.c:2555 elf32-spu.c:5100 elf32-tilepro.c:3517
#: elf32-v850.c:2314 elf32-visium.c:692 elf32-xstormy16.c:941 elf64-bpf.c:500
#: elf64-mmix.c:1553 elfxx-tilegx.c:3881
msgid "internal error: unknown error"
@@ -908,11 +903,10 @@ msgstr ""
msgid "%pB: %s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf-m10300.c:2092 elf32-arm.c:13450 elf32-i386.c:3403 elf32-m32r.c:2539
-#: elf32-m68k.c:3912 elf32-s390.c:3210 elf32-sh.c:3802 elf32-tilepro.c:3408
-#: elf32-xtensa.c:2969 elf64-s390.c:3159 elf64-x86-64.c:3961 elfxx-sparc.c:3903
-#: elfxx-tilegx.c:3792 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5493
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7081
+#: elf-m10300.c:2092 elf32-arm.c:13464 elf32-i386.c:3421 elf32-m32r.c:2539
+#: elf32-m68k.c:3912 elf32-s390.c:3210 elf32-sh.c:3788 elf32-tilepro.c:3408
+#: elf32-xtensa.c:3013 elf64-s390.c:3159 elf64-x86-64.c:4078 elfxx-sparc.c:3903
+#: elfxx-tilegx.c:3792 elfnn-aarch64.c:5551 elfnn-aarch64.c:7148
#, c-format
msgid "%pB(%pA+%#<PRIx64>): unresolvable %s relocation against symbol `%s'"
msgstr ""
@@ -935,8 +929,7 @@ msgid "internal error: suspicious relocation type used in shared library"
msgstr ""
#: elf-m10300.c:2647 elf32-avr.c:2491 elf32-frv.c:5637 elf64-ia64-vms.c:364
-#: elfxx-sparc.c:2792 reloc.c:8216 reloc16.c:155 elf32-ia64.c:365
-#: elf64-ia64.c:365
+#: elfxx-sparc.c:2792 reloc.c:8244 reloc16.c:155 elfnn-ia64.c:365
msgid "%P%F: --relax and -r may not be used together\n"
msgstr ""
@@ -1008,219 +1001,214 @@ msgid "Merging program properties\n"
msgstr ""
#. PR 17512: file: f057ec89.
-#: elf.c:342
+#: elf.c:336
#, c-format
msgid "%pB: attempt to load strings from a non-string section (number %d)"
msgstr ""
-#: elf.c:367
+#: elf.c:361
#, c-format
msgid "%pB: invalid string offset %u >= %<PRIu64> for section `%s'"
msgstr ""
-#: elf.c:506 /work/sources/binutils/current/bfd/elfnn-aarch64.c:8092
+#: elf.c:513 elfnn-aarch64.c:8161
#, c-format
msgid "%pB symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
msgstr ""
-#: elf.c:671
-#, c-format
-msgid "%pB: corrupt size field in group section header: %#<PRIx64>"
-msgstr ""
-
-#: elf.c:687
+#: elf.c:678
#, c-format
msgid "%pB: invalid size field in group section header: %#<PRIx64>"
msgstr ""
-#: elf.c:735
+#: elf.c:723
#, c-format
msgid "%pB: invalid entry in SHT_GROUP section [%u]"
msgstr ""
-#: elf.c:754
+#: elf.c:742
#, c-format
msgid "%pB: no valid group sections found"
msgstr ""
#. See PR 21957 for a reproducer.
-#: elf.c:783
+#: elf.c:771
#, c-format
msgid "%pB: group section '%pA' has no contents"
msgstr ""
-#: elf.c:844
+#: elf.c:832
#, c-format
msgid "%pB: no group info for section '%pA'"
msgstr ""
-#: elf.c:875 elf.c:3953
+#: elf.c:862 elf.c:3959
#, c-format
msgid "%pB: warning: sh_link not set for section `%pA'"
msgstr ""
-#: elf.c:895
+#: elf.c:882
#, c-format
msgid "%pB: sh_link [%d] in section `%pA' is incorrect"
msgstr ""
-#: elf.c:908
+#: elf.c:895
#, c-format
msgid "%pB: SHT_GROUP section [index %d] has no SHF_GROUP sections"
msgstr ""
-#: elf.c:929
+#: elf.c:916
#, c-format
msgid "%pB: section group entry number %u is corrupt"
msgstr ""
-#: elf.c:952
+#: elf.c:939
#, c-format
msgid "%pB: unknown type [%#x] section `%s' in group [%pA]"
msgstr ""
-#: elf.c:1451
+#: elf.c:1441
#, c-format
msgid "%pB: invalid sh_link field (%d) in section number %d"
msgstr ""
-#: elf.c:1467
+#: elf.c:1457
#, c-format
msgid "%pB: failed to find link section for section %d"
msgstr ""
-#: elf.c:1494
+#: elf.c:1484
#, c-format
msgid "%pB: failed to find info section for section %d"
msgstr ""
-#: elf.c:1666
+#: elf.c:1656
#, c-format
msgid ""
"\n"
"Program Header:\n"
msgstr ""
-#: elf.c:1708
+#: elf.c:1698
#, c-format
msgid ""
"\n"
"Dynamic Section:\n"
msgstr ""
-#: elf.c:1849
+#: elf.c:1839
#, c-format
msgid ""
"\n"
"Version definitions:\n"
msgstr ""
-#: elf.c:1874
+#: elf.c:1864
#, c-format
msgid ""
"\n"
"Version References:\n"
msgstr ""
-#: elf.c:1879
+#: elf.c:1869
#, c-format
msgid " required from %s:\n"
msgstr ""
-#: elf.c:2079
+#: elf.c:2086
#, c-format
msgid "%pB: warning: loop in section dependencies detected"
msgstr ""
-#: elf.c:2187
+#: elf.c:2194
#, c-format
msgid ""
"%pB: warning: multiple symbol tables detected - ignoring the table in "
"section %u"
msgstr ""
-#: elf.c:2271
+#: elf.c:2278
#, c-format
msgid ""
"%pB: warning: multiple dynamic symbol tables detected - ignoring the table "
"in section %u"
msgstr ""
-#: elf.c:2384
+#: elf.c:2391
#, c-format
msgid "%pB: invalid link %u for reloc section %s (index %u)"
msgstr ""
-#: elf.c:2473
+#: elf.c:2482
#, c-format
msgid ""
-"%pB: warning: multiple relocation sections for section %pA found - ignoring "
-"all but the first"
+"%pB: warning: secondary relocation section '%s' for section %pA found - "
+"ignoring"
msgstr ""
-#: elf.c:2555 elf.c:2570 elf.c:2581 elf.c:2594
+#: elf.c:2566 elf.c:2581 elf.c:2592 elf.c:2605
#, c-format
msgid "%pB: unknown type [%#x] section `%s'"
msgstr ""
-#: elf.c:3314
+#: elf.c:3312
#, c-format
msgid "%pB: error: alignment power %d of section `%pA' is too big"
msgstr ""
-#: elf.c:3344
+#: elf.c:3345
#, c-format
msgid "warning: section `%pA' type changed to PROGBITS"
msgstr ""
-#: elf.c:3821
+#: elf.c:3828
#, c-format
msgid "%pB: too many sections: %u"
msgstr ""
-#: elf.c:3906
+#: elf.c:3913
#, c-format
msgid ""
"%pB: sh_link of section `%pA' points to discarded section `%pA' of `%pB'"
msgstr ""
-#: elf.c:3931
+#: elf.c:3938
#, c-format
msgid "%pB: sh_link of section `%pA' points to removed section `%pA' of `%pB'"
msgstr ""
-#: elf.c:4494
+#: elf.c:4499
#, c-format
msgid "%pB: GNU_MBIND section `%pA' has invalid sh_info field: %d"
msgstr ""
-#: elf.c:5082
+#: elf.c:5090
#, c-format
msgid "%pB: TLS sections are not adjacent:"
msgstr ""
-#: elf.c:5089
+#: elf.c:5097
#, c-format
msgid "\t TLS: %pA"
msgstr ""
-#: elf.c:5093
+#: elf.c:5101
#, c-format
msgid "\tnon-TLS: %pA"
msgstr ""
-#: elf.c:5671
+#: elf.c:5692
#, c-format
msgid ""
"%pB: The first section in the PT_DYNAMIC segment is not the .dynamic section"
msgstr ""
-#: elf.c:5697
+#: elf.c:5718
#, c-format
msgid "%pB: not enough room for program headers, try linking with -N"
msgstr ""
-#: elf.c:5808
+#: elf.c:5835
#, c-format
msgid "%pB: section %pA lma %#<PRIx64> adjusted to %#<PRIx64>"
msgstr ""
@@ -1228,80 +1216,156 @@ 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:5928
+#: elf.c:5972
#, c-format
msgid "%pB: error: PHDR segment not covered by LOAD segment"
msgstr ""
-#: elf.c:5964
+#: elf.c:6012
#, c-format
msgid "%pB: section `%pA' can't be allocated in segment %d"
msgstr ""
-#: elf.c:6095
+#: elf.c:6144
#, c-format
msgid "%pB: warning: allocated section `%s' not in segment"
msgstr ""
-#: elf.c:6256
+#: elf.c:6305
#, c-format
msgid ""
"%pB: error: non-load segment %d includes file header and/or program header"
msgstr ""
-#: elf.c:6760
+#: elf.c:6809
#, c-format
msgid "%pB: symbol `%s' required but not present"
msgstr ""
-#: elf.c:7102
+#: elf.c:7152
#, c-format
msgid ""
"%pB: warning: empty loadable segment detected at vaddr=%#<PRIx64>, is this "
"intentional?"
msgstr ""
-#: elf.c:7722
+#: elf.c:7778
#, c-format
msgid "%pB: warning: segment alignment of %#<PRIx64> is too large"
msgstr ""
-#: elf.c:8222
+#: elf.c:8291
+#, c-format
+msgid ""
+"%pB: Unable to handle section index %x in ELF symbol. Using ABS instead."
+msgstr ""
+
+#: elf.c:8321
#, c-format
msgid ""
"unable to find equivalent output section for symbol '%s' from section '%s'"
msgstr ""
-#: elf.c:8577
+#: elf.c:8708
#, c-format
msgid "%pB: .gnu.version_r invalid entry"
msgstr ""
-#: elf.c:8593
+#: elf.c:8841
#, c-format
-msgid "error: %pB version reference section is too large (%#<PRIx64> bytes)"
+msgid "%pB: .gnu.version_d invalid entry"
msgstr ""
-#: elf.c:8716
+#: elf.c:9299
#, c-format
-msgid "%pB: .gnu.version_d invalid entry"
+msgid ""
+"%pB:%pA: error: attempting to write into an unallocated compressed section"
+msgstr ""
+
+#: elf.c:9308
+#, c-format
+msgid "%pB:%pA: error: attempting to write over the end of the section"
+msgstr ""
+
+#: elf.c:9319
+#, c-format
+msgid "%pB:%pA: error: attempting to write section into an empty buffer"
msgstr ""
-#: elf.c:12238
+#: elf.c:12434
msgid "GNU_MBIND section is unsupported"
msgstr ""
-#: elf.c:12240
+#: elf.c:12436
msgid "symbol type STT_GNU_IFUNC is unsupported"
msgstr ""
-#: elf.c:12242
+#: elf.c:12438
msgid "symbol binding STB_GNU_UNIQUE is unsupported"
msgstr ""
-#: elf32-arc.c:459 elf32-frv.c:6624 elf32-iq2000.c:868 elf32-m32c.c:914
-#: elf32-mt.c:562 elf32-rl78.c:1260 elf32-rx.c:3199 elf32-visium.c:844
-#: elf64-ppc.c:5278
+#: elf.c:12622 elf64-sparc.c:123 elfcode.h:1485
+#, c-format
+msgid "%pB(%pA): relocation %d has invalid symbol index %ld"
+msgstr ""
+
+#: elf.c:12696
+#, c-format
+msgid ""
+"%pB(%pA): link section cannot be set because the output file does not have a "
+"symbol table"
+msgstr ""
+
+#: elf.c:12708
+#, c-format
+msgid "%pB(%pA): info section index is invalid"
+msgstr ""
+
+#: elf.c:12722
+#, c-format
+msgid ""
+"%pB(%pA): info section index cannot be set because the section is not in the "
+"output"
+msgstr ""
+
+#: elf.c:12788
+#, c-format
+msgid "%pB(%pA): error: secondary reloc section processed twice"
+msgstr ""
+
+#: elf.c:12800
+#, c-format
+msgid "%pB(%pA): error: secondary reloc section is empty!"
+msgstr ""
+
+#: elf.c:12823
+#, c-format
+msgid "%pB(%pA): error: internal relocs missing for secondary reloc section"
+msgstr ""
+
+#: elf.c:12842
+#, c-format
+msgid "%pB(%pA): error: reloc table entry %u is empty"
+msgstr ""
+
+#: elf.c:12867
+#, c-format
+msgid "%pB(%pA): error: secondary reloc %u references a missing symbol"
+msgstr ""
+
+#: elf.c:12884
+#, c-format
+msgid "%pB(%pA): error: secondary reloc %u references a deleted symbol"
+msgstr ""
+
+#: elf.c:12897
+#, c-format
+msgid "%pB(%pA): error: secondary reloc %u is of an unknown type"
+msgstr ""
+
+#: elf32-arc.c:459 elf32-frv.c:6628 elf32-iq2000.c:868 elf32-m32c.c:914
+#: elf32-mt.c:562 elf32-rl78.c:1260 elf32-rx.c:3207 elf32-visium.c:844
+#: elf64-ppc.c:5293
#, c-format
msgid "private flags = 0x%lx:"
msgstr ""
@@ -1348,7 +1412,7 @@ msgid ""
msgstr ""
#: elf32-arc.c:942 elf32-iq2000.c:844 elf32-m32c.c:889 elf32-m68hc1x.c:1391
-#: elf32-ppc.c:3859 elf64-sparc.c:727 elfxx-mips.c:15519
+#: elf32-ppc.c:3868 elf64-sparc.c:725 elfxx-mips.c:15534
#, c-format
msgid "%pB: uses different e_flags (%#x) fields than previous modules (%#x)"
msgstr ""
@@ -1379,35 +1443,34 @@ msgstr ""
msgid "GOT and PLT relocations cannot be fixed with a non dynamic linker"
msgstr ""
-#: elf32-arc.c:1912 elf32-rl78.c:1098 elf32-rx.c:1470
+#: elf32-arc.c:1912 elf32-rl78.c:1098 elf32-rx.c:1475
#, c-format
msgid ""
"%pB(%pA): warning: unaligned access to symbol '%s' in the small data area"
msgstr ""
-#: elf32-arc.c:1917 elf32-rl78.c:1103 elf32-rx.c:1475
+#: elf32-arc.c:1917 elf32-rl78.c:1103 elf32-rx.c:1480
#, c-format
msgid "%pB(%pA): internal error: out of range error"
msgstr ""
-#: elf32-arc.c:1922 elf32-rl78.c:1108 elf32-rx.c:1480
+#: elf32-arc.c:1922 elf32-rl78.c:1108 elf32-rx.c:1485
#, c-format
msgid "%pB(%pA): internal error: unsupported relocation error"
msgstr ""
-#: elf32-arc.c:1927 elf32-rl78.c:1113 elf32-rx.c:1485
+#: elf32-arc.c:1927 elf32-rl78.c:1113 elf32-rx.c:1490
#, c-format
msgid "%pB(%pA): internal error: dangerous relocation"
msgstr ""
-#: elf32-arc.c:1932 elf32-rl78.c:1118 elf32-rx.c:1490
+#: elf32-arc.c:1932 elf32-rl78.c:1118 elf32-rx.c:1495
#, c-format
msgid "%pB(%pA): internal error: unknown error"
msgstr ""
-#: elf32-arc.c:2025 elf32-arc.c:2093 elf32-arm.c:15563 elf32-metag.c:2257
-#: elf32-nds32.c:5642 /work/sources/binutils/current/bfd/elfnn-aarch64.c:7735
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:510
+#: elf32-arc.c:2025 elf32-arc.c:2093 elf32-arm.c:15577 elf32-metag.c:2257
+#: elf32-nds32.c:5642 elfnn-aarch64.c:7802 elfnn-riscv.c:518
#, c-format
msgid ""
"%pB: relocation %s against `%s' can not be used when making a shared object; "
@@ -1432,7 +1495,7 @@ msgid ""
"movw instruction"
msgstr ""
-#: elf32-arm.c:4426 elf32-arm.c:4480 elf32-arm.c:9172 elf32-arm.c:9262
+#: elf32-arm.c:4426 elf32-arm.c:4480 elf32-arm.c:9180 elf32-arm.c:9270
#, c-format
msgid ""
"%pB(%s): warning: interworking not enabled; first occurrence: %pB: %s call "
@@ -1451,129 +1514,137 @@ msgstr ""
msgid "no address assigned to the veneers output section %s"
msgstr ""
-#: elf32-arm.c:4850 elf32-arm.c:6991 elf32-csky.c:3286 elf32-hppa.c:588
-#: elf32-m68hc1x.c:165 elf32-metag.c:1186 elf32-nios2.c:2208 elf64-ppc.c:3746
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:3236
+#: elf32-arm.c:4850 elf32-arm.c:6999 elf32-csky.c:3286 elf32-hppa.c:588
+#: elf32-m68hc1x.c:165 elf32-metag.c:1186 elf32-nios2.c:2208 elf64-ppc.c:3768
+#: elfnn-aarch64.c:3236
#, c-format
msgid "%pB: cannot create stub entry %s"
msgstr ""
-#: elf32-arm.c:6033
+#: elf32-arm.c:5071 elf32-csky.c:3628 elf32-hppa.c:738 elf32-m68hc11.c:422
+#: elf32-m68hc12.c:542 elf32-metag.c:3480 elf32-nios2.c:2501 elf64-ppc.c:11374
+#: elfnn-aarch64.c:3305
+msgid ""
+"%F%P: Could not assign '%pA' to an output section. Retry without --enable-"
+"non-contiguous-regions.\n"
+msgstr ""
+
+#: elf32-arm.c:6041
#, c-format
msgid "%pB: special symbol `%s' only allowed for ARMv8-M architecture or later"
msgstr ""
-#: elf32-arm.c:6042
+#: elf32-arm.c:6050
#, c-format
msgid ""
"%pB: invalid special symbol `%s'; it must be a global or weak function symbol"
msgstr ""
-#: elf32-arm.c:6081
+#: elf32-arm.c:6089
#, c-format
msgid ""
"%pB: invalid standard symbol `%s'; it must be a global or weak function "
"symbol"
msgstr ""
-#: elf32-arm.c:6087
+#: elf32-arm.c:6095
#, c-format
msgid "%pB: absent standard symbol `%s'"
msgstr ""
-#: elf32-arm.c:6099
+#: elf32-arm.c:6107
#, c-format
msgid "%pB: `%s' and its special symbol are in different sections"
msgstr ""
-#: elf32-arm.c:6111
+#: elf32-arm.c:6119
#, c-format
msgid "%pB: entry function `%s' not output"
msgstr ""
-#: elf32-arm.c:6118
+#: elf32-arm.c:6126
#, c-format
msgid "%pB: entry function `%s' is empty"
msgstr ""
-#: elf32-arm.c:6247
+#: elf32-arm.c:6255
#, c-format
msgid "%pB: --in-implib only supported for Secure Gateway import libraries"
msgstr ""
-#: elf32-arm.c:6296
+#: elf32-arm.c:6304
#, c-format
msgid ""
"%pB: invalid import library entry: `%s'; symbol should be absolute, global "
"and refer to Thumb functions"
msgstr ""
-#: elf32-arm.c:6318
+#: elf32-arm.c:6326
#, c-format
msgid "entry function `%s' disappeared from secure code"
msgstr ""
-#: elf32-arm.c:6342
+#: elf32-arm.c:6350
#, c-format
msgid "`%s' refers to a non entry function"
msgstr ""
-#: elf32-arm.c:6357
+#: elf32-arm.c:6365
#, c-format
msgid "%pB: visibility of symbol `%s' has changed"
msgstr ""
-#: elf32-arm.c:6366
+#: elf32-arm.c:6374
#, c-format
msgid "%pB: incorrect size for symbol `%s'"
msgstr ""
-#: elf32-arm.c:6385
+#: elf32-arm.c:6393
#, c-format
msgid "offset of veneer for entry function `%s' not a multiple of its size"
msgstr ""
-#: elf32-arm.c:6405
+#: elf32-arm.c:6413
msgid ""
"new entry function(s) introduced but no output import library specified:"
msgstr ""
-#: elf32-arm.c:6413
+#: elf32-arm.c:6421
#, c-format
msgid "start address of `%s' is different from previous link"
msgstr ""
-#: elf32-arm.c:7124 elf32-arm.c:7159
+#: elf32-arm.c:7132 elf32-arm.c:7167
#, c-format
msgid "unable to find %s glue '%s' for '%s'"
msgstr ""
-#: elf32-arm.c:7870
+#: elf32-arm.c:7878
#, 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:8101
+#: elf32-arm.c:8109
#, c-format
msgid ""
"%pB: warning: selected VFP11 erratum workaround is not necessary for target "
"architecture"
msgstr ""
-#: elf32-arm.c:8128
+#: elf32-arm.c:8136
#, c-format
msgid ""
"%pB: warning: selected STM32L4XX erratum workaround is not necessary for "
"target architecture"
msgstr ""
-#: elf32-arm.c:8666 elf32-arm.c:8686 elf32-arm.c:8753 elf32-arm.c:8772
+#: elf32-arm.c:8674 elf32-arm.c:8694 elf32-arm.c:8761 elf32-arm.c:8780
#, c-format
msgid "%pB: unable to find %s veneer `%s'"
msgstr ""
-#: elf32-arm.c:8979
+#: elf32-arm.c:8987
#, c-format
msgid ""
"%pB(%pA+%#x): error: multiple load detected in non-last IT block "
@@ -1581,202 +1652,199 @@ msgid ""
"it to generate only one instruction per IT block"
msgstr ""
-#: elf32-arm.c:9079
+#: elf32-arm.c:9087
#, c-format
msgid "invalid TARGET2 relocation type '%s'"
msgstr ""
#. FIXME: We ought to be able to generate thumb-1 PLT
#. instructions...
-#: elf32-arm.c:9881
+#: elf32-arm.c:9889
#, c-format
msgid "%pB: warning: thumb-1 mode PLT generation not currently supported"
msgstr ""
-#: elf32-arm.c:10185 elf32-arm.c:10227
+#: elf32-arm.c:10199 elf32-arm.c:10241
#, c-format
msgid "%pB(%pA+%#<PRIx64>): unexpected %s instruction '%#lx' in TLS trampoline"
msgstr ""
-#: elf32-arm.c:10571
+#: elf32-arm.c:10585
msgid "shared object"
msgstr ""
-#: elf32-arm.c:10574
+#: elf32-arm.c:10588
msgid "PIE executable"
msgstr ""
-#: elf32-arm.c:10577
+#: elf32-arm.c:10591
#, 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:10714 elf32-arm.c:11141
+#: elf32-arm.c:10728 elf32-arm.c:11155
#, c-format
msgid "%pB: warning: %s BLX instruction targets %s function '%s'"
msgstr ""
-#: elf32-arm.c:12053 elf32-arm.c:12079
+#: elf32-arm.c:12067 elf32-arm.c:12093
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): unexpected %s instruction '%#lx' referenced by "
"TLS_GOTDESC"
msgstr ""
-#: elf32-arm.c:12125 elf32-csky.c:4852 elf32-m68k.c:3716 elf32-metag.c:1919
-#: elf32-nios2.c:4378
+#: elf32-arm.c:12139 elf32-csky.c:4860 elf32-m68k.c:3716 elf32-metag.c:1919
+#: elf32-nios2.c:4389
#, c-format
msgid "%pB(%pA+%#<PRIx64>): %s relocation not permitted in shared object"
msgstr ""
-#: elf32-arm.c:12339
+#: elf32-arm.c:12353
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): only ADD or SUB instructions are allowed for ALU group "
"relocations"
msgstr ""
-#: elf32-arm.c:12380 elf32-arm.c:12472 elf32-arm.c:12560 elf32-arm.c:12650
+#: elf32-arm.c:12394 elf32-arm.c:12486 elf32-arm.c:12574 elf32-arm.c:12664
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): overflow whilst splitting %#<PRIx64> for group "
"relocation %s"
msgstr ""
-#: elf32-arm.c:13282 elf32-sh.c:3691
+#: elf32-arm.c:13296 elf32-sh.c:3682
#, c-format
msgid "%pB(%pA+%#<PRIx64>): %s relocation against SEC_MERGE section"
msgstr ""
-#: elf32-arm.c:13395 elf32-m68k.c:3949 elf32-xtensa.c:2707
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6808
+#: elf32-arm.c:13409 elf32-m68k.c:3949 elf32-xtensa.c:2751 elfnn-aarch64.c:6875
#, c-format
msgid "%pB(%pA+%#<PRIx64>): %s used with TLS symbol %s"
msgstr ""
-#: elf32-arm.c:13397 elf32-m68k.c:3951 elf32-xtensa.c:2709
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6810
+#: elf32-arm.c:13411 elf32-m68k.c:3951 elf32-xtensa.c:2753 elfnn-aarch64.c:6877
#, c-format
msgid "%pB(%pA+%#<PRIx64>): %s used with non-TLS symbol %s"
msgstr ""
-#: elf32-arm.c:13480 elf32-tic6x.c:2708
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7145
+#: elf32-arm.c:13494 elf32-tic6x.c:2708 elfnn-aarch64.c:7212
msgid "out of range"
msgstr ""
-#: elf32-arm.c:13484 elf32-nios2.c:4512 elf32-pru.c:936 elf32-tic6x.c:2712
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7149
+#: elf32-arm.c:13498 elf32-nios2.c:4523 elf32-pru.c:936 elf32-tic6x.c:2712
+#: elfnn-aarch64.c:7216
msgid "unsupported relocation"
msgstr ""
-#: elf32-arm.c:13492 elf32-nios2.c:4522 elf32-pru.c:946 elf32-tic6x.c:2720
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7157
+#: elf32-arm.c:13506 elf32-nios2.c:4533 elf32-pru.c:946 elf32-tic6x.c:2720
+#: elfnn-aarch64.c:7224
msgid "unknown error"
msgstr ""
-#: elf32-arm.c:13970
+#: elf32-arm.c:13984
#, c-format
msgid ""
"warning: not setting interworking flag of %pB since it has already been "
"specified as non-interworking"
msgstr ""
-#: elf32-arm.c:13974
+#: elf32-arm.c:13988
#, c-format
msgid "warning: clearing the interworking flag of %pB due to outside request"
msgstr ""
-#: elf32-arm.c:14019
+#: elf32-arm.c:14033
#, 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:14106
+#: elf32-arm.c:14120
#, c-format
msgid "%pB: unknown mandatory EABI object attribute %d"
msgstr ""
-#: elf32-arm.c:14114
+#: elf32-arm.c:14128
#, c-format
msgid "warning: %pB: unknown EABI object attribute %d"
msgstr ""
-#: elf32-arm.c:14414
+#: elf32-arm.c:14428
#, c-format
msgid "error: %pB: unknown CPU architecture"
msgstr ""
-#: elf32-arm.c:14452 elf32-nios2.c:2946
+#: elf32-arm.c:14466 elf32-nios2.c:2957
#, c-format
msgid "error: %pB: conflicting CPU architectures %d/%d"
msgstr ""
-#: elf32-arm.c:14549
+#: elf32-arm.c:14563
#, c-format
msgid ""
"Error: %pB has both the current and legacy Tag_MPextension_use attributes"
msgstr ""
-#: elf32-arm.c:14578
+#: elf32-arm.c:14592
#, c-format
msgid "error: %pB uses VFP register arguments, %pB does not"
msgstr ""
-#: elf32-arm.c:14737
+#: elf32-arm.c:14751
#, c-format
msgid "error: %pB: unable to merge virtualization attributes with %pB"
msgstr ""
-#: elf32-arm.c:14763
+#: elf32-arm.c:14777
#, c-format
msgid "error: %pB: conflicting architecture profiles %c/%c"
msgstr ""
-#: elf32-arm.c:14902
+#: elf32-arm.c:14916
#, c-format
msgid "warning: %pB: conflicting platform configuration"
msgstr ""
-#: elf32-arm.c:14911
+#: elf32-arm.c:14925
#, c-format
msgid "error: %pB: conflicting use of R9"
msgstr ""
-#: elf32-arm.c:14923
+#: elf32-arm.c:14937
#, c-format
msgid "error: %pB: SB relative addressing conflicts with use of R9"
msgstr ""
-#: elf32-arm.c:14936
+#: elf32-arm.c:14950
#, 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:14967
+#: elf32-arm.c:14981
#, 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:14979
+#: elf32-arm.c:14993
#, c-format
msgid "error: %pB uses iWMMXt register arguments, %pB does not"
msgstr ""
-#: elf32-arm.c:14996
+#: elf32-arm.c:15010
#, c-format
msgid "error: fp16 format mismatch between %pB and %pB"
msgstr ""
-#: elf32-arm.c:15032
+#: elf32-arm.c:15046
#, c-format
msgid "%pB has both the current and legacy Tag_MPextension_use attributes"
msgstr ""
@@ -1786,266 +1854,263 @@ 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:15119 elf32-bfin.c:4735 elf32-cris.c:3906 elf32-m68hc1x.c:1416
-#: elf32-m68k.c:1205 elf32-score.c:3999 elf32-score7.c:3804 elf32-vax.c:537
-#: elf32-xgate.c:494 elfxx-mips.c:16204
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7311
+#: elf32-arm.c:15133 elf32-bfin.c:4735 elf32-cris.c:3906 elf32-m68hc1x.c:1416
+#: elf32-m68k.c:1205 elf32-score.c:4000 elf32-score7.c:3805 elf32-vax.c:537
+#: elf32-xgate.c:494 elfxx-mips.c:16220 elfnn-aarch64.c:7378
#, c-format
msgid "private flags = %lx:"
msgstr ""
-#: elf32-arm.c:15128
+#: elf32-arm.c:15142
#, c-format
msgid " [interworking enabled]"
msgstr ""
-#: elf32-arm.c:15136
+#: elf32-arm.c:15150
#, c-format
msgid " [VFP float format]"
msgstr ""
-#: elf32-arm.c:15138
+#: elf32-arm.c:15152
#, c-format
msgid " [Maverick float format]"
msgstr ""
-#: elf32-arm.c:15140
+#: elf32-arm.c:15154
#, c-format
msgid " [FPA float format]"
msgstr ""
-#: elf32-arm.c:15143
+#: elf32-arm.c:15157
#, c-format
msgid " [floats passed in float registers]"
msgstr ""
-#: elf32-arm.c:15146 elf32-arm.c:15232
+#: elf32-arm.c:15160 elf32-arm.c:15246
#, c-format
msgid " [position independent]"
msgstr ""
-#: elf32-arm.c:15149
+#: elf32-arm.c:15163
#, c-format
msgid " [new ABI]"
msgstr ""
-#: elf32-arm.c:15152
+#: elf32-arm.c:15166
#, c-format
msgid " [old ABI]"
msgstr ""
-#: elf32-arm.c:15155
+#: elf32-arm.c:15169
#, c-format
msgid " [software FP]"
msgstr ""
-#: elf32-arm.c:15164
+#: elf32-arm.c:15178
#, c-format
msgid " [Version1 EABI]"
msgstr ""
-#: elf32-arm.c:15167 elf32-arm.c:15178
+#: elf32-arm.c:15181 elf32-arm.c:15192
#, c-format
msgid " [sorted symbol table]"
msgstr ""
-#: elf32-arm.c:15169 elf32-arm.c:15180
+#: elf32-arm.c:15183 elf32-arm.c:15194
#, c-format
msgid " [unsorted symbol table]"
msgstr ""
-#: elf32-arm.c:15175
+#: elf32-arm.c:15189
#, c-format
msgid " [Version2 EABI]"
msgstr ""
-#: elf32-arm.c:15183
+#: elf32-arm.c:15197
#, c-format
msgid " [dynamic symbols use segment index]"
msgstr ""
-#: elf32-arm.c:15186
+#: elf32-arm.c:15200
#, c-format
msgid " [mapping symbols precede others]"
msgstr ""
-#: elf32-arm.c:15193
+#: elf32-arm.c:15207
#, c-format
msgid " [Version3 EABI]"
msgstr ""
-#: elf32-arm.c:15197
+#: elf32-arm.c:15211
#, c-format
msgid " [Version4 EABI]"
msgstr ""
-#: elf32-arm.c:15201
+#: elf32-arm.c:15215
#, c-format
msgid " [Version5 EABI]"
msgstr ""
-#: elf32-arm.c:15204
+#: elf32-arm.c:15218
#, c-format
msgid " [soft-float ABI]"
msgstr ""
-#: elf32-arm.c:15207
+#: elf32-arm.c:15221
#, c-format
msgid " [hard-float ABI]"
msgstr ""
-#: elf32-arm.c:15213
+#: elf32-arm.c:15227
#, c-format
msgid " [BE8]"
msgstr ""
-#: elf32-arm.c:15216
+#: elf32-arm.c:15230
#, c-format
msgid " [LE8]"
msgstr ""
-#: elf32-arm.c:15222
+#: elf32-arm.c:15236
#, c-format
msgid " <EABI version unrecognised>"
msgstr ""
-#: elf32-arm.c:15229
+#: elf32-arm.c:15243
#, c-format
msgid " [relocatable executable]"
msgstr ""
-#: elf32-arm.c:15235
+#: elf32-arm.c:15249
#, c-format
msgid " [FDPIC ABI supplement]"
msgstr ""
-#: elf32-arm.c:15240 /work/sources/binutils/current/bfd/elfnn-aarch64.c:7314
+#: elf32-arm.c:15254 elfnn-aarch64.c:7381
#, c-format
msgid "<Unrecognised flag bits set>"
msgstr ""
-#: elf32-arm.c:15357 elf32-i386.c:1529 elf32-s390.c:960 elf32-tic6x.c:2783
-#: elf32-tilepro.c:1478 elf32-xtensa.c:1034 elf64-s390.c:882
-#: elf64-x86-64.c:1874 elfxx-sparc.c:1421 elfxx-tilegx.c:1699
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7602
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:552
+#: elf32-arm.c:15371 elf32-i386.c:1542 elf32-s390.c:960 elf32-tic6x.c:2783
+#: elf32-tilepro.c:1478 elf32-xtensa.c:1072 elf64-s390.c:882
+#: elf64-x86-64.c:1918 elfxx-sparc.c:1421 elfxx-tilegx.c:1699
+#: elfnn-aarch64.c:7669 elfnn-riscv.c:560
#, c-format
msgid "%pB: bad symbol index: %d"
msgstr ""
-#: elf32-arm.c:15746
+#: elf32-arm.c:15760
#, c-format
msgid ""
"FDPIC does not yet support %s relocation to become dynamic for executable"
msgstr ""
-#: elf32-arm.c:16740 elf32-csky.c:1932 elf32-hppa.c:2096 elf32-lm32.c:1999
-#: elf32-m32r.c:2110 elf32-metag.c:2795 elf32-nds32.c:4334 elf32-or1k.c:2858
-#: elf32-ppc.c:5442 elf32-s390.c:1853 elf32-sh.c:2977 elf32-tic6x.c:3252
-#: elf32-tilepro.c:2244 elf64-ppc.c:9713 elf64-s390.c:1789 elfxx-sparc.c:2432
-#: elfxx-tilegx.c:2490 elfxx-x86.c:571
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:8865
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:1155
+#: elf32-arm.c:16754 elf32-csky.c:1932 elf32-hppa.c:2123 elf32-lm32.c:1999
+#: elf32-m32r.c:2110 elf32-metag.c:2795 elf32-nds32.c:4334 elf32-or1k.c:2967
+#: elf32-ppc.c:5451 elf32-s390.c:1853 elf32-sh.c:2977 elf32-tic6x.c:3252
+#: elf32-tilepro.c:2244 elf64-alpha.c:2020 elf64-alpha.c:2715 elf64-ppc.c:9917
+#: elf64-s390.c:1789 elfxx-sparc.c:2432 elfxx-tilegx.c:2490 elfxx-x86.c:574
+#: elfnn-aarch64.c:8934 elfnn-riscv.c:1163
#, c-format
msgid "%pB: dynamic relocation against `%pT' in read-only section `%pA'\n"
msgstr ""
-#: elf32-arm.c:17036
+#: elf32-arm.c:17050
#, c-format
msgid "errors encountered processing file %pB"
msgstr ""
-#: elf32-arm.c:17483 elflink.c:12692 elflink.c:12739
+#: elf32-arm.c:17497 elflink.c:12808 elflink.c:12855
#, c-format
msgid "could not find section %s"
msgstr ""
-#: elf32-arm.c:18702
+#: elf32-arm.c:18716
#, 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:18729
+#: elf32-arm.c:18743
#, c-format
msgid "%pB: error: Cortex-A8 erratum stub out of range (input file too large)"
msgstr ""
-#: elf32-arm.c:19556 elf32-arm.c:19578
+#: elf32-arm.c:19570 elf32-arm.c:19592
#, c-format
msgid "%pB: error: VFP11 veneer out of range"
msgstr ""
-#: elf32-arm.c:19629
+#: elf32-arm.c:19643
#, 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:19668
+#: elf32-arm.c:19682
#, c-format
msgid "%pB: error: cannot create STM32L4XX veneer"
msgstr ""
-#: elf32-arm.c:20749
+#: elf32-arm.c:20763
#, c-format
msgid "error: %pB is already in final BE8 format"
msgstr ""
-#: elf32-arm.c:20825
+#: elf32-arm.c:20839
#, c-format
msgid ""
"error: source object %pB has EABI version %d, but target %pB has EABI "
"version %d"
msgstr ""
-#: elf32-arm.c:20840
+#: elf32-arm.c:20854
#, c-format
msgid "error: %pB is compiled for APCS-%d, whereas target %pB uses APCS-%d"
msgstr ""
-#: elf32-arm.c:20850
+#: elf32-arm.c:20864
#, c-format
msgid ""
"error: %pB passes floats in float registers, whereas %pB passes them in "
"integer registers"
msgstr ""
-#: elf32-arm.c:20854
+#: elf32-arm.c:20868
#, c-format
msgid ""
"error: %pB passes floats in integer registers, whereas %pB passes them in "
"float registers"
msgstr ""
-#: elf32-arm.c:20864 elf32-arm.c:20868 elf32-arm.c:20878
+#: elf32-arm.c:20878 elf32-arm.c:20882 elf32-arm.c:20892
#, c-format
msgid "error: %pB uses %s instructions, whereas %pB does not"
msgstr ""
-#: elf32-arm.c:20882
+#: elf32-arm.c:20896
#, c-format
msgid "error: %pB does not use %s instructions, whereas %pB does"
msgstr ""
-#: elf32-arm.c:20901
+#: elf32-arm.c:20915
#, c-format
msgid "error: %pB uses software FP, whereas %pB uses hardware FP"
msgstr ""
-#: elf32-arm.c:20905
+#: elf32-arm.c:20919
#, c-format
msgid "error: %pB uses hardware FP, whereas %pB uses software FP"
msgstr ""
-#: elf32-arm.c:20919
+#: elf32-arm.c:20933
#, c-format
msgid "warning: %pB supports interworking, whereas %pB does not"
msgstr ""
-#: elf32-arm.c:20925
+#: elf32-arm.c:20939
#, c-format
msgid "warning: %pB does not support interworking, whereas %pB does"
msgstr ""
@@ -2053,13 +2118,13 @@ msgstr ""
#: elf32-avr.c:1518 elf32-bfin.c:3130 elf32-cris.c:2041 elf32-epiphany.c:577
#: elf32-fr30.c:602 elf32-frv.c:4053 elf32-ft32.c:502 elf32-ip2k.c:1493
#: elf32-iq2000.c:699 elf32-m32c.c:632 elf32-mep.c:534 elf32-metag.c:1998
-#: elf32-moxie.c:296 elf32-msp430.c:1369 elf32-mt.c:406 elf32-or1k.c:1767
+#: elf32-moxie.c:296 elf32-msp430.c:1375 elf32-mt.c:406 elf32-or1k.c:1829
#: elf32-tilepro.c:3513 elf32-v850.c:2298 elf32-visium.c:688
#: elf32-xstormy16.c:937 elf64-bpf.c:496 elf64-mmix.c:1549 elfxx-tilegx.c:3877
msgid "internal error: dangerous relocation"
msgstr ""
-#: elf32-avr.c:3338 /work/sources/binutils/current/bfd/elfnn-aarch64.c:3267
+#: elf32-avr.c:3338 elfnn-aarch64.c:3267
#, c-format
msgid "cannot create stub entry %s"
msgstr ""
@@ -2073,8 +2138,8 @@ msgstr ""
msgid "%pB(%pA+%#<PRIx64>): unresolvable relocation against symbol `%s'"
msgstr ""
-#: elf32-bfin.c:1616 elf32-i386.c:3443 elf32-m68k.c:3989 elf32-s390.c:3268
-#: elf64-s390.c:3217 elf64-x86-64.c:4011
+#: elf32-bfin.c:1616 elf32-i386.c:3461 elf32-m68k.c:3989 elf32-s390.c:3268
+#: elf64-s390.c:3217 elf64-x86-64.c:4128
#, c-format
msgid "%pB(%pA+%#<PRIx64>): reloc against `%s': error %d"
msgstr ""
@@ -2098,7 +2163,7 @@ msgstr ""
msgid "cannot emit fixups in read-only section"
msgstr ""
-#: elf32-bfin.c:2821 elf32-bfin.c:2949 elf32-lm32.c:1049 elf32-sh.c:4513
+#: elf32-bfin.c:2821 elf32-bfin.c:2949 elf32-lm32.c:1049 elf32-sh.c:4500
msgid "cannot emit dynamic relocations in read-only section"
msgstr ""
@@ -2114,27 +2179,27 @@ msgstr ""
msgid "warning: relocation references a different segment"
msgstr ""
-#: elf32-bfin.c:4782 elf32-frv.c:6597
+#: elf32-bfin.c:4786 elf32-frv.c:6601
#, c-format
msgid "%pB: cannot link non-fdpic object file into fdpic executable"
msgstr ""
-#: elf32-bfin.c:4786 elf32-frv.c:6601
+#: elf32-bfin.c:4790 elf32-frv.c:6605
#, c-format
msgid "%pB: cannot link fdpic object file into non-fdpic executable"
msgstr ""
-#: elf32-bfin.c:4936
+#: elf32-bfin.c:4940
#, c-format
msgid "*** check this relocation %s"
msgstr ""
-#: elf32-bfin.c:5052
+#: elf32-bfin.c:5056
msgid ""
"the bfin target does not currently support the generation of copy relocations"
msgstr ""
-#: elf32-bfin.c:5346 elf32-cr16.c:2801 elf32-m68k.c:4403
+#: elf32-bfin.c:5350 elf32-cr16.c:2801 elf32-m68k.c:4403
msgid "unsupported relocation type"
msgstr ""
@@ -2304,7 +2369,7 @@ msgid ""
msgstr ""
#. The r_type is error, not support it.
-#: elf32-csky.c:4224 elf32-i386.c:351
+#: elf32-csky.c:4232 elf32-i386.c:351
#, c-format
msgid "%pB: unsupported relocation type: %#x"
msgstr ""
@@ -2407,18 +2472,18 @@ msgstr ""
msgid "%H: reloc against `%s': %s\n"
msgstr ""
-#: elf32-frv.c:6508
+#: elf32-frv.c:6512
#, c-format
msgid ""
"%pB: compiled with %s and linked with modules that use non-pic relocations"
msgstr ""
-#: elf32-frv.c:6562 elf32-iq2000.c:830 elf32-m32c.c:876
+#: elf32-frv.c:6566 elf32-iq2000.c:830 elf32-m32c.c:876
#, c-format
msgid "%pB: compiled with %s and linked with modules compiled with %s"
msgstr ""
-#: elf32-frv.c:6575
+#: elf32-frv.c:6579
#, c-format
msgid ""
"%pB: uses different unknown e_flags (%#x) fields than previous modules (%#x)"
@@ -2429,118 +2494,124 @@ msgstr ""
msgid "%pB: relocations in generic ELF (EM: %d)"
msgstr ""
-#: elf32-hppa.c:842 elf32-hppa.c:3518
+#: elf32-hppa.c:767 elf32-hppa.c:848 elf64-ppc.c:11918
+msgid ""
+"%F%P: Could not assign %pA to an output section. Retry without --enable-non-"
+"contiguous-regions.\n"
+msgstr ""
+
+#: elf32-hppa.c:869 elf32-hppa.c:3545
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): cannot reach %s, recompile with -ffunction-sections"
msgstr ""
-#: elf32-hppa.c:1256
+#: elf32-hppa.c:1283
#, c-format
msgid ""
"%pB: relocation %s can not be used when making a shared object; recompile "
"with -fPIC"
msgstr ""
-#: elf32-hppa.c:2695
+#: elf32-hppa.c:2722
#, c-format
msgid "%pB: duplicate export stub %s"
msgstr ""
-#: elf32-hppa.c:3351
+#: elf32-hppa.c:3378
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): %s fixup for insn %#x is not supported in a non-shared "
"link"
msgstr ""
-#: elf32-hppa.c:4147
+#: elf32-hppa.c:4174
#, c-format
msgid "%s has both normal and TLS relocs"
msgstr ""
-#: elf32-hppa.c:4165
+#: elf32-hppa.c:4192
#, c-format
msgid "%pB:%s has both normal and TLS relocs"
msgstr ""
-#: elf32-hppa.c:4224
+#: elf32-hppa.c:4251
#, c-format
msgid "%pB(%pA+%#<PRIx64>): cannot handle %s for %s"
msgstr ""
-#: elf32-hppa.c:4528
+#: elf32-hppa.c:4555
msgid ".got section not immediately after .plt section"
msgstr ""
-#: elf32-i386.c:1178 elf64-x86-64.c:1377
+#: elf32-i386.c:1178 elf64-x86-64.c:1389
#, c-format
msgid ""
"%pB: TLS transition from %s to %s against `%s' at %#<PRIx64> in section `"
"%pA' failed"
msgstr ""
-#: elf32-i386.c:1269
+#: elf32-i386.c:1281
#, c-format
msgid ""
"%pB: direct GOT relocation R_386_GOT32X against `%s' without base register "
"can not be used when making a shared object"
msgstr ""
-#: elf32-i386.c:1722 elf32-s390.c:1188 elf32-sh.c:5662 elf32-tilepro.c:1591
-#: elf32-xtensa.c:1206 elf64-s390.c:1120 elfxx-sparc.c:1590 elfxx-tilegx.c:1804
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:464
+#: elf32-i386.c:1739 elf32-s390.c:1188 elf32-sh.c:5649 elf32-tilepro.c:1591
+#: elf32-xtensa.c:1244 elf64-s390.c:1120 elfxx-sparc.c:1590 elfxx-tilegx.c:1804
+#: elfnn-riscv.c:472
#, c-format
msgid "%pB: `%s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf32-i386.c:1794
+#: elf32-i386.c:1811
#, c-format
msgid "%pB: unsupported non-PIC call to IFUNC `%s'"
msgstr ""
-#: elf32-i386.c:2373 elf64-x86-64.c:2674
+#: elf32-i386.c:2391 elf64-x86-64.c:2737
#, c-format
msgid "%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't supported"
msgstr ""
-#: elf32-i386.c:2406 elf32-i386.c:3654 elf32-i386.c:3795 elf64-x86-64.c:2731
-#: elf64-x86-64.c:4184 elf64-x86-64.c:4340
+#: elf32-i386.c:2424 elf32-i386.c:3672 elf32-i386.c:3813 elf64-x86-64.c:2794
+#: elf64-x86-64.c:4301 elf64-x86-64.c:4457
#, c-format
msgid "Local IFUNC function `%s' in %pB\n"
msgstr ""
-#: elf32-i386.c:2563
+#: elf32-i386.c:2581
#, c-format
msgid ""
"%pB: direct GOT relocation %s against `%s' without base register can not be "
"used when making a shared object"
msgstr ""
-#: elf32-i386.c:2598 elf64-x86-64.c:2923
+#: elf32-i386.c:2616 elf64-x86-64.c:2993
msgid "hidden symbol"
msgstr ""
-#: elf32-i386.c:2601 elf64-x86-64.c:2926
+#: elf32-i386.c:2619 elf64-x86-64.c:2996
msgid "internal symbol"
msgstr ""
-#: elf32-i386.c:2604 elf64-x86-64.c:2929
+#: elf32-i386.c:2622 elf64-x86-64.c:2999
msgid "protected symbol"
msgstr ""
-#: elf32-i386.c:2607 elf64-x86-64.c:2932
+#: elf32-i386.c:2625 elf64-x86-64.c:3002
msgid "symbol"
msgstr ""
-#: elf32-i386.c:2613
+#: elf32-i386.c:2631
#, c-format
msgid ""
"%pB: relocation R_386_GOTOFF against undefined %s `%s' can not be used when "
"making a shared object"
msgstr ""
-#: elf32-i386.c:2626
+#: elf32-i386.c:2644
#, c-format
msgid ""
"%pB: relocation R_386_GOTOFF against protected %s `%s' can not be used when "
@@ -2567,11 +2638,11 @@ msgid ""
"ip2k linker: redundant page instruction at %#<PRIx64> (dest = %#<PRIx64>)"
msgstr ""
-#: elf32-lm32.c:651 elf32-nios2.c:3141
+#: elf32-lm32.c:651 elf32-nios2.c:3152
msgid "global pointer relative relocation when _gp not defined"
msgstr ""
-#: elf32-lm32.c:706 elf32-nios2.c:3578
+#: elf32-lm32.c:706 elf32-nios2.c:3589
msgid "global pointer relative address out of range"
msgstr ""
@@ -2594,7 +2665,7 @@ msgstr ""
msgid "%pB: instruction set mismatch with previous modules"
msgstr ""
-#: elf32-m32r.c:3508 elf32-nds32.c:6995
+#: elf32-m32r.c:3508 elf32-nds32.c:6999
#, c-format
msgid "private flags = %lx"
msgstr ""
@@ -2718,7 +2789,7 @@ msgstr ""
msgid " [XGATE RAM offsetting]"
msgstr ""
-#: elf32-m68k.c:1220 elf32-m68k.c:1221 vms-alpha.c:7581 vms-alpha.c:7597
+#: elf32-m68k.c:1220 elf32-m68k.c:1221 vms-alpha.c:7635 vms-alpha.c:7651
msgid "unknown"
msgstr ""
@@ -2785,50 +2856,50 @@ msgstr ""
msgid "32bits gp relative relocation occurs for an external symbol"
msgstr ""
-#: elf32-msp430.c:840 elf32-msp430.c:1154
+#: elf32-msp430.c:846 elf32-msp430.c:1160
msgid "try enabling relaxation to avoid relocation truncations"
msgstr ""
-#: elf32-msp430.c:1361
+#: elf32-msp430.c:1367
msgid "internal error: branch/jump to an odd address detected"
msgstr ""
-#: elf32-msp430.c:2360
+#: elf32-msp430.c:2535
#, c-format
msgid "warning: %pB: unknown MSPABI object attribute %d"
msgstr ""
-#: elf32-msp430.c:2461
+#: elf32-msp430.c:2636
#, c-format
msgid "error: %pB uses %s instructions but %pB uses %s"
msgstr ""
-#: elf32-msp430.c:2473
+#: elf32-msp430.c:2648
#, c-format
msgid "error: %pB uses the %s code model whereas %pB uses the %s code model"
msgstr ""
-#: elf32-msp430.c:2486
+#: elf32-msp430.c:2661
#, c-format
msgid "error: %pB uses the large code model but %pB uses MSP430 instructions"
msgstr ""
-#: elf32-msp430.c:2497
+#: elf32-msp430.c:2672
#, c-format
msgid "error: %pB uses the %s data model whereas %pB uses the %s data model"
msgstr ""
-#: elf32-msp430.c:2510
+#: elf32-msp430.c:2685
#, c-format
msgid "error: %pB uses the small code model but %pB uses the %s data model"
msgstr ""
-#: elf32-msp430.c:2522
+#: elf32-msp430.c:2697
#, c-format
msgid "error: %pB uses the %s data model but %pB only uses MSP430 instructions"
msgstr ""
-#: elf32-msp430.c:2547
+#: elf32-msp430.c:2722
#, c-format
msgid ""
"error: %pB can use the upper region for data, but %pB assumes data is "
@@ -2867,151 +2938,151 @@ msgid ""
"current %u-byte"
msgstr ""
-#: elf32-nds32.c:6831
+#: elf32-nds32.c:6835
#, c-format
msgid "%pB: warning: endian mismatch with previous modules"
msgstr ""
-#: elf32-nds32.c:6845
+#: elf32-nds32.c:6849
#, c-format
msgid ""
"%pB: warning: older version of object file encountered, please recompile "
"with current tool chain"
msgstr ""
-#: elf32-nds32.c:6933
+#: elf32-nds32.c:6937
#, c-format
msgid "%pB: error: ABI mismatch with previous modules"
msgstr ""
-#: elf32-nds32.c:6943
+#: elf32-nds32.c:6947
#, c-format
msgid "%pB: error: instruction set mismatch with previous modules"
msgstr ""
-#: elf32-nds32.c:6970
+#: elf32-nds32.c:6974
#, c-format
msgid "%pB: warning: incompatible elf-versions %s and %s"
msgstr ""
-#: elf32-nds32.c:7001
+#: elf32-nds32.c:7005
#, c-format
msgid ": n1 instructions"
msgstr ""
-#: elf32-nds32.c:7004
+#: elf32-nds32.c:7008
#, c-format
msgid ": n1h instructions"
msgstr ""
-#: elf32-nds32.c:9465
+#: elf32-nds32.c:9469
#, c-format
msgid "%pB: error: search_nds32_elf_blank reports wrong node"
msgstr ""
-#: elf32-nds32.c:9725
+#: elf32-nds32.c:9729
#, c-format
msgid "%pB: warning: %s points to unrecognized reloc at %#<PRIx64>"
msgstr ""
-#: elf32-nds32.c:12978
+#: elf32-nds32.c:12994
#, c-format
msgid "%pB: nested OMIT_FP in %pA"
msgstr ""
-#: elf32-nds32.c:12997
+#: elf32-nds32.c:13013
#, c-format
msgid "%pB: unmatched OMIT_FP in %pA"
msgstr ""
-#: elf32-nds32.c:13279 reloc.c:8442
+#: elf32-nds32.c:13295 reloc.c:8470
#, c-format
msgid "%X%P: %pB(%pA): relocation \"%pR\" goes out of range\n"
msgstr ""
-#: elf32-nios2.c:2930
+#: elf32-nios2.c:2941
#, c-format
msgid "error: %pB: big-endian R2 is not supported"
msgstr ""
-#: elf32-nios2.c:3822
+#: elf32-nios2.c:3833
#, c-format
msgid ""
"global pointer relative relocation at address %#<PRIx64> when _gp not "
"defined\n"
msgstr ""
-#: elf32-nios2.c:3852
+#: elf32-nios2.c:3863
#, c-format
msgid ""
"unable to reach %s (at %#<PRIx64>) from the global pointer (at %#<PRIx64>) "
"because the offset (%<PRId64>) is out of the allowed range, -32678 to 32767\n"
msgstr ""
-#: elf32-nios2.c:4507 elf32-pru.c:931
+#: elf32-nios2.c:4518 elf32-pru.c:931
msgid "relocation out of range"
msgstr ""
-#: elf32-nios2.c:4517 elf32-pru.c:941 elf32-tic6x.c:2716
+#: elf32-nios2.c:4528 elf32-pru.c:941 elf32-tic6x.c:2716
msgid "dangerous relocation"
msgstr ""
-#: elf32-nios2.c:5392
+#: elf32-nios2.c:5403
#, c-format
msgid "dynamic variable `%s' is zero size"
msgstr ""
-#: elf32-or1k.c:1177
+#: elf32-or1k.c:1214
#, c-format
msgid "%pB: Cannot handle relocation value size of %d"
msgstr ""
-#: elf32-or1k.c:1286
+#: elf32-or1k.c:1321
#, c-format
msgid "%pB: unknown relocation type %d"
msgstr ""
-#: elf32-or1k.c:1340
+#: elf32-or1k.c:1375
#, c-format
msgid "%pB: addend should be zero for plt relocations"
msgstr ""
-#: elf32-or1k.c:1445
+#: elf32-or1k.c:1480
#, c-format
msgid "%pB: addend should be zero for got relocations"
msgstr ""
-#: elf32-or1k.c:1462
+#: elf32-or1k.c:1497
#, c-format
msgid "%pB: gotoff relocation against dynamic symbol %s"
msgstr ""
-#: elf32-or1k.c:1479 elf64-alpha.c:4456 elf64-alpha.c:4600
+#: elf32-or1k.c:1514 elf64-alpha.c:4471 elf64-alpha.c:4615
#, c-format
msgid "%pB: pc-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf32-or1k.c:1493
+#: elf32-or1k.c:1528
#, c-format
msgid "%pB: non-pic relocation against symbol %s"
msgstr ""
-#: elf32-or1k.c:1577
+#: elf32-or1k.c:1612
#, c-format
msgid "%pB: support for local dynamic not implemented"
msgstr ""
-#: elf32-or1k.c:1729
+#: elf32-or1k.c:1791
#, c-format
msgid "%pB: will not resolve runtime TLS relocation"
msgstr ""
-#: elf32-or1k.c:2071
+#: elf32-or1k.c:2133
#, c-format
msgid "%pB: bad relocation section name `%s'"
msgstr ""
-#: elf32-or1k.c:3218
+#: elf32-or1k.c:3322
#, c-format
msgid "%pB: %s flag mismatch with previous modules"
msgstr ""
@@ -3021,97 +3092,97 @@ msgstr ""
msgid "generic linker can't handle %s"
msgstr ""
-#: elf32-ppc.c:1622
+#: elf32-ppc.c:1628
#, c-format
msgid "corrupt %s section in %pB"
msgstr ""
-#: elf32-ppc.c:1642
+#: elf32-ppc.c:1648
#, c-format
msgid "unable to read in %s section from %pB"
msgstr ""
-#: elf32-ppc.c:1684
+#: elf32-ppc.c:1690
#, c-format
msgid "warning: unable to set size of %s section in %pB"
msgstr ""
-#: elf32-ppc.c:1734
+#: elf32-ppc.c:1740
msgid "failed to allocate space for new APUinfo section"
msgstr ""
-#: elf32-ppc.c:1753
+#: elf32-ppc.c:1759
msgid "failed to compute new APUinfo section"
msgstr ""
-#: elf32-ppc.c:1756
+#: elf32-ppc.c:1762
msgid "failed to install new APUinfo section"
msgstr ""
-#: elf32-ppc.c:2864
+#: elf32-ppc.c:2870
#, c-format
msgid "%pB: relocation %s cannot be used when making a shared object"
msgstr ""
-#: elf32-ppc.c:3581 elf32-ppc.c:3589
+#: elf32-ppc.c:3587 elf32-ppc.c:3595
#, c-format
msgid "%pB uses hard float, %pB uses soft float"
msgstr ""
-#: elf32-ppc.c:3597 elf32-ppc.c:3605
+#: elf32-ppc.c:3603 elf32-ppc.c:3611
#, c-format
msgid ""
"%pB uses double-precision hard float, %pB uses single-precision hard float"
msgstr ""
-#: elf32-ppc.c:3624 elf32-ppc.c:3632
+#: elf32-ppc.c:3630 elf32-ppc.c:3638
#, c-format
msgid "%pB uses 64-bit long double, %pB uses 128-bit long double"
msgstr ""
-#: elf32-ppc.c:3640 elf32-ppc.c:3648
+#: elf32-ppc.c:3646 elf32-ppc.c:3654
#, c-format
msgid "%pB uses IBM long double, %pB uses IEEE long double"
msgstr ""
-#: elf32-ppc.c:3715 elf32-ppc.c:3724
+#: elf32-ppc.c:3721 elf32-ppc.c:3730
#, c-format
msgid "%pB uses AltiVec vector ABI, %pB uses SPE vector ABI"
msgstr ""
-#: elf32-ppc.c:3753 elf32-ppc.c:3762
+#: elf32-ppc.c:3759 elf32-ppc.c:3768
#, c-format
msgid "%pB uses r3/r4 for small structure returns, %pB uses memory"
msgstr ""
-#: elf32-ppc.c:3823
+#: elf32-ppc.c:3832
#, c-format
msgid ""
"%pB: compiled with -mrelocatable and linked with modules compiled normally"
msgstr ""
-#: elf32-ppc.c:3831
+#: elf32-ppc.c:3840
#, c-format
msgid ""
"%pB: compiled normally and linked with modules compiled with -mrelocatable"
msgstr ""
-#: elf32-ppc.c:3900
+#: elf32-ppc.c:3909
#, c-format
msgid "%pB(%pA+0x%lx): expected 16A style relocation on 0x%08x insn"
msgstr ""
-#: elf32-ppc.c:3919
+#: elf32-ppc.c:3928
#, c-format
msgid "%pB(%pA+0x%lx): expected 16D style relocation on 0x%08x insn"
msgstr ""
-#: elf32-ppc.c:4022
+#: elf32-ppc.c:4031
#, c-format
msgid "bss-plt forced due to %pB"
msgstr ""
-#: elf32-ppc.c:4024
+#: elf32-ppc.c:4033
msgid "bss-plt forced by profiling"
msgstr ""
@@ -3119,40 +3190,40 @@ msgstr ""
#. could just mark this symbol to exclude it
#. from tls optimization but it's safer to skip
#. the entire optimization.
-#: elf32-ppc.c:4599 elf64-ppc.c:8099
+#: elf32-ppc.c:4608 elf64-ppc.c:8277
#, c-format
msgid "%H arg lost __tls_get_addr, TLS optimization disabled\n"
msgstr ""
-#: elf32-ppc.c:5550 elf32-sh.c:3080 elf32-tilepro.c:2338 elfxx-sparc.c:2531
+#: elf32-ppc.c:5559 elf32-sh.c:3080 elf32-tilepro.c:2338 elfxx-sparc.c:2531
#: elfxx-tilegx.c:2578
#, c-format
msgid "%pB: dynamic relocation in read-only section `%pA'\n"
msgstr ""
-#: elf32-ppc.c:7430
+#: elf32-ppc.c:7439
msgid "%P: %H: error: %s with unexpected instruction %x\n"
msgstr ""
-#: elf32-ppc.c:7467
+#: elf32-ppc.c:7476
msgid "%H: fixup branch overflow\n"
msgstr ""
-#: elf32-ppc.c:7507 elf32-ppc.c:7543
+#: elf32-ppc.c:7516 elf32-ppc.c:7552
#, c-format
msgid "%pB(%pA+%#<PRIx64>): error: %s with unexpected instruction %#x"
msgstr ""
-#: elf32-ppc.c:7607
+#: elf32-ppc.c:7616
#, c-format
msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
msgstr ""
-#: elf32-ppc.c:7646 elf64-ppc.c:16456
+#: elf32-ppc.c:7655 elf64-ppc.c:16914
msgid "%H: warning: %s unexpected insn %#x.\n"
msgstr ""
-#: elf32-ppc.c:7955
+#: elf32-ppc.c:7964
#, c-format
msgid "%H: non-zero addend on %s reloc against `%s'\n"
msgstr ""
@@ -3165,54 +3236,54 @@ msgstr ""
#. local won't have the +32k reloc addend trick marking
#. -fPIC code, so the linker won't know whether r30 is
#. _GLOBAL_OFFSET_TABLE_ or pointing into a .got2 section.
-#: elf32-ppc.c:7987
+#: elf32-ppc.c:7996
#, c-format
msgid "%X%H: @local call to ifunc %s\n"
msgstr ""
-#: elf32-ppc.c:8165
+#: elf32-ppc.c:8174
#, c-format
msgid "%H: relocation %s for indirect function %s unsupported\n"
msgstr ""
-#: elf32-ppc.c:8499 elf32-ppc.c:8530 elf32-ppc.c:8621 elf32-ppc.c:8717
+#: elf32-ppc.c:8508 elf32-ppc.c:8539 elf32-ppc.c:8630 elf32-ppc.c:8726
#, c-format
msgid ""
"%pB: the target (%s) of a %s relocation is in the wrong output section (%s)"
msgstr ""
-#: elf32-ppc.c:8847 elf32-ppc.c:8865
+#: elf32-ppc.c:8856 elf32-ppc.c:8874
msgid "%X%P: %H: %s relocation unsupported for bss-plt\n"
msgstr ""
-#: elf32-ppc.c:8946
+#: elf32-ppc.c:8955
#, c-format
msgid "%H: error: %s against `%s' not a multiple of %u\n"
msgstr ""
-#: elf32-ppc.c:8975
+#: elf32-ppc.c:8984
#, c-format
msgid "%H: unresolvable %s relocation against symbol `%s'\n"
msgstr ""
-#: elf32-ppc.c:9056
+#: elf32-ppc.c:9065
#, c-format
msgid "%H: %s reloc against `%s': error %d\n"
msgstr ""
-#: elf32-ppc.c:9947 elf64-ppc.c:17009
+#: elf32-ppc.c:9956 elf64-ppc.c:17465
msgid ""
"%X%P: text relocations and GNU indirect functions will result in a segfault "
"at runtime\n"
msgstr ""
-#: elf32-ppc.c:9951 elf64-ppc.c:17013
+#: elf32-ppc.c:9960 elf64-ppc.c:17469
msgid ""
"%P: warning: text relocations and GNU indirect functions may result in a "
"segfault at runtime\n"
msgstr ""
-#: elf32-ppc.c:9996
+#: elf32-ppc.c:10005
#, c-format
msgid "%s not defined in linker created %pA"
msgstr ""
@@ -3234,7 +3305,7 @@ msgstr ""
msgid "warning: RL78_SYM reloc with an unknown symbol"
msgstr ""
-#: elf32-rl78.c:1084 elf32-rx.c:1456
+#: elf32-rl78.c:1084 elf32-rx.c:1461
#, c-format
msgid "%pB(%pA): error: call to undefined function '%s'"
msgstr ""
@@ -3263,17 +3334,17 @@ msgstr ""
msgid " [64-bit doubles]"
msgstr ""
-#: elf32-rx.c:605
+#: elf32-rx.c:607
#, c-format
msgid "%pB:%pA: table entry %s outside table"
msgstr ""
-#: elf32-rx.c:612
+#: elf32-rx.c:614
#, c-format
msgid "%pB:%pA: table entry %s not word-aligned within table"
msgstr ""
-#: elf32-rx.c:684
+#: elf32-rx.c:689
#, c-format
msgid "%pB:%pA: warning: deprecated Red Hat reloc %s detected against: %s"
msgstr ""
@@ -3282,36 +3353,36 @@ msgstr ""
#. an absolute address is being computed. There are special cases
#. for relocs against symbols that are known to be referenced in
#. crt0.o before the PID base address register has been initialised.
-#: elf32-rx.c:704
+#: elf32-rx.c:709
#, c-format
msgid "%pB(%pA): unsafe PID relocation %s at %#<PRIx64> (against %s in %s)"
msgstr ""
-#: elf32-rx.c:1288
+#: elf32-rx.c:1293
msgid "warning: RX_SYM reloc with an unknown symbol"
msgstr ""
-#: elf32-rx.c:3167
+#: elf32-rx.c:3175
#, c-format
msgid "there is a conflict merging the ELF header flags from %pB"
msgstr ""
-#: elf32-rx.c:3170
+#: elf32-rx.c:3178
#, c-format
msgid " the input file's flags: %s"
msgstr ""
-#: elf32-rx.c:3172
+#: elf32-rx.c:3180
#, c-format
msgid " the output file's flags: %s"
msgstr ""
-#: elf32-rx.c:3790
+#: elf32-rx.c:3786
#, c-format
msgid "%pB:%pA: table %s missing corresponding %s"
msgstr ""
-#: elf32-rx.c:3798
+#: elf32-rx.c:3794
#, c-format
msgid "%pB:%pA: %s and %s must be in the same input section"
msgstr ""
@@ -3321,35 +3392,35 @@ msgstr ""
msgid "%pB(%pA+%#<PRIx64>): invalid instruction for TLS relocation %s"
msgstr ""
-#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3819
+#: elf32-score.c:1521 elf32-score7.c:1382 elfxx-mips.c:3824
msgid "not enough GOT space for local GOT entries"
msgstr ""
-#: elf32-score.c:2746
+#: elf32-score.c:2747
msgid "address not word aligned"
msgstr ""
-#: elf32-score.c:2827 elf32-score7.c:2632
+#: elf32-score.c:2828 elf32-score7.c:2633
#, c-format
msgid "%pB: malformed reloc detected for section %pA"
msgstr ""
-#: elf32-score.c:2881 elf32-score7.c:2686
+#: elf32-score.c:2882 elf32-score7.c:2687
#, c-format
msgid "%pB: CALL15 reloc at %#<PRIx64> not against global symbol"
msgstr ""
-#: elf32-score.c:4002 elf32-score7.c:3807
+#: elf32-score.c:4003 elf32-score7.c:3808
#, c-format
msgid " [pic]"
msgstr ""
-#: elf32-score.c:4006 elf32-score7.c:3811
+#: elf32-score.c:4007 elf32-score7.c:3812
#, c-format
msgid " [fix dep]"
msgstr ""
-#: elf32-score.c:4049 elf32-score7.c:3854
+#: elf32-score.c:4054 elf32-score7.c:3859
#, c-format
msgid "%pB: warning: linking PIC files with non-PIC files"
msgstr ""
@@ -3359,44 +3430,40 @@ msgstr ""
msgid "%pB: %#<PRIx64>: warning: R_SH_USES points to unrecognized insn 0x%x"
msgstr ""
-#: elf32-sh.c:3635
-msgid "unexpected STO_SH5_ISA32 on local symbol is not handled"
-msgstr ""
-
-#: elf32-sh.c:3882
+#: elf32-sh.c:3869
#, c-format
msgid ""
"%pB: %#<PRIx64>: fatal: unaligned branch target for relax-support relocation"
msgstr ""
-#: elf32-sh.c:3912 elf32-sh.c:3928
+#: elf32-sh.c:3899 elf32-sh.c:3915
#, c-format
msgid "%pB: %#<PRIx64>: fatal: unaligned %s relocation %#<PRIx64>"
msgstr ""
-#: elf32-sh.c:3944
+#: elf32-sh.c:3931
#, c-format
msgid ""
"%pB: %#<PRIx64>: fatal: R_SH_PSHA relocation %<PRId64> not in range -32..32"
msgstr ""
-#: elf32-sh.c:3960
+#: elf32-sh.c[...]
[diff truncated at 100000 bytes]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-05-20 16:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-20 16:26 [binutils-gdb] [PATCH v2 0/9] RISC-V: Support version controling for ISA standard extensions and CSR Nick Clifton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).