summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNelson Chu <nelson.chu@sifive.com>2020-05-20 17:22:48 +0100
committerNick Clifton <nickc@redhat.com>2020-05-20 17:22:48 +0100
commit8f595e9b4fd0a3a74d53ddffd69f2825627ae5c6 (patch)
tree3668cb480143c82412d9050ad70d4a0e2786a7e7
parent41977d16e4ee5b9ad01abf2cfce6edbfb6d79541 (diff)
[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.
-rw-r--r--bfd/ChangeLog21
-rw-r--r--bfd/elfnn-riscv.c6
-rw-r--r--bfd/elfxx-riscv.c285
-rw-r--r--bfd/elfxx-riscv.h6
-rw-r--r--bfd/po/bfd.pot3115
-rw-r--r--binutils/ChangeLog4
-rw-r--r--binutils/dwarf.c3
-rw-r--r--gas/ChangeLog163
-rw-r--r--gas/config.in9
-rw-r--r--gas/config/tc-riscv.c514
-rwxr-xr-xgas/configure52
-rw-r--r--gas/configure.ac33
-rw-r--r--gas/doc/c-riscv.texi16
-rw-r--r--gas/po/gas.pot4360
-rw-r--r--gas/testsuite/gas/riscv/attribute-01.d5
-rw-r--r--gas/testsuite/gas/riscv/attribute-02.d7
-rw-r--r--gas/testsuite/gas/riscv/attribute-03.d7
-rw-r--r--gas/testsuite/gas/riscv/attribute-04.d5
-rw-r--r--gas/testsuite/gas/riscv/attribute-05.d6
-rw-r--r--gas/testsuite/gas/riscv/attribute-05.s4
-rw-r--r--gas/testsuite/gas/riscv/attribute-06.d5
-rw-r--r--gas/testsuite/gas/riscv/attribute-07.d5
-rw-r--r--gas/testsuite/gas/riscv/attribute-08.d3
-rw-r--r--gas/testsuite/gas/riscv/attribute-09.d9
-rw-r--r--gas/testsuite/gas/riscv/attribute-10.d9
-rw-r--r--gas/testsuite/gas/riscv/attribute-unknown.d3
-rw-r--r--gas/testsuite/gas/riscv/csr-dw-regnums.d2
-rw-r--r--gas/testsuite/gas/riscv/march-fail-s-with-version2
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-fext.d2
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-fext.l25
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d2
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l25
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.s114
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d2
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d2
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l25
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.d11
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l27
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.d11
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l25
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.d11
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.l30
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d12
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l30
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-version-1p10.d257
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-version-1p11.d257
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-version-1p9.d257
-rw-r--r--gas/testsuite/gas/riscv/priv-reg-version-1p9p1.d257
-rw-r--r--gas/testsuite/gas/riscv/priv-reg.d256
-rw-r--r--gdb/riscv-tdep.c6
-rw-r--r--gdb/riscv-tdep.h2
-rw-r--r--include/ChangeLog20
-rw-r--r--include/opcode/riscv-opc.h509
-rw-r--r--include/opcode/riscv.h76
-rw-r--r--ld/ChangeLog16
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d3
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d3
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d3
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s4
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s4
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-priv-spec.d4
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-stack-align.d3
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01.d3
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02.d3
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03.d3
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04.d3
-rw-r--r--ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05.d3
-rw-r--r--opcodes/ChangeLog31
-rw-r--r--opcodes/po/opcodes.pot139
-rw-r--r--opcodes/riscv-dis.c80
-rw-r--r--opcodes/riscv-opc.c144
71 files changed, 7015 insertions, 4344 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 18543cf840..b3dabb3f33 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 a9e8132505..e8e377e325 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 b15fdee9c7..5dd36ab965 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 76ee27404c..7b8f09b82c 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 ef909fa069..3b4f0afba3 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:3947
#, c-format
msgid ""
"%pB: %#<PRIx64>: fatal: R_SH_PSHL relocation %<PRId64> not in range -32..32"
msgstr ""
-#: elf32-sh.c:4090 elf32-sh.c:4485
+#: elf32-sh.c:4077 elf32-sh.c:4472
#, c-format
msgid "%pB(%pA+%#<PRIx64>): cannot emit fixup to `%s' in read-only section"
msgstr ""
-#: elf32-sh.c:4588
+#: elf32-sh.c:4575
#, c-format
msgid "%pB(%pA+%#<PRIx64>): %s relocation against external symbol \"%s\""
msgstr ""
-#: elf32-sh.c:4707
+#: elf32-sh.c:4694
#, c-format
msgid ""
"%pB(%pA): offset in relocation for GD->LE translation is too small: "
@@ -3404,125 +3471,125 @@ msgid ""
msgstr ""
#. The backslash is to prevent bogus trigraph detection.
-#: elf32-sh.c:4725
+#: elf32-sh.c:4712
#, c-format
msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0xd4??)"
msgstr ""
-#: elf32-sh.c:4733
+#: elf32-sh.c:4720
#, c-format
msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0xc7??)"
msgstr ""
-#: elf32-sh.c:4740
+#: elf32-sh.c:4727
#, c-format
msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0xd1??)"
msgstr ""
-#: elf32-sh.c:4747
+#: elf32-sh.c:4734
#, c-format
msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0x310c)"
msgstr ""
-#: elf32-sh.c:4754
+#: elf32-sh.c:4741
#, c-format
msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0x410b)"
msgstr ""
-#: elf32-sh.c:4761
+#: elf32-sh.c:4748
#, c-format
msgid "%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0x34cc)"
msgstr ""
-#: elf32-sh.c:4796
+#: elf32-sh.c:4783
#, c-format
msgid ""
"%pB(%pA): offset in relocation for IE->LE translation is too small: "
"%#<PRIx64>"
msgstr ""
-#: elf32-sh.c:4814
+#: elf32-sh.c:4801
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0xd0??: mov.l)"
msgstr ""
-#: elf32-sh.c:4823
+#: elf32-sh.c:4810
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0x0?12: stc)"
msgstr ""
-#: elf32-sh.c:4830
+#: elf32-sh.c:4817
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): unexpected instruction %#04X (expected 0x0?ce: mov.l)"
msgstr ""
-#: elf32-sh.c:4945
+#: elf32-sh.c:4932
#, c-format
msgid ""
"%pB(%pA): offset in relocation for GD->IE translation is too small: "
"%#<PRIx64>"
msgstr ""
-#: elf32-sh.c:5013
+#: elf32-sh.c:5000
#, c-format
msgid ""
"%pB(%pA): offset in relocation for LD->LE translation is too small: "
"%#<PRIx64>"
msgstr ""
-#: elf32-sh.c:5141
+#: elf32-sh.c:5128
#, c-format
msgid "%X%C: relocation to \"%s\" references a different segment\n"
msgstr ""
-#: elf32-sh.c:5148
+#: elf32-sh.c:5135
#, c-format
msgid "%C: warning: relocation to \"%s\" references a different segment\n"
msgstr ""
-#: elf32-sh.c:5651 elf32-sh.c:5733
+#: elf32-sh.c:5638 elf32-sh.c:5720
#, c-format
msgid "%pB: `%s' accessed both as normal and FDPIC symbol"
msgstr ""
-#: elf32-sh.c:5657 elf32-sh.c:5738
+#: elf32-sh.c:5644 elf32-sh.c:5725
#, c-format
msgid "%pB: `%s' accessed both as FDPIC and thread local symbol"
msgstr ""
-#: elf32-sh.c:5688
+#: elf32-sh.c:5675
#, c-format
msgid "%pB: Function descriptor relocation with non-zero addend"
msgstr ""
-#: elf32-sh.c:5895 elf64-alpha.c:4692
+#: elf32-sh.c:5882 elf64-alpha.c:4707
#, c-format
msgid "%pB: TLS local exec code cannot be linked into shared objects"
msgstr ""
-#: elf32-sh.c:6010
+#: elf32-sh.c:5997
#, c-format
msgid "%pB: uses %s instructions while previous modules use %s instructions"
msgstr ""
-#: elf32-sh.c:6022
+#: elf32-sh.c:6009
#, c-format
msgid ""
"internal error: merge of architecture '%s' with architecture '%s' produced "
"unknown architecture"
msgstr ""
-#: elf32-sh.c:6059
+#: elf32-sh.c:6050
#, c-format
msgid ""
"%pB: uses instructions which are incompatible with instructions used in "
"previous modules"
msgstr ""
-#: elf32-sh.c:6072
+#: elf32-sh.c:6063
#, c-format
msgid "%pB: attempt to mix FDPIC and non-FDPIC objects"
msgstr ""
@@ -3537,6 +3604,12 @@ msgstr ""
msgid "%pB: linking little endian files with big endian files"
msgstr ""
+#: elf32-sparc.c:157
+#, c-format
+msgid ""
+"%pB: unhandled sparc machine value '%lu' detected during write processing"
+msgstr ""
+
#: elf32-spu.c:735
msgid "%X%P: overlay section %pA does not start on a cache line\n"
msgstr ""
@@ -3583,7 +3656,7 @@ msgstr ""
msgid "overlay stub relocation overflow"
msgstr ""
-#: elf32-spu.c:1992 elf64-ppc.c:14110
+#: elf32-spu.c:1992 elf64-ppc.c:14558
msgid "stubs don't match calculated size"
msgstr ""
@@ -3616,63 +3689,63 @@ msgstr ""
msgid " calls:\n"
msgstr ""
-#: elf32-spu.c:4344
+#: elf32-spu.c:4345
#, c-format
msgid "%s duplicated in %s\n"
msgstr ""
-#: elf32-spu.c:4348
+#: elf32-spu.c:4349
#, c-format
msgid "%s duplicated\n"
msgstr ""
-#: elf32-spu.c:4355
+#: elf32-spu.c:4356
msgid "sorry, no support for duplicate object files in auto-overlay script\n"
msgstr ""
-#: elf32-spu.c:4397
+#: elf32-spu.c:4398
#, c-format
msgid ""
"non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local "
"store\n"
msgstr ""
-#: elf32-spu.c:4553
+#: elf32-spu.c:4554
#, c-format
msgid "%pB:%pA%s exceeds overlay size\n"
msgstr ""
-#: elf32-spu.c:4694
+#: elf32-spu.c:4695
msgid "%F%P: auto overlay error: %E\n"
msgstr ""
-#: elf32-spu.c:4715
+#: elf32-spu.c:4716
msgid "Stack size for call graph root nodes.\n"
msgstr ""
-#: elf32-spu.c:4716
+#: elf32-spu.c:4717
msgid ""
"\n"
"Stack size for functions. Annotations: '*' max stack, 't' tail call\n"
msgstr ""
-#: elf32-spu.c:4726
+#: elf32-spu.c:4727
msgid "Maximum stack required is 0x%v\n"
msgstr ""
-#: elf32-spu.c:4745
+#: elf32-spu.c:4746
msgid "%X%P: stack/lrlive analysis error: %E\n"
msgstr ""
-#: elf32-spu.c:4748
+#: elf32-spu.c:4749
msgid "%F%P: can not build overlay stubs: %E\n"
msgstr ""
-#: elf32-spu.c:4817
+#: elf32-spu.c:4818
msgid "fatal error while creating .fixup"
msgstr ""
-#: elf32-spu.c:5052
+#: elf32-spu.c:5054
#, c-format
msgid "%pB(%s+%#<PRIx64>): unresolvable %s relocation against symbol `%s'"
msgstr ""
@@ -3700,39 +3773,38 @@ msgstr ""
msgid "%pB: warning: unknown EABI object attribute %d"
msgstr ""
-#: elf32-tic6x.c:3752 elf32-tic6x.c:3761
+#: elf32-tic6x.c:3756 elf32-tic6x.c:3765
#, c-format
msgid "error: %pB requires more stack alignment than %pB preserves"
msgstr ""
-#: elf32-tic6x.c:3771 elf32-tic6x.c:3780
+#: elf32-tic6x.c:3775 elf32-tic6x.c:3784
#, c-format
msgid "error: unknown Tag_ABI_array_object_alignment value in %pB"
msgstr ""
-#: elf32-tic6x.c:3789 elf32-tic6x.c:3798
+#: elf32-tic6x.c:3793 elf32-tic6x.c:3802
#, c-format
msgid "error: unknown Tag_ABI_array_object_align_expected value in %pB"
msgstr ""
-#: elf32-tic6x.c:3807 elf32-tic6x.c:3815
+#: elf32-tic6x.c:3811 elf32-tic6x.c:3819
#, c-format
msgid "error: %pB requires more array alignment than %pB preserves"
msgstr ""
-#: elf32-tic6x.c:3838
+#: elf32-tic6x.c:3842
#, c-format
msgid "warning: %pB and %pB differ in wchar_t size"
msgstr ""
-#: elf32-tic6x.c:3857
+#: elf32-tic6x.c:3861
#, c-format
msgid "warning: %pB and %pB differ in whether code is compiled for DSBT"
msgstr ""
-#: elf32-tilepro.c:3760 elfxx-tilegx.c:4144 elfxx-x86.c:1432
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:9762
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2639
+#: elf32-tilepro.c:3760 elfxx-tilegx.c:4144 elfxx-x86.c:1529
+#: elfnn-aarch64.c:9831 elfnn-riscv.c:2647
#, c-format
msgid "discarded output section: `%pA'"
msgstr ""
@@ -3934,22 +4006,22 @@ msgstr ""
msgid "v850e3v5 architecture"
msgstr ""
-#: elf32-v850.c:3607 elf32-v850.c:3846
+#: elf32-v850.c:3612 elf32-v850.c:3851
#, c-format
msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized insns"
msgstr ""
-#: elf32-v850.c:3617 elf32-v850.c:3856
+#: elf32-v850.c:3622 elf32-v850.c:3861
#, c-format
msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized insn %#x"
msgstr ""
-#: elf32-v850.c:3663 elf32-v850.c:3891
+#: elf32-v850.c:3668 elf32-v850.c:3896
#, c-format
msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized reloc"
msgstr ""
-#: elf32-v850.c:3703
+#: elf32-v850.c:3708
#, c-format
msgid "%pB: %#<PRIx64>: warning: %s points to unrecognized reloc %#<PRIx64>"
msgstr ""
@@ -4007,119 +4079,132 @@ msgstr ""
msgid "error reading cpu type from elf private data"
msgstr ""
-#: elf32-xstormy16.c:457 elf64-ia64-vms.c:2083 elf32-ia64.c:2353
-#: elf64-ia64.c:2353
+#: elf32-xstormy16.c:457 elf64-ia64-vms.c:2082 elfnn-ia64.c:2352
msgid "non-zero addend in @fptr reloc"
msgstr ""
-#: elf32-xtensa.c:942
+#: elf32-xtensa.c:980
#, c-format
msgid "%pB(%pA): invalid property table"
msgstr ""
-#: elf32-xtensa.c:2679
+#: elf32-xtensa.c:2723
#, c-format
msgid "%pB(%pA+%#<PRIx64>): relocation offset out of range (size=%#<PRIx64>)"
msgstr ""
-#: elf32-xtensa.c:2762 elf32-xtensa.c:2885
+#: elf32-xtensa.c:2806 elf32-xtensa.c:2929
msgid "dynamic relocation in read-only section"
msgstr ""
-#: elf32-xtensa.c:2862
+#: elf32-xtensa.c:2906
msgid "TLS relocation invalid without dynamic sections"
msgstr ""
-#: elf32-xtensa.c:3074
+#: elf32-xtensa.c:3118
msgid "internal inconsistency in size of .got.loc section"
msgstr ""
-#: elf32-xtensa.c:3381
+#: elf32-xtensa.c:3425
#, c-format
msgid "%pB: incompatible machine type; output is 0x%x; input is 0x%x"
msgstr ""
-#: elf32-xtensa.c:4675 elf32-xtensa.c:4683
+#: elf32-xtensa.c:4719 elf32-xtensa.c:4727
msgid "attempt to convert L32R/CALLX to CALL failed"
msgstr ""
-#: elf32-xtensa.c:6511 elf32-xtensa.c:6590 elf32-xtensa.c:8021
+#: elf32-xtensa.c:6555 elf32-xtensa.c:6634 elf32-xtensa.c:8065
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): could not decode instruction; possible configuration "
"mismatch"
msgstr ""
-#: elf32-xtensa.c:7760
+#: elf32-xtensa.c:7804
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): could not decode instruction for XTENSA_ASM_SIMPLIFY "
"relocation; possible configuration mismatch"
msgstr ""
-#: elf32-xtensa.c:9615
+#: elf32-xtensa.c:9665
msgid "invalid relocation address"
msgstr ""
-#: elf32-xtensa.c:9665
+#: elf32-xtensa.c:9756
msgid "overflow after relaxation"
msgstr ""
-#: elf32-xtensa.c:10812
+#: elf32-xtensa.c:10902
#, c-format
msgid "%pB(%pA+%#<PRIx64>): unexpected fix for %s relocation"
msgstr ""
+#: elf32-z80.c:473
+#, c-format
+msgid "%pB: unsupported bfd mach %#lx"
+msgstr ""
+
+#: elf32-z80.c:518
+#, c-format
+msgid "%pB: unsupported mach %#x"
+msgstr ""
+
+#: elf32-z80.c:546
+#, c-format
+msgid "%pB: unsupported arch %#x"
+msgstr ""
+
#: elf64-alpha.c:473
msgid "GPDISP relocation did not find ldah and lda instructions"
msgstr ""
-#: elf64-alpha.c:2464
+#: elf64-alpha.c:2472
#, c-format
msgid "%pB: .got subsegment exceeds 64K (size %d)"
msgstr ""
-#: elf64-alpha.c:3019 elf64-alpha.c:3215
+#: elf64-alpha.c:3034 elf64-alpha.c:3230
#, c-format
msgid "%pB: %pA+%#<PRIx64>: warning: %s relocation against unexpected insn"
msgstr ""
-#: elf64-alpha.c:4416 elf64-alpha.c:4429
+#: elf64-alpha.c:4431 elf64-alpha.c:4444
#, c-format
msgid "%pB: gp-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf64-alpha.c:4485
+#: elf64-alpha.c:4500
#, c-format
msgid "%pB: change in gp: BRSGP %s"
msgstr ""
-#: elf64-alpha.c:4510 mach-o.c:616
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:512
+#: elf64-alpha.c:4525 mach-o.c:616 elfnn-riscv.c:520
msgid "<unknown>"
msgstr ""
-#: elf64-alpha.c:4516
+#: elf64-alpha.c:4531
#, c-format
msgid "%pB: !samegp reloc against symbol without .prologue: %s"
msgstr ""
-#: elf64-alpha.c:4574
+#: elf64-alpha.c:4589
#, c-format
msgid "%pB: unhandled dynamic relocation against %s"
msgstr ""
-#: elf64-alpha.c:4609
+#: elf64-alpha.c:4624
#, c-format
msgid "%pB: pc-relative relocation against undefined weak symbol %s"
msgstr ""
-#: elf64-alpha.c:4675
+#: elf64-alpha.c:4690
#, c-format
msgid "%pB: dtp-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf64-alpha.c:4700
+#: elf64-alpha.c:4715
#, c-format
msgid "%pB: tp-relative relocation against dynamic symbol %s"
msgstr ""
@@ -4134,130 +4219,130 @@ msgstr ""
msgid "%pB: Relocations in generic ELF (EM: %d)"
msgstr ""
-#: elf64-hppa.c:2079
+#: elf64-hppa.c:2081
#, c-format
msgid "stub entry for %s cannot load .plt, dp offset = %<PRId64>"
msgstr ""
-#: elf64-hppa.c:3283
+#: elf64-hppa.c:3285
#, c-format
msgid "%pB(%pA+%#<PRIx64>): cannot reach %s"
msgstr ""
-#: elf64-ia64-vms.c:598 elf32-ia64.c:640 elf64-ia64.c:640
+#: elf64-ia64-vms.c:598 elfnn-ia64.c:640
#, c-format
msgid ""
"%pB: can't relax br at %#<PRIx64> in section `%pA'; please use brl or "
"indirect branch"
msgstr ""
-#: elf64-ia64-vms.c:2038 elf32-ia64.c:2301 elf64-ia64.c:2301
+#: elf64-ia64-vms.c:2037 elfnn-ia64.c:2300
msgid "@pltoff reloc against local symbol"
msgstr ""
-#: elf64-ia64-vms.c:3290 elf32-ia64.c:3712 elf64-ia64.c:3712
+#: elf64-ia64-vms.c:3289 elfnn-ia64.c:3711
#, c-format
msgid "%pB: short data segment overflowed (%#<PRIx64> >= 0x400000)"
msgstr ""
-#: elf64-ia64-vms.c:3300 elf32-ia64.c:3722 elf64-ia64.c:3722
+#: elf64-ia64-vms.c:3299 elfnn-ia64.c:3721
#, c-format
msgid "%pB: __gp does not cover short data segment"
msgstr ""
-#: elf64-ia64-vms.c:3570 elf32-ia64.c:3996 elf64-ia64.c:3996
+#: elf64-ia64-vms.c:3569 elfnn-ia64.c:3995
#, c-format
msgid "%pB: non-pic code with imm relocation against dynamic symbol `%s'"
msgstr ""
-#: elf64-ia64-vms.c:3634 elf32-ia64.c:4064 elf64-ia64.c:4064
+#: elf64-ia64-vms.c:3633 elfnn-ia64.c:4063
#, c-format
msgid "%pB: @gprel relocation against dynamic symbol %s"
msgstr ""
-#: elf64-ia64-vms.c:3693 elf32-ia64.c:4127 elf64-ia64.c:4127
+#: elf64-ia64-vms.c:3692 elfnn-ia64.c:4126
#, c-format
msgid "%pB: linking non-pic code in a position independent executable"
msgstr ""
-#: elf64-ia64-vms.c:3795 elf32-ia64.c:4265 elf64-ia64.c:4265
+#: elf64-ia64-vms.c:3794 elfnn-ia64.c:4264
#, c-format
msgid "%pB: @internal branch to dynamic symbol %s"
msgstr ""
-#: elf64-ia64-vms.c:3798 elf32-ia64.c:4268 elf64-ia64.c:4268
+#: elf64-ia64-vms.c:3797 elfnn-ia64.c:4267
#, c-format
msgid "%pB: speculation fixup to dynamic symbol %s"
msgstr ""
-#: elf64-ia64-vms.c:3801 elf32-ia64.c:4271 elf64-ia64.c:4271
+#: elf64-ia64-vms.c:3800 elfnn-ia64.c:4270
#, c-format
msgid "%pB: @pcrel relocation against dynamic symbol %s"
msgstr ""
-#: elf64-ia64-vms.c:3925 elf32-ia64.c:4468 elf64-ia64.c:4468
+#: elf64-ia64-vms.c:3924 elfnn-ia64.c:4467
msgid "unsupported reloc"
msgstr ""
-#: elf64-ia64-vms.c:3962 elf32-ia64.c:4506 elf64-ia64.c:4506
+#: elf64-ia64-vms.c:3961 elfnn-ia64.c:4505
#, c-format
msgid ""
"%pB: missing TLS section for relocation %s against `%s' at %#<PRIx64> in "
"section `%pA'."
msgstr ""
-#: elf64-ia64-vms.c:3979 elf32-ia64.c:4523 elf64-ia64.c:4523
+#: elf64-ia64-vms.c:3978 elfnn-ia64.c:4522
#, c-format
msgid ""
"%pB: Can't relax br (%s) to `%s' at %#<PRIx64> in section `%pA' with size "
"%#<PRIx64> (> 0x1000000)."
msgstr ""
-#: elf64-ia64-vms.c:4271 elf32-ia64.c:4780 elf64-ia64.c:4780
+#: elf64-ia64-vms.c:4274 elfnn-ia64.c:4783
#, c-format
msgid "%pB: linking trap-on-NULL-dereference with non-trapping files"
msgstr ""
-#: elf64-ia64-vms.c:4280 elf32-ia64.c:4789 elf64-ia64.c:4789
+#: elf64-ia64-vms.c:4283 elfnn-ia64.c:4792
#, c-format
msgid "%pB: linking big-endian files with little-endian files"
msgstr ""
-#: elf64-ia64-vms.c:4289 elf32-ia64.c:4798 elf64-ia64.c:4798
+#: elf64-ia64-vms.c:4292 elfnn-ia64.c:4801
#, c-format
msgid "%pB: linking 64-bit files with 32-bit files"
msgstr ""
-#: elf64-ia64-vms.c:4298 elf32-ia64.c:4807 elf64-ia64.c:4807
+#: elf64-ia64-vms.c:4301 elfnn-ia64.c:4810
#, c-format
msgid "%pB: linking constant-gp files with non-constant-gp files"
msgstr ""
-#: elf64-ia64-vms.c:4308 elf32-ia64.c:4817 elf64-ia64.c:4817
+#: elf64-ia64-vms.c:4311 elfnn-ia64.c:4820
#, c-format
msgid "%pB: linking auto-pic files with non-auto-pic files"
msgstr ""
-#: elf64-ia64-vms.c:5155 elflink.c:4964
+#: elf64-ia64-vms.c:5158 elflink.c:5066
#, c-format
msgid ""
"warning: alignment %u of common symbol `%s' in %pB is greater than the "
"alignment (%u) of its section %pA"
msgstr ""
-#: elf64-ia64-vms.c:5162 elflink.c:4971
+#: elf64-ia64-vms.c:5165 elflink.c:5073
#, c-format
msgid "warning: alignment %u of symbol `%s' in %pB is smaller than %u in %pB"
msgstr ""
-#: elf64-ia64-vms.c:5178 elflink.c:4988
+#: elf64-ia64-vms.c:5181 elflink.c:5090
#, c-format
msgid ""
"warning: size of symbol `%s' changed from %<PRIu64> in %pB to %<PRIu64> in "
"%pB"
msgstr ""
-#: elf64-mips.c:4098
+#: elf64-mips.c:4095
#, c-format
msgid "%pB(%pA): relocation %<PRIu64> has invalid symbol index %ld"
msgstr ""
@@ -4333,142 +4418,152 @@ msgid ""
"internal inconsistency: remaining %lu != max %lu; please report this bug"
msgstr ""
-#: elf64-ppc.c:4072
+#: elf64-ppc.c:4094
#, c-format
msgid "symbol '%s' has invalid st_other for ABI version 1"
msgstr ""
-#: elf64-ppc.c:4247
+#: elf64-ppc.c:4274
#, c-format
msgid "%pB .opd not allowed in ABI version %d"
msgstr ""
-#: elf64-ppc.c:4835
+#: elf64-ppc.c:4854
#, c-format
msgid "%H: %s reloc unsupported in shared libraries and PIEs\n"
msgstr ""
-#: elf64-ppc.c:5247
+#: elf64-ppc.c:5262
#, c-format
msgid "%pB uses unknown e_flags 0x%lx"
msgstr ""
-#: elf64-ppc.c:5255
+#: elf64-ppc.c:5270
#, c-format
msgid "%pB: ABI version %ld is not compatible with ABI version %ld output"
msgstr ""
-#: elf64-ppc.c:5282
+#: elf64-ppc.c:5297
#, c-format
msgid " [abiv%ld]"
msgstr ""
-#: elf64-ppc.c:6483
+#: elf64-ppc.c:6594
msgid ""
"%P: copy reloc against `%pT' requires lazy plt linking; avoid setting "
"LD_BIND_NOW=1 or upgrade gcc\n"
msgstr ""
-#: elf64-ppc.c:6755
+#: elf64-ppc.c:6861
#, c-format
msgid "%pB: undefined symbol on R_PPC64_TOCSAVE relocation"
msgstr ""
-#: elf64-ppc.c:7003
+#: elf64-ppc.c:7109
#, c-format
msgid "dynreloc miscount for %pB, section %pA"
msgstr ""
-#: elf64-ppc.c:7092
+#: elf64-ppc.c:7198
#, c-format
msgid "%pB: .opd is not a regular array of opd entries"
msgstr ""
-#: elf64-ppc.c:7102
+#: elf64-ppc.c:7208
#, c-format
msgid "%pB: unexpected reloc type %u in .opd section"
msgstr ""
-#: elf64-ppc.c:7124
+#: elf64-ppc.c:7230
#, c-format
msgid "%pB: undefined sym `%s' in .opd section"
msgstr ""
-#: elf64-ppc.c:7613
+#: elf64-ppc.c:7720
msgid ""
"warning: --plt-localentry is especially dangerous without ld.so support to "
"detect ABI violations"
msgstr ""
-#: elf64-ppc.c:7866
+#: elf64-ppc.c:8042
msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
msgstr ""
-#: elf64-ppc.c:8251 elf64-ppc.c:8959
+#: elf64-ppc.c:8443 elf64-ppc.c:9160
#, c-format
msgid "%s defined on removed toc entry"
msgstr ""
-#: elf64-ppc.c:8916
+#: elf64-ppc.c:9117
#, c-format
msgid "%H: %s references optimized away TOC entry\n"
msgstr ""
-#: elf64-ppc.c:9140
+#: elf64-ppc.c:9341
#, c-format
msgid "%H: got/toc optimization is not supported for %s instruction\n"
msgstr ""
-#: elf64-ppc.c:9991
+#: elf64-ppc.c:10195
#, c-format
msgid "warning: discarding dynamic section %s"
msgstr ""
-#: elf64-ppc.c:11055
+#: elf64-ppc.c:11336
msgid "%P: cannot find opd entry toc for `%pT'\n"
msgstr ""
-#: elf64-ppc.c:11144
+#: elf64-ppc.c:11382 elf64-ppc.c:11926
+msgid ""
+"%F%P: Could not assign group %pA target %pA to an output section. Retry "
+"without --enable-non-contiguous-regions.\n"
+msgstr ""
+
+#: elf64-ppc.c:11444
#, c-format
msgid "long branch stub `%s' offset overflow"
msgstr ""
-#: elf64-ppc.c:11171
+#: elf64-ppc.c:11471
#, c-format
msgid "can't find branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:11235 elf64-ppc.c:11502 elf64-ppc.c:13671
+#: elf64-ppc.c:11535 elf64-ppc.c:11802 elf64-ppc.c:14033
#, c-format
msgid "%P: linkage table error against `%pT'\n"
msgstr ""
-#: elf64-ppc.c:11680
+#: elf64-ppc.c:11998
#, c-format
msgid "can't build branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:12659
+#: elf64-ppc.c:12980
#, c-format
msgid "%pB section %pA exceeds stub group size"
msgstr ""
-#: elf64-ppc.c:14069 elf64-ppc.c:14088
+#: elf64-ppc.c:14215
+msgid "__tls_get_addr call offset overflow"
+msgstr ""
+
+#: elf64-ppc.c:14517 elf64-ppc.c:14536
#, c-format
msgid "%s offset too large for .eh_frame sdata4 encoding"
msgstr ""
-#: elf64-ppc.c:14124
+#: elf64-ppc.c:14568
#, c-format
msgid "linker stubs in %u group\n"
msgid_plural "linker stubs in %u groups\n"
msgstr[0] ""
msgstr[1] ""
-#: elf64-ppc.c:14128
+#: elf64-ppc.c:14575
#, c-format
msgid ""
-" branch %lu\n"
+"%s branch %lu\n"
" branch toc adj %lu\n"
" branch notoc %lu\n"
" branch both %lu\n"
@@ -4483,54 +4578,54 @@ msgid ""
" global entry %lu"
msgstr ""
-#: elf64-ppc.c:14523
+#: elf64-ppc.c:14975
#, c-format
msgid "%H: %s used with TLS symbol `%pT'\n"
msgstr ""
-#: elf64-ppc.c:14525
+#: elf64-ppc.c:14977
#, c-format
msgid "%H: %s used with non-TLS symbol `%pT'\n"
msgstr ""
-#: elf64-ppc.c:15279
+#: elf64-ppc.c:15732
#, c-format
msgid "%H: call to `%pT' lacks nop, can't restore toc; (plt call stub)\n"
msgstr ""
-#: elf64-ppc.c:15285
+#: elf64-ppc.c:15738
#, c-format
msgid ""
"%H: call to `%pT' lacks nop, can't restore toc; (toc save/adjust stub)\n"
msgstr ""
-#: elf64-ppc.c:16170
+#: elf64-ppc.c:16628
#, c-format
msgid "%H: %s for indirect function `%pT' unsupported\n"
msgstr ""
-#: elf64-ppc.c:16257
+#: elf64-ppc.c:16715
#, c-format
msgid ""
"%X%P: %pB: %s against %pT is not supported by glibc as a dynamic relocation\n"
msgstr ""
-#: elf64-ppc.c:16312
+#: elf64-ppc.c:16770
#, c-format
msgid "%P: %pB: %s is not supported for `%pT'\n"
msgstr ""
-#: elf64-ppc.c:16571
+#: elf64-ppc.c:17029
#, c-format
msgid "%H: error: %s not a multiple of %u\n"
msgstr ""
-#: elf64-ppc.c:16594
+#: elf64-ppc.c:17052
#, c-format
msgid "%H: unresolvable %s against `%pT'\n"
msgstr ""
-#: elf64-ppc.c:16739
+#: elf64-ppc.c:17197
#, c-format
msgid "%H: %s against `%pT': error %d\n"
msgstr ""
@@ -4542,152 +4637,147 @@ msgid ""
"from executable (rebuild file with -fPIC ?)"
msgstr ""
-#: elf64-sparc.c:125 elfcode.h:1467
-#, c-format
-msgid "%pB(%pA): relocation %d has invalid symbol index %ld"
-msgstr ""
-
-#: elf64-sparc.c:483
+#: elf64-sparc.c:481
#, c-format
msgid "%pB: only registers %%g[2367] can be declared using STT_REGISTER"
msgstr ""
-#: elf64-sparc.c:504
+#: elf64-sparc.c:502
#, c-format
msgid "register %%g%d used incompatibly: %s in %pB, previously %s in %pB"
msgstr ""
-#: elf64-sparc.c:528
+#: elf64-sparc.c:526
#, c-format
msgid "symbol `%s' has differing types: REGISTER in %pB, previously %s in %pB"
msgstr ""
-#: elf64-sparc.c:575
+#: elf64-sparc.c:573
#, c-format
msgid "Symbol `%s' has differing types: %s in %pB, previously REGISTER in %pB"
msgstr ""
-#: elf64-sparc.c:707
+#: elf64-sparc.c:705
#, c-format
msgid "%pB: linking UltraSPARC specific with HAL specific code"
msgstr ""
-#: elf64-x86-64.c:1412
+#: elf64-x86-64.c:1424
msgid "hidden symbol "
msgstr ""
-#: elf64-x86-64.c:1415
+#: elf64-x86-64.c:1427
msgid "internal symbol "
msgstr ""
-#: elf64-x86-64.c:1418 elf64-x86-64.c:1422
+#: elf64-x86-64.c:1430 elf64-x86-64.c:1434
msgid "protected symbol "
msgstr ""
-#: elf64-x86-64.c:1424
+#: elf64-x86-64.c:1436
msgid "symbol "
msgstr ""
-#: elf64-x86-64.c:1430
+#: elf64-x86-64.c:1442
msgid "undefined "
msgstr ""
-#: elf64-x86-64.c:1440
+#: elf64-x86-64.c:1452
msgid "a shared object"
msgstr ""
-#: elf64-x86-64.c:1442
+#: elf64-x86-64.c:1454
msgid "; recompile with -fPIC"
msgstr ""
-#: elf64-x86-64.c:1447
+#: elf64-x86-64.c:1459
msgid "a PIE object"
msgstr ""
-#: elf64-x86-64.c:1449
+#: elf64-x86-64.c:1461
msgid "a PDE object"
msgstr ""
-#: elf64-x86-64.c:1451
+#: elf64-x86-64.c:1463
msgid "; recompile with -fPIE"
msgstr ""
-#: elf64-x86-64.c:1455
+#: elf64-x86-64.c:1467
#, c-format
msgid "%pB: relocation %s against %s%s`%s' can not be used when making %s%s"
msgstr ""
-#: elf64-x86-64.c:1940
+#: elf64-x86-64.c:1984
#, c-format
msgid "%pB: relocation %s against symbol `%s' isn't supported in x32 mode"
msgstr ""
-#: elf64-x86-64.c:2078
+#: elf64-x86-64.c:2140
#, c-format
msgid "%pB: '%s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf64-x86-64.c:2700 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5534
+#: elf64-x86-64.c:2763 elfnn-aarch64.c:5592
#, c-format
msgid ""
"%pB: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: "
"%<PRId64>"
msgstr ""
-#: elf64-x86-64.c:2938
+#: elf64-x86-64.c:3008
#, c-format
msgid ""
"%pB: relocation R_X86_64_GOTOFF64 against undefined %s `%s' can not be used "
"when making a shared object"
msgstr ""
-#: elf64-x86-64.c:2952
+#: elf64-x86-64.c:3022
#, c-format
msgid ""
"%pB: relocation R_X86_64_GOTOFF64 against protected %s `%s' can not be used "
"when making a shared object"
msgstr ""
-#: elf64-x86-64.c:3229
+#: elf64-x86-64.c:3299
#, c-format
msgid ""
"%pB: addend %s%#x in relocation %s against symbol `%s' at %#<PRIx64> in "
"section `%pA' is out of range"
msgstr ""
-#: elf64-x86-64.c:3363 elflink.c:13138
+#: elf64-x86-64.c:3433 elflink.c:13256
msgid "%F%P: corrupt input: %pB\n"
msgstr ""
-#: elf64-x86-64.c:4000
+#: elf64-x86-64.c:4117
msgid "%F%P: failed to convert GOTPCREL relocation; relink with --no-relax\n"
msgstr ""
-#: elf64-x86-64.c:4158
+#: elf64-x86-64.c:4275
#, c-format
msgid "%F%pB: PC-relative offset overflow in PLT entry for `%s'\n"
msgstr ""
-#: elf64-x86-64.c:4221
+#: elf64-x86-64.c:4338
#, c-format
msgid "%F%pB: branch displacement overflow in PLT entry for `%s'\n"
msgstr ""
-#: elf64-x86-64.c:4274
+#: elf64-x86-64.c:4391
#, c-format
msgid "%F%pB: PC-relative offset overflow in GOT PLT entry for `%s'\n"
msgstr ""
-#: elfcode.h:323
+#: elfcode.h:326
msgid "warning: %pB has a corrupt section with a size (%"
msgstr ""
-#: elfcode.h:764
+#: elfcode.h:768
#, c-format
msgid "warning: %pB has a corrupt string table index - ignoring"
msgstr ""
-#: elfcode.h:1208
+#: elfcode.h:1229
#, c-format
msgid "%pB: version count (%<PRId64>) does not match symbol count (%ld)"
msgstr ""
@@ -4761,216 +4851,226 @@ msgstr ""
msgid "%P: copy reloc against protected `%pT' is dangerous\n"
msgstr ""
-#: elflink.c:3969
+#: elflink.c:4058
#, c-format
msgid "alternate ELF machine code found (%d) in %pB, expecting %d"
msgstr ""
-#: elflink.c:4426
+#: elflink.c:4528
#, c-format
msgid "%pB: invalid version offset %lx (max %lx)"
msgstr ""
-#: elflink.c:4494
+#: elflink.c:4596
#, c-format
msgid "%pB: %s local symbol at index %lu (>= sh_info of %lu)"
msgstr ""
-#: elflink.c:4642
+#: elflink.c:4744
#, c-format
msgid "%pB: not enough version information"
msgstr ""
-#: elflink.c:4680
+#: elflink.c:4782
#, c-format
msgid "%pB: %s: invalid version %u (max %d)"
msgstr ""
-#: elflink.c:4717
+#: elflink.c:4819
#, c-format
msgid "%pB: %s: invalid needed version %d"
msgstr ""
-#: elflink.c:5124
+#: elflink.c:5225
#, c-format
msgid "%pB: undefined reference to symbol '%s'"
msgstr ""
-#: elflink.c:6217
+#: elflink.c:6320
#, c-format
msgid "%pB: stack size specified and %s set"
msgstr ""
-#: elflink.c:6221
+#: elflink.c:6324
#, c-format
msgid "%pB: %s not absolute"
msgstr ""
-#: elflink.c:6418
+#: elflink.c:6521
#, c-format
msgid "%s: undefined version: %s"
msgstr ""
-#: elflink.c:6989
+#: elflink.c:7093
#, c-format
msgid "%pB: .preinit_array section is not allowed in DSO"
msgstr ""
-#: elflink.c:8475
+#: elflink.c:8580
#, c-format
msgid "undefined %s reference in complex symbol: %s"
msgstr ""
-#: elflink.c:8630
+#: elflink.c:8735
#, c-format
msgid "unknown operator '%c' in complex symbol"
msgstr ""
#. PR 21524: Let the user know if a symbol was removed by garbage collection.
-#: elflink.c:8968
+#: elflink.c:9073
#, c-format
msgid ""
"%pB:%pA: error: relocation references symbol %s which was removed by garbage "
"collection"
msgstr ""
-#: elflink.c:8971
+#: elflink.c:9076
#, c-format
msgid "%pB:%pA: error: try relinking with --gc-keep-exported enabled"
msgstr ""
-#: elflink.c:9216 elflink.c:9234 elflink.c:9273 elflink.c:9291
+#: elflink.c:9321 elflink.c:9339 elflink.c:9378 elflink.c:9396
#, c-format
msgid "%pB: unable to sort relocs - they are in more than one size"
msgstr ""
#. The section size is not divisible by either -
#. something is wrong.
-#: elflink.c:9250 elflink.c:9307
+#: elflink.c:9355 elflink.c:9412
#, c-format
msgid "%pB: unable to sort relocs - they are of an unknown size"
msgstr ""
-#: elflink.c:9359
+#: elflink.c:9464
msgid "not enough memory to sort relocations"
msgstr ""
-#: elflink.c:9640
+#: elflink.c:9745
#, c-format
msgid "%pB: too many sections: %d (>= %d)"
msgstr ""
-#: elflink.c:9920
+#: elflink.c:10021
#, c-format
msgid "%pB: internal symbol `%s' in %pB is referenced by DSO"
msgstr ""
-#: elflink.c:9923
+#: elflink.c:10024
#, c-format
msgid "%pB: hidden symbol `%s' in %pB is referenced by DSO"
msgstr ""
-#: elflink.c:9926
+#: elflink.c:10027
#, c-format
msgid "%pB: local symbol `%s' in %pB is referenced by DSO"
msgstr ""
-#: elflink.c:10012
+#: elflink.c:10113
#, c-format
msgid "%pB: could not find output section %pA for input section %pA"
msgstr ""
-#: elflink.c:10166
+#: elflink.c:10267
#, c-format
msgid "%pB: protected symbol `%s' isn't defined"
msgstr ""
-#: elflink.c:10169
+#: elflink.c:10270
#, c-format
msgid "%pB: internal symbol `%s' isn't defined"
msgstr ""
-#: elflink.c:10172
+#: elflink.c:10273
#, c-format
msgid "%pB: hidden symbol `%s' isn't defined"
msgstr ""
-#: elflink.c:10204
+#: elflink.c:10305
#, c-format
msgid "%pB: no symbol version section for versioned symbol `%s'"
msgstr ""
-#: elflink.c:10816
+#: elflink.c:10677
+#, c-format
+msgid ""
+"warning: --enable-non-contiguous-regions discards section `%s' from '%s'\n"
+msgstr ""
+
+#: elflink.c:10929
#, c-format
msgid "error: %pB: size of section %pA is not multiple of address size"
msgstr ""
-#: elflink.c:10861
+#: elflink.c:10974
#, c-format
msgid ""
"error: %pB contains a reloc (%#<PRIx64>) for section %pA that references a "
"non-existent global symbol"
msgstr ""
-#: elflink.c:11604
+#: elflink.c:11717
#, c-format
msgid ""
"%pA has both ordered [`%pA' in %pB] and unordered [`%pA' in %pB] sections"
msgstr ""
-#: elflink.c:11610
+#: elflink.c:11723
#, c-format
msgid "%pA has both ordered and unordered sections"
msgstr ""
-#: elflink.c:11714
+#: elflink.c:11829
#, c-format
msgid "%pB: no symbol found for import library"
msgstr ""
-#: elflink.c:12361
+#: elflink.c:12477
#, c-format
msgid "%pB: file class %s incompatible with %s"
msgstr ""
-#: elflink.c:12578
+#: elflink.c:12694
#, c-format
msgid "%pB: failed to generate import library"
msgstr ""
-#: elflink.c:12697
+#: elflink.c:12813
#, c-format
msgid "warning: %s section has zero size"
msgstr ""
-#: elflink.c:12745
+#: elflink.c:12861
#, c-format
msgid "warning: section '%s' is being made into a note"
msgstr ""
-#: elflink.c:12837
+#: elflink.c:12955
msgid "%P%X: read-only segment has dynamic relocations\n"
msgstr ""
-#: elflink.c:12840
+#: elflink.c:12958
msgid "%P: warning: creating a DT_TEXTREL in a shared object\n"
msgstr ""
-#: elflink.c:12965
+#: elflink.c:13083
msgid "%P%X: can not read symbols: %E\n"
msgstr ""
-#: elflink.c:13804
+#: elflink.c:13489
+msgid "%F%P: %pB(%pA): error: need linked-to section for --gc-sections\n"
+msgstr ""
+
+#: elflink.c:13950
#, c-format
msgid "%pB: %pA+%#<PRIx64>: no symbol found for INHERIT"
msgstr ""
-#: elflink.c:13845
+#: elflink.c:13991
#, c-format
msgid "%pB: section '%pA': corrupt VTENTRY entry"
msgstr ""
-#: elflink.c:13988
+#: elflink.c:14134
#, c-format
msgid "unrecognized INPUT_SECTION_FLAG %s\n"
msgstr ""
@@ -4981,19 +5081,18 @@ msgid ""
"%pB: warning: Weak TLS is implementation defined and may not work as expected"
msgstr ""
-#: elfxx-aarch64.c:738 /work/sources/binutils/current/bfd/elfnn-aarch64.c:9960
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:9967
+#: elfxx-aarch64.c:738 elfnn-aarch64.c:10029 elfnn-aarch64.c:10036
#, c-format
msgid ""
"%pB: warning: BTI turned on by -z force-bti when all inputs do not have BTI "
"in NOTE section."
msgstr ""
-#: elfxx-aarch64.c:758 elfxx-x86.c:2625
+#: elfxx-aarch64.c:758 elfxx-x86.c:2722
msgid "%F%P: failed to create GNU property section\n"
msgstr ""
-#: elfxx-aarch64.c:762 elfxx-x86.c:2630
+#: elfxx-aarch64.c:762 elfxx-x86.c:2727
#, c-format
msgid "%F%pA: failed to align section\n"
msgstr ""
@@ -5003,350 +5102,437 @@ msgstr ""
msgid "error: %pB: <corrupt AArch64 used size: 0x%x>"
msgstr ""
-#: elfxx-mips.c:1515
+#: elfxx-mips.c:1520
msgid "static procedure (no name)"
msgstr ""
-#: elfxx-mips.c:5800
+#: elfxx-mips.c:5806
msgid "MIPS16 and microMIPS functions cannot call each other"
msgstr ""
-#: elfxx-mips.c:6565
+#: elfxx-mips.c:6571
msgid "%X%H: unsupported JALX to the same ISA mode\n"
msgstr ""
-#: elfxx-mips.c:6598
+#: elfxx-mips.c:6604
msgid ""
"%X%H: unsupported jump between ISA modes; consider recompiling with "
"interlinking enabled\n"
msgstr ""
-#: elfxx-mips.c:6643
+#: elfxx-mips.c:6649
msgid ""
"%X%H: cannot convert branch between ISA modes to JALX: relocation out of "
"range\n"
msgstr ""
-#: elfxx-mips.c:6655
+#: elfxx-mips.c:6661
msgid "%X%H: unsupported branch between ISA modes\n"
msgstr ""
-#: elfxx-mips.c:7303
+#: elfxx-mips.c:7309
#, c-format
msgid ""
"%pB: incorrect `.reginfo' section size; expected %<PRIu64>, got %<PRIu64>"
msgstr ""
-#: elfxx-mips.c:7347 elfxx-mips.c:7584
+#: elfxx-mips.c:7353 elfxx-mips.c:7590
#, c-format
msgid "%pB: warning: bad `%s' option size %u smaller than its header"
msgstr ""
-#: elfxx-mips.c:8391 elfxx-mips.c:8517
+#: elfxx-mips.c:8397 elfxx-mips.c:8523
#, c-format
msgid ""
"%pB: warning: cannot determine the target function for stub section `%s'"
msgstr ""
-#: elfxx-mips.c:8649
+#: elfxx-mips.c:8655
#, c-format
msgid "%pB: malformed reloc detected for section %s"
msgstr ""
-#: elfxx-mips.c:8749
+#: elfxx-mips.c:8755
#, c-format
msgid "%pB: GOT reloc at %#<PRIx64> not expected in executables"
msgstr ""
-#: elfxx-mips.c:8887
+#: elfxx-mips.c:8893
#, c-format
msgid "%pB: CALL16 reloc at %#<PRIx64> not against global symbol"
msgstr ""
-#: elfxx-mips.c:9190
+#: elfxx-mips.c:9196
#, c-format
msgid ""
"%X%H: relocation %s against `%s' cannot be used when making a shared object; "
"recompile with -fPIC\n"
msgstr ""
-#: elfxx-mips.c:9526
+#: elfxx-mips.c:9322
+#, c-format
+msgid "IFUNC symbol %s in dynamic symbol table - IFUNCS are not supported"
+msgstr ""
+
+#: elfxx-mips.c:9325
+#, c-format
+msgid "non-dynamic symbol %s in dynamic symbol table"
+msgstr ""
+
+#: elfxx-mips.c:9541
#, c-format
msgid "non-dynamic relocations refer to dynamic symbol %s"
msgstr ""
-#: elfxx-mips.c:10456
+#: elfxx-mips.c:10471
#, c-format
msgid ""
"%pB: can't find matching LO16 reloc against `%s' for %s at %#<PRIx64> in "
"section `%pA'"
msgstr ""
-#: elfxx-mips.c:10596
+#: elfxx-mips.c:10611
msgid ""
"small-data section exceeds 64KB; lower small-data size limit (see option -G)"
msgstr ""
-#: elfxx-mips.c:10615
+#: elfxx-mips.c:10630
msgid "cannot convert a jump to JALX for a non-word-aligned address"
msgstr ""
-#: elfxx-mips.c:10618
+#: elfxx-mips.c:10633
msgid "jump to a non-word-aligned address"
msgstr ""
-#: elfxx-mips.c:10619
+#: elfxx-mips.c:10634
msgid "jump to a non-instruction-aligned address"
msgstr ""
-#: elfxx-mips.c:10622
+#: elfxx-mips.c:10637
msgid "cannot convert a branch to JALX for a non-word-aligned address"
msgstr ""
-#: elfxx-mips.c:10624
+#: elfxx-mips.c:10639
msgid "branch to a non-instruction-aligned address"
msgstr ""
-#: elfxx-mips.c:10626
+#: elfxx-mips.c:10641
msgid "PC-relative load from unaligned address"
msgstr ""
-#: elfxx-mips.c:10926
+#: elfxx-mips.c:10941
#, c-format
msgid ""
"%pB: `%pA' entry VMA of %#<PRIx64> outside the 32-bit range supported; "
"consider using `-Ttext-segment=...'"
msgstr ""
-#: elfxx-mips.c:11041 elfxx-mips.c:11628
+#: elfxx-mips.c:11056 elfxx-mips.c:11643
#, c-format
msgid "%pB: `%pA' offset of %<PRId64> from `%pA' beyond the range of ADDIUPC"
msgstr ""
-#: elfxx-mips.c:11600
+#: elfxx-mips.c:11615
#, c-format
msgid ""
"%pB: `%pA' start VMA of %#<PRIx64> outside the 32-bit range supported; "
"consider using `-Ttext-segment=...'"
msgstr ""
-#: elfxx-mips.c:14562
+#: elfxx-mips.c:14577
#, c-format
msgid "%pB: unknown architecture %s"
msgstr ""
-#: elfxx-mips.c:15096
+#: elfxx-mips.c:15111
#, c-format
msgid "%pB: illegal section name `%pA'"
msgstr ""
-#: elfxx-mips.c:15373
+#: elfxx-mips.c:15388
#, c-format
msgid "%pB: warning: linking abicalls files with non-abicalls files"
msgstr ""
-#: elfxx-mips.c:15390
+#: elfxx-mips.c:15405
#, c-format
msgid "%pB: linking 32-bit code with 64-bit code"
msgstr ""
-#: elfxx-mips.c:15422 elfxx-mips.c:15488 elfxx-mips.c:15503
+#: elfxx-mips.c:15437 elfxx-mips.c:15503 elfxx-mips.c:15518
#, c-format
msgid "%pB: linking %s module with previous %s modules"
msgstr ""
-#: elfxx-mips.c:15446
+#: elfxx-mips.c:15461
#, c-format
msgid "%pB: ABI mismatch: linking %s module with previous %s modules"
msgstr ""
-#: elfxx-mips.c:15471
+#: elfxx-mips.c:15486
#, c-format
msgid "%pB: ASE mismatch: linking %s module with previous %s modules"
msgstr ""
-#: elfxx-mips.c:15605
+#: elfxx-mips.c:15620
#, c-format
msgid ""
"warning: %pB uses unknown floating point ABI %d (set by %pB), %pB uses "
"unknown floating point ABI %d"
msgstr ""
-#: elfxx-mips.c:15611
+#: elfxx-mips.c:15626
#, c-format
msgid ""
"warning: %pB uses unknown floating point ABI %d (set by %pB), %pB uses %s"
msgstr ""
-#: elfxx-mips.c:15617
+#: elfxx-mips.c:15632
#, c-format
msgid ""
"warning: %pB uses %s (set by %pB), %pB uses unknown floating point ABI %d"
msgstr ""
-#: elfxx-mips.c:15631
+#: elfxx-mips.c:15646
#, c-format
msgid "warning: %pB uses %s (set by %pB), %pB uses %s"
msgstr ""
-#: elfxx-mips.c:15650
+#: elfxx-mips.c:15665
#, c-format
msgid "warning: %pB uses %s (set by %pB), %pB uses unknown MSA ABI %d"
msgstr ""
-#: elfxx-mips.c:15662
+#: elfxx-mips.c:15677
#, c-format
msgid "warning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses %s"
msgstr ""
-#: elfxx-mips.c:15671
+#: elfxx-mips.c:15686
#, c-format
msgid ""
"warning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses unknown MSA ABI "
"%d"
msgstr ""
-#: elfxx-mips.c:15733
+#: elfxx-mips.c:15748
#, c-format
msgid "%pB: endianness incompatible with that of the selected emulation"
msgstr ""
-#: elfxx-mips.c:15747
+#: elfxx-mips.c:15762
#, c-format
msgid "%pB: ABI is incompatible with that of the selected emulation"
msgstr ""
-#: elfxx-mips.c:15799
+#: elfxx-mips.c:15815
#, c-format
msgid "%pB: warning: inconsistent ISA between e_flags and .MIPS.abiflags"
msgstr ""
-#: elfxx-mips.c:15804
+#: elfxx-mips.c:15820
#, c-format
msgid ""
"%pB: warning: inconsistent FP ABI between .gnu.attributes and .MIPS.abiflags"
msgstr ""
-#: elfxx-mips.c:15808
+#: elfxx-mips.c:15824
#, c-format
msgid "%pB: warning: inconsistent ASEs between e_flags and .MIPS.abiflags"
msgstr ""
-#: elfxx-mips.c:15815
+#: elfxx-mips.c:15831
#, c-format
msgid ""
"%pB: warning: inconsistent ISA extensions between e_flags and .MIPS.abiflags"
msgstr ""
-#: elfxx-mips.c:15819
+#: elfxx-mips.c:15835
#, c-format
msgid ""
"%pB: warning: unexpected flag in the flags2 field of .MIPS.abiflags (0x%lx)"
msgstr ""
-#: elfxx-mips.c:16010
+#: elfxx-mips.c:16026
msgid "-mips32r2 -mfp64 (12 callee-saved)"
msgstr ""
-#: elfxx-mips.c:16072 elfxx-mips.c:16083
+#: elfxx-mips.c:16088 elfxx-mips.c:16099
msgid "None"
msgstr ""
-#: elfxx-mips.c:16074 elfxx-mips.c:16143
+#: elfxx-mips.c:16090 elfxx-mips.c:16159
msgid "Unknown"
msgstr ""
-#: elfxx-mips.c:16154
+#: elfxx-mips.c:16170
#, c-format
msgid "Hard or soft float\n"
msgstr ""
-#: elfxx-mips.c:16157
+#: elfxx-mips.c:16173
#, c-format
msgid "Hard float (double precision)\n"
msgstr ""
-#: elfxx-mips.c:16160
+#: elfxx-mips.c:16176
#, c-format
msgid "Hard float (single precision)\n"
msgstr ""
-#: elfxx-mips.c:16163
+#: elfxx-mips.c:16179
#, c-format
msgid "Soft float\n"
msgstr ""
-#: elfxx-mips.c:16166
+#: elfxx-mips.c:16182
#, c-format
msgid "Hard float (MIPS32r2 64-bit FPU 12 callee-saved)\n"
msgstr ""
-#: elfxx-mips.c:16169
+#: elfxx-mips.c:16185
#, c-format
msgid "Hard float (32-bit CPU, Any FPU)\n"
msgstr ""
-#: elfxx-mips.c:16172
+#: elfxx-mips.c:16188
#, c-format
msgid "Hard float (32-bit CPU, 64-bit FPU)\n"
msgstr ""
-#: elfxx-mips.c:16175
+#: elfxx-mips.c:16191
#, c-format
msgid "Hard float compat (32-bit CPU, 64-bit FPU)\n"
msgstr ""
-#: elfxx-mips.c:16207
+#: elfxx-mips.c:16223
#, c-format
msgid " [abi=O32]"
msgstr ""
-#: elfxx-mips.c:16209
+#: elfxx-mips.c:16225
#, c-format
msgid " [abi=O64]"
msgstr ""
-#: elfxx-mips.c:16211
+#: elfxx-mips.c:16227
#, c-format
msgid " [abi=EABI32]"
msgstr ""
-#: elfxx-mips.c:16213
+#: elfxx-mips.c:16229
#, c-format
msgid " [abi=EABI64]"
msgstr ""
-#: elfxx-mips.c:16215
+#: elfxx-mips.c:16231
#, c-format
msgid " [abi unknown]"
msgstr ""
-#: elfxx-mips.c:16217
+#: elfxx-mips.c:16233
#, c-format
msgid " [abi=N32]"
msgstr ""
-#: elfxx-mips.c:16219
+#: elfxx-mips.c:16235
#, c-format
msgid " [abi=64]"
msgstr ""
-#: elfxx-mips.c:16221
+#: elfxx-mips.c:16237
#, c-format
msgid " [no abi set]"
msgstr ""
-#: elfxx-mips.c:16246
+#: elfxx-mips.c:16262
#, c-format
msgid " [unknown ISA]"
msgstr ""
-#: elfxx-mips.c:16266
+#: elfxx-mips.c:16282
#, c-format
msgid " [not 32bitmode]"
msgstr ""
-#: elfxx-sparc.c:3110 /work/sources/binutils/current/bfd/elfnn-aarch64.c:5518
+#: elfxx-riscv.c:1064
+#, c-format
+msgid "-march=%s: Expect number after `%dp'."
+msgstr ""
+
+#: elfxx-riscv.c:1175
+#, c-format
+msgid "-march=%s: rv%de is not a valid base ISA"
+msgstr ""
+
+#: elfxx-riscv.c:1215
+#, c-format
+msgid "-march=%s: first ISA subset must be `e', `i' or `g'"
+msgstr ""
+
+#: elfxx-riscv.c:1243
+#, c-format
+msgid "-march=%s: unsupported ISA subset `%c'"
+msgstr ""
+
+#: elfxx-riscv.c:1246
+#, c-format
+msgid "-march=%s: ISA string is not in canonical order. `%c'"
+msgstr ""
+
+#: elfxx-riscv.c:1365
+#, c-format
+msgid "-march=%s: Invalid or unknown %s ISA extension: '%s'"
+msgstr ""
+
+#: elfxx-riscv.c:1376
+#, c-format
+msgid "-march=%s: Duplicate %s ISA extension: '%s'"
+msgstr ""
+
+#: elfxx-riscv.c:1387
+#, c-format
+msgid ""
+"-march=%s: %s ISA extension not in alphabetical order: '%s' must come before "
+"'%s'."
+msgstr ""
+
+#: elfxx-riscv.c:1408
+#, c-format
+msgid "-march=%s: %s must separate with _"
+msgstr ""
+
+#: elfxx-riscv.c:1524
+#, c-format
+msgid "-march=%s: ISA string must begin with rv32 or rv64"
+msgstr ""
+
+#: elfxx-riscv.c:1545
+#, c-format
+msgid "-march=%s: unexpected ISA string at end: %s"
+msgstr ""
+
+#: elfxx-riscv.c:1554
+#, c-format
+msgid "-march=%s: rv32e does not support the `f' extension"
+msgstr ""
+
+#: elfxx-riscv.c:1563
+#, c-format
+msgid "-march=%s: `d' extension requires `f' extension"
+msgstr ""
+
+#: elfxx-riscv.c:1572
+#, c-format
+msgid "-march=%s: `q' extension requires `d' extension"
+msgstr ""
+
+#: elfxx-riscv.c:1580
+#, c-format
+msgid "-march=%s: rv32 does not support the `q' extension"
+msgstr ""
+
+#: elfxx-sparc.c:3110 elfnn-aarch64.c:5576
#, c-format
msgid ""
"%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
@@ -5357,81 +5543,92 @@ msgstr ""
msgid "%pB: cannot link together %s and %s objects"
msgstr ""
-#: elfxx-x86.c:578
+#: elfxx-x86.c:581
#, c-format
msgid "%P: %pB: warning: relocation against `%s' in read-only section `%pA'\n"
msgstr ""
-#: elfxx-x86.c:1027
+#: elfxx-x86.c:1041
+#, c-format
+msgid ""
+"%F%P: %pB: relocation %s against absolute symbol `%s' in section `%pA' is "
+"disallowed\n"
+msgstr ""
+
+#: elfxx-x86.c:1124
msgid "%P: %pB: warning: relocation in read-only section `%pA'\n"
msgstr ""
-#: elfxx-x86.c:1382
+#: elfxx-x86.c:1479
msgid ""
"%P%X: read-only segment has dynamic IFUNC relocations; recompile with %s\n"
msgstr ""
-#: elfxx-x86.c:2385
+#: elfxx-x86.c:2482
#, c-format
msgid "error: %pB: <corrupt x86 property (0x%x) size: 0x%x>"
msgstr ""
-#: elfxx-x86.c:2651
+#: elfxx-x86.c:2748
msgid "%P: %pB: warning: missing %s\n"
msgstr ""
-#: elfxx-x86.c:2653
+#: elfxx-x86.c:2750
msgid "%X%P: %pB: error: missing %s\n"
msgstr ""
-#: elfxx-x86.c:2676
+#: elfxx-x86.c:2773
msgid "IBT and SHSTK properties"
msgstr ""
-#: elfxx-x86.c:2678
+#: elfxx-x86.c:2775
msgid "IBT property"
msgstr ""
-#: elfxx-x86.c:2680
+#: elfxx-x86.c:2777
msgid "SHSTK property"
msgstr ""
-#: elfxx-x86.c:2824
+#: elfxx-x86.c:2921
msgid "%F%P: failed to create VxWorks dynamic sections\n"
msgstr ""
-#: elfxx-x86.c:2833
+#: elfxx-x86.c:2930
msgid "%F%P: failed to create GOT sections\n"
msgstr ""
-#: elfxx-x86.c:2851
+#: elfxx-x86.c:2948
msgid "%F%P: failed to create ifunc sections\n"
msgstr ""
-#: elfxx-x86.c:2891
+#: elfxx-x86.c:2988
msgid "%F%P: failed to create GOT PLT section\n"
msgstr ""
-#: elfxx-x86.c:2911
+#: elfxx-x86.c:3008
msgid "%F%P: failed to create IBT-enabled PLT section\n"
msgstr ""
-#: elfxx-x86.c:2925
+#: elfxx-x86.c:3022
msgid "%F%P: failed to create BND PLT section\n"
msgstr ""
-#: elfxx-x86.c:2945
+#: elfxx-x86.c:3042
msgid "%F%P: failed to create PLT .eh_frame section\n"
msgstr ""
-#: elfxx-x86.c:2958
+#: elfxx-x86.c:3055
msgid "%F%P: failed to create GOT PLT .eh_frame section\n"
msgstr ""
-#: elfxx-x86.c:2972
+#: elfxx-x86.c:3069
msgid "%F%P: failed to create the second PLT .eh_frame section\n"
msgstr ""
+#: elfxx-x86.c:3111
+msgid "%X%P: attempted static link of dynamic object `%pB'\n"
+msgstr ""
+
#: ihex.c:230
#, c-format
msgid "%pB:%d: unexpected character `%s' in Intel Hex file"
@@ -5482,22 +5679,22 @@ msgstr ""
msgid "%pB 64-bit address %#<PRIx64> out of range for Intel Hex file"
msgstr ""
-#: ihex.c:852
+#: ihex.c:851
#, c-format
msgid "%pB: address %#<PRIx64> out of range for Intel Hex file"
msgstr ""
-#: libbfd.c:937
+#: libbfd.c:884
#, c-format
msgid "%pB: unable to get decompressed section %pA"
msgstr ""
-#: libbfd.c:1101
+#: libbfd.c:1048
#, c-format
msgid "Deprecated %s called at %s line %d in %s\n"
msgstr ""
-#: libbfd.c:1104
+#: libbfd.c:1051
#, c-format
msgid "Deprecated %s called\n"
msgstr ""
@@ -5645,93 +5842,89 @@ msgid ""
"malformed mach-o reloc: section index is greater than the number of sections"
msgstr ""
-#: mach-o.c:2123
+#: mach-o.c:2139
msgid ""
"sorry: modtab, toc and extrefsyms are not yet implemented for dysymtab "
"commands."
msgstr ""
-#: mach-o.c:2569
+#: mach-o.c:2587
#, c-format
msgid "mach-o: there are too many sections (%u) maximum is 255,\n"
msgstr ""
-#: mach-o.c:2676
+#: mach-o.c:2694
#, c-format
msgid "unable to allocate data for load command %#x"
msgstr ""
-#: mach-o.c:2781
+#: mach-o.c:2799
#, c-format
msgid "unable to write unknown load command %#x"
msgstr ""
-#: mach-o.c:2965
+#: mach-o.c:2983
#, c-format
msgid "section address (%#<PRIx64>) below start of segment (%#<PRIx64>)"
msgstr ""
-#: mach-o.c:3107
+#: mach-o.c:3125
#, c-format
msgid "unable to layout unknown load command %#x"
msgstr ""
-#: mach-o.c:3642
+#: mach-o.c:3660
#, c-format
msgid ""
"bfd_mach_o_read_section_32: overlarge alignment value: %#lx, using 32 instead"
msgstr ""
-#: mach-o.c:3685
+#: mach-o.c:3703
#, c-format
msgid ""
"bfd_mach_o_read_section_64: overlarge alignment value: %#lx, using 32 instead"
msgstr ""
-#: mach-o.c:3736
+#: mach-o.c:3754
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %u"
msgstr ""
-#: mach-o.c:3755
+#: mach-o.c:3773
#, c-format
msgid "bfd_mach_o_read_symtab_symbol: name out of range (%lu >= %u)"
msgstr ""
-#: mach-o.c:3838
+#: mach-o.c:3856
#, c-format
msgid ""
"bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d "
"(max %lu): setting to undefined"
msgstr ""
-#: mach-o.c:3857
+#: mach-o.c:3875
#, c-format
msgid ""
"bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x"
"%x: setting to undefined"
msgstr ""
-#: mach-o.c:3934
-msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
-msgstr ""
-
-#: mach-o.c:4994
+#: mach-o.c:5062
#, c-format
msgid "%pB: unknown load command %#x"
msgstr ""
-#: mach-o.c:5185
+#: mach-o.c:5261
#, c-format
msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
msgstr ""
-#: mach-o.c:5290
+#: mach-o.c:5383
#, c-format
msgid "unknown header byte-order value %#x"
msgstr ""
-#: merge.c:889
+#: merge.c:895
#, c-format
msgid "%pB: access beyond end of merged section (%<PRId64>)"
msgstr ""
@@ -5773,111 +5966,111 @@ msgstr ""
msgid "%pB: invalid mmo file: expected YZ = 1 got YZ = %d for lop_quote\n"
msgstr ""
-#: mmo.c:1677
+#: mmo.c:1679
#, c-format
msgid ""
"%pB: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_loc\n"
msgstr ""
-#: mmo.c:1728
+#: mmo.c:1730
#, c-format
msgid ""
"%pB: invalid mmo file: expected z = 1 or z = 2, got z = %d for lop_fixo\n"
msgstr ""
-#: mmo.c:1769
+#: mmo.c:1771
#, c-format
msgid "%pB: invalid mmo file: expected y = 0, got y = %d for lop_fixrx\n"
msgstr ""
-#: mmo.c:1780
+#: mmo.c:1782
#, c-format
msgid ""
"%pB: invalid mmo file: expected z = 16 or z = 24, got z = %d for lop_fixrx\n"
msgstr ""
-#: mmo.c:1805
+#: mmo.c:1807
#, c-format
msgid ""
"%pB: invalid mmo file: leading byte of operand word must be 0 or 1, got %d "
"for lop_fixrx\n"
msgstr ""
-#: mmo.c:1830
+#: mmo.c:1832
#, c-format
msgid "%pB: cannot allocate file name for file number %d, %d bytes\n"
msgstr ""
-#: mmo.c:1852
+#: mmo.c:1854
#, c-format
msgid ""
"%pB: invalid mmo file: file number %d `%s', was already entered as `%s'\n"
msgstr ""
-#: mmo.c:1866
+#: mmo.c:1868
#, c-format
msgid ""
"%pB: invalid mmo file: file name for number %d was not specified before use\n"
msgstr ""
-#: mmo.c:1973
+#: mmo.c:1975
#, c-format
msgid ""
"%pB: invalid mmo file: fields y and z of lop_stab non-zero, y: %d, z: %d\n"
msgstr ""
-#: mmo.c:2010
+#: mmo.c:2012
#, c-format
msgid "%pB: invalid mmo file: lop_end not last item in file\n"
msgstr ""
-#: mmo.c:2024
+#: mmo.c:2026
#, c-format
msgid ""
"%pB: invalid mmo file: YZ of lop_end (%ld) not equal to the number of tetras "
"to the preceding lop_stab (%ld)\n"
msgstr ""
-#: mmo.c:2732
+#: mmo.c:2736
#, c-format
msgid "%pB: invalid symbol table: duplicate symbol `%s'\n"
msgstr ""
-#: mmo.c:2975
+#: mmo.c:2979
#, c-format
msgid ""
"%pB: bad symbol definition: `Main' set to %s rather than the start address "
"%s\n"
msgstr ""
-#: mmo.c:3074
+#: mmo.c:3078
#, c-format
msgid ""
"%pB: warning: symbol table too large for mmo, larger than 65535 32-bit "
"words: %d. Only `Main' will be emitted.\n"
msgstr ""
-#: mmo.c:3120
+#: mmo.c:3124
#, c-format
msgid "%pB: internal error, symbol table changed size from %d to %d words\n"
msgstr ""
-#: mmo.c:3173
+#: mmo.c:3177
#, c-format
msgid "%pB: internal error, internal register section %pA had contents\n"
msgstr ""
-#: mmo.c:3224
+#: mmo.c:3228
#, c-format
msgid "%pB: no initialized registers; section length 0\n"
msgstr ""
-#: mmo.c:3231
+#: mmo.c:3235
#, c-format
msgid "%pB: too many initialized registers; section length %<PRId64>"
msgstr ""
-#: mmo.c:3236
+#: mmo.c:3240
#, c-format
msgid ""
"%pB: invalid start address for initialized registers of length %<PRId64>: "
@@ -5889,7 +6082,7 @@ msgstr ""
msgid "unhandled OSF/1 core file section type %d"
msgstr ""
-#: pef.c:534
+#: pef.c:532
#, c-format
msgid "bfd_pef_scan: unknown architecture 0x%lx"
msgstr ""
@@ -5984,12 +6177,12 @@ msgstr ""
msgid "%pB: size field is zero in Import Library Format header"
msgstr ""
-#: peicode.h:1295
+#: peicode.h:1289
#, c-format
msgid "%pB: string not null terminated in ILF object file"
msgstr ""
-#: peicode.h:1351
+#: peicode.h:1345
#, c-format
msgid "%pB: error: debug data ends beyond end of debug directory"
msgstr ""
@@ -6043,32 +6236,32 @@ msgstr ""
msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
msgstr ""
-#: reloc.c:8263
+#: reloc.c:8291
msgid "INPUT_SECTION_FLAGS are not supported"
msgstr ""
-#: reloc.c:8364
+#: reloc.c:8392
#, c-format
msgid "%X%P: %pB(%pA): error: relocation for offset %V has no value\n"
msgstr ""
-#: reloc.c:8452
+#: reloc.c:8480
#, c-format
msgid "%X%P: %pB(%pA): relocation \"%pR\" is not supported\n"
msgstr ""
-#: reloc.c:8461
+#: reloc.c:8489
#, c-format
msgid "%X%P: %pB(%pA): relocation \"%pR\" returns an unrecognized value %x\n"
msgstr ""
-#: reloc.c:8523
+#: reloc.c:8551
#, c-format
msgid "%pB: unrecognized relocation type %#x in section `%pA'"
msgstr ""
#. PR 21803: Suggest the most likely cause of this error.
-#: reloc.c:8527
+#: reloc.c:8555
#, c-format
msgid "is this version of the linker - %s - out of date ?"
msgstr ""
@@ -6078,14 +6271,14 @@ msgstr ""
msgid "%pB: warning core file truncated"
msgstr ""
-#: som.c:5482
+#: som.c:5509
#, c-format
msgid ""
"\n"
"Exec Auxiliary Header\n"
msgstr ""
-#: som.c:5791
+#: som.c:5818
msgid "som_sizeof_headers unimplemented"
msgstr ""
@@ -6109,78 +6302,83 @@ msgstr ""
msgid "%pB(%pA+%#lx): stabs entry has invalid string index"
msgstr ""
-#: syms.c:1098
+#: syms.c:1087
msgid "unsupported .stab relocation"
msgstr ""
-#: vms-alpha.c:479
+#: vms-alpha.c:476
msgid "corrupt EIHD record - size is too small"
msgstr ""
-#: vms-alpha.c:665
+#: vms-alpha.c:662
#, c-format
msgid "unable to read EIHS record at offset %#x"
msgstr ""
-#: vms-alpha.c:1157
+#: vms-alpha.c:1154
msgid "record is too small for symbol name length"
msgstr ""
-#: vms-alpha.c:1190
+#: vms-alpha.c:1187
#, c-format
msgid "corrupt EGSD record: its size (%#x) is too small"
msgstr ""
-#: vms-alpha.c:1214
+#: vms-alpha.c:1211
#, c-format
msgid ""
"corrupt EGSD record type %d: size (%#x) is larger than remaining space (%#x)"
msgstr ""
-#: vms-alpha.c:1224
+#: vms-alpha.c:1221
#, c-format
msgid "corrupt EGSD record type %d: size (%#x) is too small"
msgstr ""
-#: vms-alpha.c:1366
+#: vms-alpha.c:1363
#, c-format
msgid "corrupt EGSD record: its psindx field is too big (%#lx)"
msgstr ""
-#: vms-alpha.c:1442
+#: vms-alpha.c:1439
#, c-format
msgid "unknown EGSD subtype %d"
msgstr ""
-#: vms-alpha.c:1475
+#: vms-alpha.c:1472
#, c-format
msgid "stack overflow (%d) in _bfd_vms_push"
msgstr ""
-#: vms-alpha.c:1489
+#: vms-alpha.c:1486
msgid "stack underflow in _bfd_vms_pop"
msgstr ""
+#: vms-alpha.c:1560
+#, c-format
+msgid "dst_define_location %u too large"
+msgstr ""
+
#. These names have not yet been added to this switch statement.
-#: vms-alpha.c:1733
+#: vms-alpha.c:1761
#, c-format
msgid "unknown ETIR command %d"
msgstr ""
-#: vms-alpha.c:1764
+#: vms-alpha.c:1792
msgid "corrupt vms value"
msgstr ""
-#: vms-alpha.c:1895
+#: vms-alpha.c:1923
msgid "corrupt ETIR record encountered"
msgstr ""
-#: vms-alpha.c:1956
+#: vms-alpha.c:1984
#, c-format
msgid "bad section index in %s"
msgstr ""
-#: vms-alpha.c:1970
+#: vms-alpha.c:1998
#, c-format
msgid "unsupported STA cmd %s"
msgstr ""
@@ -6190,1935 +6388,1947 @@ msgstr ""
#. Rotate.
#. Redefine symbol to current location.
#. Define a literal.
-#: vms-alpha.c:2156 vms-alpha.c:2187 vms-alpha.c:2278 vms-alpha.c:2467
+#: vms-alpha.c:2201 vms-alpha.c:2232 vms-alpha.c:2325 vms-alpha.c:2528
#, c-format
msgid "%s: not supported"
msgstr ""
-#: vms-alpha.c:2162
+#: vms-alpha.c:2207
#, c-format
msgid "%s: not implemented"
msgstr ""
-#: vms-alpha.c:2450
+#: vms-alpha.c:2370 vms-alpha.c:2385
+#, c-format
+msgid "invalid %s"
+msgstr ""
+
+#. Divide by zero is supposed to give a result of zero,
+#. and a non-fatal warning message.
+#: vms-alpha.c:2445
+#, c-format
+msgid "%s divide by zero"
+msgstr ""
+
+#: vms-alpha.c:2511
#, c-format
msgid "invalid use of %s with contexts"
msgstr ""
-#: vms-alpha.c:2491
+#: vms-alpha.c:2552
#, c-format
msgid "reserved cmd %d"
msgstr ""
-#: vms-alpha.c:2575
+#: vms-alpha.c:2636
msgid "corrupt EEOM record - size is too small"
msgstr ""
-#: vms-alpha.c:2584
+#: vms-alpha.c:2645
msgid "object module not error-free !"
msgstr ""
-#: vms-alpha.c:3926
+#: vms-alpha.c:3972
#, c-format
msgid "SEC_RELOC with no relocs in section %pA"
msgstr ""
-#: vms-alpha.c:3978 vms-alpha.c:4193
+#: vms-alpha.c:4024 vms-alpha.c:4239
#, c-format
msgid "size error in section %pA"
msgstr ""
-#: vms-alpha.c:4138
+#: vms-alpha.c:4184
msgid "spurious ALPHA_R_BSR reloc"
msgstr ""
-#: vms-alpha.c:4179
+#: vms-alpha.c:4225
#, c-format
msgid "unhandled relocation %s"
msgstr ""
-#: vms-alpha.c:4474
+#: vms-alpha.c:4522
#, c-format
msgid "unknown source command %d"
msgstr ""
-#: vms-alpha.c:4535 vms-alpha.c:4541 vms-alpha.c:4547 vms-alpha.c:4553
-#: vms-alpha.c:4559 vms-alpha.c:4586 vms-alpha.c:4592 vms-alpha.c:4598
-#: vms-alpha.c:4604
+#: vms-alpha.c:4583 vms-alpha.c:4589 vms-alpha.c:4595 vms-alpha.c:4601
+#: vms-alpha.c:4607 vms-alpha.c:4634 vms-alpha.c:4640 vms-alpha.c:4646
+#: vms-alpha.c:4652
#, c-format
msgid "%s not implemented"
msgstr ""
-#: vms-alpha.c:4647
+#: vms-alpha.c:4695
#, c-format
msgid "unknown line command %d"
msgstr ""
-#: vms-alpha.c:5107 vms-alpha.c:5125 vms-alpha.c:5140 vms-alpha.c:5156
-#: vms-alpha.c:5169 vms-alpha.c:5181 vms-alpha.c:5194
+#: vms-alpha.c:5159 vms-alpha.c:5177 vms-alpha.c:5192 vms-alpha.c:5208
+#: vms-alpha.c:5221 vms-alpha.c:5233 vms-alpha.c:5246
#, c-format
msgid "unknown reloc %s + %s"
msgstr ""
-#: vms-alpha.c:5249
+#: vms-alpha.c:5301
#, c-format
msgid "unknown reloc %s"
msgstr ""
-#: vms-alpha.c:5263
+#: vms-alpha.c:5315
msgid "invalid section index in ETIR"
msgstr ""
-#: vms-alpha.c:5272
+#: vms-alpha.c:5324
msgid "relocation for non-REL psect"
msgstr ""
-#: vms-alpha.c:5319
+#: vms-alpha.c:5373
#, c-format
msgid "unknown symbol in command %s"
msgstr ""
-#: vms-alpha.c:5733
+#: vms-alpha.c:5787
#, c-format
msgid "reloc (%d) is *UNKNOWN*"
msgstr ""
-#: vms-alpha.c:5849
+#: vms-alpha.c:5903
#, c-format
msgid " EMH %u (len=%u): "
msgstr ""
-#: vms-alpha.c:5854
+#: vms-alpha.c:5908
#, c-format
msgid " Error: The length is less than the length of an EMH record\n"
msgstr ""
-#: vms-alpha.c:5871
+#: vms-alpha.c:5925
#, c-format
msgid ""
" Error: The record length is less than the size of an EMH_MHD record\n"
msgstr ""
-#: vms-alpha.c:5874
+#: vms-alpha.c:5928
#, c-format
msgid "Module header\n"
msgstr ""
-#: vms-alpha.c:5875
+#: vms-alpha.c:5929
#, c-format
msgid " structure level: %u\n"
msgstr ""
-#: vms-alpha.c:5876
+#: vms-alpha.c:5930
#, c-format
msgid " max record size: %u\n"
msgstr ""
-#: vms-alpha.c:5882
+#: vms-alpha.c:5936
#, c-format
msgid " Error: The module name is missing\n"
msgstr ""
-#: vms-alpha.c:5888
+#: vms-alpha.c:5942
#, c-format
msgid " Error: The module name is too long\n"
msgstr ""
-#: vms-alpha.c:5891
+#: vms-alpha.c:5945
#, c-format
msgid " module name : %.*s\n"
msgstr ""
-#: vms-alpha.c:5895
+#: vms-alpha.c:5949
#, c-format
msgid " Error: The module version is missing\n"
msgstr ""
-#: vms-alpha.c:5901
+#: vms-alpha.c:5955
#, c-format
msgid " Error: The module version is too long\n"
msgstr ""
-#: vms-alpha.c:5904
+#: vms-alpha.c:5958
#, c-format
msgid " module version : %.*s\n"
msgstr ""
-#: vms-alpha.c:5907
+#: vms-alpha.c:5961
#, c-format
msgid " Error: The compile date is truncated\n"
msgstr ""
-#: vms-alpha.c:5909
+#: vms-alpha.c:5963
#, c-format
msgid " compile date : %.17s\n"
msgstr ""
-#: vms-alpha.c:5914
+#: vms-alpha.c:5968
#, c-format
msgid "Language Processor Name\n"
msgstr ""
-#: vms-alpha.c:5915
+#: vms-alpha.c:5969
#, c-format
msgid " language name: %.*s\n"
msgstr ""
-#: vms-alpha.c:5919
+#: vms-alpha.c:5973
#, c-format
msgid "Source Files Header\n"
msgstr ""
-#: vms-alpha.c:5920
+#: vms-alpha.c:5974
#, c-format
msgid " file: %.*s\n"
msgstr ""
-#: vms-alpha.c:5924
+#: vms-alpha.c:5978
#, c-format
msgid "Title Text Header\n"
msgstr ""
-#: vms-alpha.c:5925
+#: vms-alpha.c:5979
#, c-format
msgid " title: %.*s\n"
msgstr ""
-#: vms-alpha.c:5929
+#: vms-alpha.c:5983
#, c-format
msgid "Copyright Header\n"
msgstr ""
-#: vms-alpha.c:5930
+#: vms-alpha.c:5984
#, c-format
msgid " copyright: %.*s\n"
msgstr ""
-#: vms-alpha.c:5934
+#: vms-alpha.c:5988
#, c-format
msgid "unhandled emh subtype %u\n"
msgstr ""
-#: vms-alpha.c:5944
+#: vms-alpha.c:5998
#, c-format
msgid " EEOM (len=%u):\n"
msgstr ""
-#: vms-alpha.c:5949
+#: vms-alpha.c:6003
#, c-format
msgid " Error: The length is less than the length of an EEOM record\n"
msgstr ""
-#: vms-alpha.c:5953
+#: vms-alpha.c:6007
#, c-format
msgid " number of cond linkage pairs: %u\n"
msgstr ""
-#: vms-alpha.c:5955
+#: vms-alpha.c:6009
#, c-format
msgid " completion code: %u\n"
msgstr ""
-#: vms-alpha.c:5959
+#: vms-alpha.c:6013
#, c-format
msgid " transfer addr flags: 0x%02x\n"
msgstr ""
-#: vms-alpha.c:5960
+#: vms-alpha.c:6014
#, c-format
msgid " transfer addr psect: %u\n"
msgstr ""
-#: vms-alpha.c:5962
+#: vms-alpha.c:6016
#, c-format
msgid " transfer address : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:5971
+#: vms-alpha.c:6025
msgid " WEAK"
msgstr ""
-#: vms-alpha.c:5973
+#: vms-alpha.c:6027
msgid " DEF"
msgstr ""
-#: vms-alpha.c:5975
+#: vms-alpha.c:6029
msgid " UNI"
msgstr ""
-#: vms-alpha.c:5977 vms-alpha.c:5998
+#: vms-alpha.c:6031 vms-alpha.c:6052
msgid " REL"
msgstr ""
-#: vms-alpha.c:5979
+#: vms-alpha.c:6033
msgid " COMM"
msgstr ""
-#: vms-alpha.c:5981
+#: vms-alpha.c:6035
msgid " VECEP"
msgstr ""
-#: vms-alpha.c:5983
+#: vms-alpha.c:6037
msgid " NORM"
msgstr ""
-#: vms-alpha.c:5985
+#: vms-alpha.c:6039
msgid " QVAL"
msgstr ""
-#: vms-alpha.c:5992
+#: vms-alpha.c:6046
msgid " PIC"
msgstr ""
-#: vms-alpha.c:5994
+#: vms-alpha.c:6048
msgid " LIB"
msgstr ""
-#: vms-alpha.c:5996
+#: vms-alpha.c:6050
msgid " OVR"
msgstr ""
-#: vms-alpha.c:6000
+#: vms-alpha.c:6054
msgid " GBL"
msgstr ""
-#: vms-alpha.c:6002
+#: vms-alpha.c:6056
msgid " SHR"
msgstr ""
-#: vms-alpha.c:6004
+#: vms-alpha.c:6058
msgid " EXE"
msgstr ""
-#: vms-alpha.c:6006
+#: vms-alpha.c:6060
msgid " RD"
msgstr ""
-#: vms-alpha.c:6008
+#: vms-alpha.c:6062
msgid " WRT"
msgstr ""
-#: vms-alpha.c:6010
+#: vms-alpha.c:6064
msgid " VEC"
msgstr ""
-#: vms-alpha.c:6012
+#: vms-alpha.c:6066
msgid " NOMOD"
msgstr ""
-#: vms-alpha.c:6014
+#: vms-alpha.c:6068
msgid " COM"
msgstr ""
-#: vms-alpha.c:6016
+#: vms-alpha.c:6070
msgid " 64B"
msgstr ""
-#: vms-alpha.c:6025
+#: vms-alpha.c:6079
#, c-format
msgid " EGSD (len=%u):\n"
msgstr ""
-#: vms-alpha.c:6038
+#: vms-alpha.c:6092
#, c-format
msgid " EGSD entry %2u (type: %u, len: %u): "
msgstr ""
-#: vms-alpha.c:6044 vms-alpha.c:6295
+#: vms-alpha.c:6098 vms-alpha.c:6349
#, c-format
msgid " Error: length larger than remaining space in record\n"
msgstr ""
-#: vms-alpha.c:6056
+#: vms-alpha.c:6110
#, c-format
msgid "PSC - Program section definition\n"
msgstr ""
-#: vms-alpha.c:6057 vms-alpha.c:6074
+#: vms-alpha.c:6111 vms-alpha.c:6128
#, c-format
msgid " alignment : 2**%u\n"
msgstr ""
-#: vms-alpha.c:6058 vms-alpha.c:6075
+#: vms-alpha.c:6112 vms-alpha.c:6129
#, c-format
msgid " flags : 0x%04x"
msgstr ""
-#: vms-alpha.c:6062
+#: vms-alpha.c:6116
#, c-format
msgid " alloc (len): %u (0x%08x)\n"
msgstr ""
-#: vms-alpha.c:6063 vms-alpha.c:6120 vms-alpha.c:6169
+#: vms-alpha.c:6117 vms-alpha.c:6174 vms-alpha.c:6223
#, c-format
msgid " name : %.*s\n"
msgstr ""
-#: vms-alpha.c:6073
+#: vms-alpha.c:6127
#, c-format
msgid "SPSC - Shared Image Program section def\n"
msgstr ""
-#: vms-alpha.c:6079
+#: vms-alpha.c:6133
#, c-format
msgid " alloc (len) : %u (0x%08x)\n"
msgstr ""
-#: vms-alpha.c:6080
+#: vms-alpha.c:6134
#, c-format
msgid " image offset : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6082
+#: vms-alpha.c:6136
#, c-format
msgid " symvec offset : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6084
+#: vms-alpha.c:6138
#, c-format
msgid " name : %.*s\n"
msgstr ""
-#: vms-alpha.c:6097
+#: vms-alpha.c:6151
#, c-format
msgid "SYM - Global symbol definition\n"
msgstr ""
-#: vms-alpha.c:6098 vms-alpha.c:6158 vms-alpha.c:6179 vms-alpha.c:6198
+#: vms-alpha.c:6152 vms-alpha.c:6212 vms-alpha.c:6233 vms-alpha.c:6252
#, c-format
msgid " flags: 0x%04x"
msgstr ""
-#: vms-alpha.c:6101
+#: vms-alpha.c:6155
#, c-format
msgid " psect offset: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6105
+#: vms-alpha.c:6159
#, c-format
msgid " code address: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6107
+#: vms-alpha.c:6161
#, c-format
msgid " psect index for entry point : %u\n"
msgstr ""
-#: vms-alpha.c:6110 vms-alpha.c:6186 vms-alpha.c:6205
+#: vms-alpha.c:6164 vms-alpha.c:6240 vms-alpha.c:6259
#, c-format
msgid " psect index : %u\n"
msgstr ""
-#: vms-alpha.c:6112 vms-alpha.c:6188 vms-alpha.c:6207
+#: vms-alpha.c:6166 vms-alpha.c:6242 vms-alpha.c:6261
#, c-format
msgid " name : %.*s\n"
msgstr ""
-#: vms-alpha.c:6119
+#: vms-alpha.c:6173
#, c-format
msgid "SYM - Global symbol reference\n"
msgstr ""
-#: vms-alpha.c:6131
+#: vms-alpha.c:6185
#, c-format
msgid "IDC - Ident Consistency check\n"
msgstr ""
-#: vms-alpha.c:6132
+#: vms-alpha.c:6186
#, c-format
msgid " flags : 0x%08x"
msgstr ""
-#: vms-alpha.c:6136
+#: vms-alpha.c:6190
#, c-format
msgid " id match : %x\n"
msgstr ""
-#: vms-alpha.c:6138
+#: vms-alpha.c:6192
#, c-format
msgid " error severity: %x\n"
msgstr ""
-#: vms-alpha.c:6141
+#: vms-alpha.c:6195
#, c-format
msgid " entity name : %.*s\n"
msgstr ""
-#: vms-alpha.c:6143
+#: vms-alpha.c:6197
#, c-format
msgid " object name : %.*s\n"
msgstr ""
-#: vms-alpha.c:6146
+#: vms-alpha.c:6200
#, c-format
msgid " binary ident : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6149
+#: vms-alpha.c:6203
#, c-format
msgid " ascii ident : %.*s\n"
msgstr ""
-#: vms-alpha.c:6157
+#: vms-alpha.c:6211
#, c-format
msgid "SYMG - Universal symbol definition\n"
msgstr ""
-#: vms-alpha.c:6161
+#: vms-alpha.c:6215
#, c-format
msgid " symbol vector offset: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6163
+#: vms-alpha.c:6217
#, c-format
msgid " entry point: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6165
+#: vms-alpha.c:6219
#, c-format
msgid " proc descr : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6167
+#: vms-alpha.c:6221
#, c-format
msgid " psect index: %u\n"
msgstr ""
-#: vms-alpha.c:6178
+#: vms-alpha.c:6232
#, c-format
msgid "SYMV - Vectored symbol definition\n"
msgstr ""
-#: vms-alpha.c:6182
+#: vms-alpha.c:6236
#, c-format
msgid " vector : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6184 vms-alpha.c:6203
+#: vms-alpha.c:6238 vms-alpha.c:6257
#, c-format
msgid " psect offset: %u\n"
msgstr ""
-#: vms-alpha.c:6197
+#: vms-alpha.c:6251
#, c-format
msgid "SYMM - Global symbol definition with version\n"
msgstr ""
-#: vms-alpha.c:6201
+#: vms-alpha.c:6255
#, c-format
msgid " version mask: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6212
+#: vms-alpha.c:6266
#, c-format
msgid "unhandled egsd entry type %u\n"
msgstr ""
-#: vms-alpha.c:6247
+#: vms-alpha.c:6301
#, c-format
msgid " linkage index: %u, replacement insn: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6251
+#: vms-alpha.c:6305
#, c-format
msgid " psect idx 1: %u, offset 1: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6256
+#: vms-alpha.c:6310
#, c-format
msgid " psect idx 2: %u, offset 2: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6262
+#: vms-alpha.c:6316
#, c-format
msgid " psect idx 3: %u, offset 3: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6267
+#: vms-alpha.c:6321
#, c-format
msgid " global name: %.*s\n"
msgstr ""
-#: vms-alpha.c:6278
+#: vms-alpha.c:6332
#, c-format
msgid " %s (len=%u+%u):\n"
msgstr ""
-#: vms-alpha.c:6300
+#: vms-alpha.c:6354
#, c-format
msgid " (type: %3u, size: 4+%3u): "
msgstr ""
-#: vms-alpha.c:6304
+#: vms-alpha.c:6358
#, c-format
msgid "STA_GBL (stack global) %.*s\n"
msgstr ""
-#: vms-alpha.c:6308
+#: vms-alpha.c:6362
#, c-format
msgid "STA_LW (stack longword) 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6312
+#: vms-alpha.c:6366
#, c-format
msgid "STA_QW (stack quadword) 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6317
+#: vms-alpha.c:6371
#, c-format
msgid "STA_PQ (stack psect base + offset)\n"
msgstr ""
-#: vms-alpha.c:6319
+#: vms-alpha.c:6373
#, c-format
msgid " psect: %u, offset: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6325
+#: vms-alpha.c:6379
#, c-format
msgid "STA_LI (stack literal)\n"
msgstr ""
-#: vms-alpha.c:6328
+#: vms-alpha.c:6382
#, c-format
msgid "STA_MOD (stack module)\n"
msgstr ""
-#: vms-alpha.c:6331
+#: vms-alpha.c:6385
#, c-format
msgid "STA_CKARG (compare procedure argument)\n"
msgstr ""
-#: vms-alpha.c:6335
+#: vms-alpha.c:6389
#, c-format
msgid "STO_B (store byte)\n"
msgstr ""
-#: vms-alpha.c:6338
+#: vms-alpha.c:6392
#, c-format
msgid "STO_W (store word)\n"
msgstr ""
-#: vms-alpha.c:6341
+#: vms-alpha.c:6395
#, c-format
msgid "STO_LW (store longword)\n"
msgstr ""
-#: vms-alpha.c:6344
+#: vms-alpha.c:6398
#, c-format
msgid "STO_QW (store quadword)\n"
msgstr ""
-#: vms-alpha.c:6350
+#: vms-alpha.c:6404
#, c-format
msgid "STO_IMMR (store immediate repeat) %u bytes\n"
msgstr ""
-#: vms-alpha.c:6357
+#: vms-alpha.c:6411
#, c-format
msgid "STO_GBL (store global) %.*s\n"
msgstr ""
-#: vms-alpha.c:6361
+#: vms-alpha.c:6415
#, c-format
msgid "STO_CA (store code address) %.*s\n"
msgstr ""
-#: vms-alpha.c:6365
+#: vms-alpha.c:6419
#, c-format
msgid "STO_RB (store relative branch)\n"
msgstr ""
-#: vms-alpha.c:6368
+#: vms-alpha.c:6422
#, c-format
msgid "STO_AB (store absolute branch)\n"
msgstr ""
-#: vms-alpha.c:6371
+#: vms-alpha.c:6425
#, c-format
msgid "STO_OFF (store offset to psect)\n"
msgstr ""
-#: vms-alpha.c:6377
+#: vms-alpha.c:6431
#, c-format
msgid "STO_IMM (store immediate) %u bytes\n"
msgstr ""
-#: vms-alpha.c:6384
+#: vms-alpha.c:6438
#, c-format
msgid "STO_GBL_LW (store global longword) %.*s\n"
msgstr ""
-#: vms-alpha.c:6388
+#: vms-alpha.c:6442
#, c-format
msgid "STO_OFF (store LP with procedure signature)\n"
msgstr ""
-#: vms-alpha.c:6391
+#: vms-alpha.c:6445
#, c-format
msgid "STO_BR_GBL (store branch global) *todo*\n"
msgstr ""
-#: vms-alpha.c:6394
+#: vms-alpha.c:6448
#, c-format
msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
msgstr ""
-#: vms-alpha.c:6398
+#: vms-alpha.c:6452
#, c-format
msgid "OPR_NOP (no-operation)\n"
msgstr ""
-#: vms-alpha.c:6401
+#: vms-alpha.c:6455
#, c-format
msgid "OPR_ADD (add)\n"
msgstr ""
-#: vms-alpha.c:6404
+#: vms-alpha.c:6458
#, c-format
msgid "OPR_SUB (subtract)\n"
msgstr ""
-#: vms-alpha.c:6407
+#: vms-alpha.c:6461
#, c-format
msgid "OPR_MUL (multiply)\n"
msgstr ""
-#: vms-alpha.c:6410
+#: vms-alpha.c:6464
#, c-format
msgid "OPR_DIV (divide)\n"
msgstr ""
-#: vms-alpha.c:6413
+#: vms-alpha.c:6467
#, c-format
msgid "OPR_AND (logical and)\n"
msgstr ""
-#: vms-alpha.c:6416
+#: vms-alpha.c:6470
#, c-format
msgid "OPR_IOR (logical inclusive or)\n"
msgstr ""
-#: vms-alpha.c:6419
+#: vms-alpha.c:6473
#, c-format
msgid "OPR_EOR (logical exclusive or)\n"
msgstr ""
-#: vms-alpha.c:6422
+#: vms-alpha.c:6476
#, c-format
msgid "OPR_NEG (negate)\n"
msgstr ""
-#: vms-alpha.c:6425
+#: vms-alpha.c:6479
#, c-format
msgid "OPR_COM (complement)\n"
msgstr ""
-#: vms-alpha.c:6428
+#: vms-alpha.c:6482
#, c-format
msgid "OPR_INSV (insert field)\n"
msgstr ""
-#: vms-alpha.c:6431
+#: vms-alpha.c:6485
#, c-format
msgid "OPR_ASH (arithmetic shift)\n"
msgstr ""
-#: vms-alpha.c:6434
+#: vms-alpha.c:6488
#, c-format
msgid "OPR_USH (unsigned shift)\n"
msgstr ""
-#: vms-alpha.c:6437
+#: vms-alpha.c:6491
#, c-format
msgid "OPR_ROT (rotate)\n"
msgstr ""
-#: vms-alpha.c:6440
+#: vms-alpha.c:6494
#, c-format
msgid "OPR_SEL (select)\n"
msgstr ""
-#: vms-alpha.c:6443
+#: vms-alpha.c:6497
#, c-format
msgid "OPR_REDEF (redefine symbol to curr location)\n"
msgstr ""
-#: vms-alpha.c:6446
+#: vms-alpha.c:6500
#, c-format
msgid "OPR_REDEF (define a literal)\n"
msgstr ""
-#: vms-alpha.c:6450
+#: vms-alpha.c:6504
#, c-format
msgid "STC_LP (store cond linkage pair)\n"
msgstr ""
-#: vms-alpha.c:6454
+#: vms-alpha.c:6508
#, c-format
msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
msgstr ""
-#: vms-alpha.c:6456
+#: vms-alpha.c:6510
#, c-format
msgid " linkage index: %u, procedure: %.*s\n"
msgstr ""
-#: vms-alpha.c:6459
+#: vms-alpha.c:6513
#, c-format
msgid " signature: %.*s\n"
msgstr ""
-#: vms-alpha.c:6462
+#: vms-alpha.c:6516
#, c-format
msgid "STC_GBL (store cond global)\n"
msgstr ""
-#: vms-alpha.c:6464
+#: vms-alpha.c:6518
#, c-format
msgid " linkage index: %u, global: %.*s\n"
msgstr ""
-#: vms-alpha.c:6468
+#: vms-alpha.c:6522
#, c-format
msgid "STC_GCA (store cond code address)\n"
msgstr ""
-#: vms-alpha.c:6470
+#: vms-alpha.c:6524
#, c-format
msgid " linkage index: %u, procedure name: %.*s\n"
msgstr ""
-#: vms-alpha.c:6474
+#: vms-alpha.c:6528
#, c-format
msgid "STC_PS (store cond psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6477
+#: vms-alpha.c:6531
#, c-format
msgid " linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:6484
+#: vms-alpha.c:6538
#, c-format
msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
msgstr ""
-#: vms-alpha.c:6488
+#: vms-alpha.c:6542
#, c-format
msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6492
+#: vms-alpha.c:6546
#, c-format
msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
msgstr ""
-#: vms-alpha.c:6496
+#: vms-alpha.c:6550
#, c-format
msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6500
+#: vms-alpha.c:6554
#, c-format
msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
msgstr ""
-#: vms-alpha.c:6504
+#: vms-alpha.c:6558
#, c-format
msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6508
+#: vms-alpha.c:6562
#, c-format
msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
msgstr ""
-#: vms-alpha.c:6512
+#: vms-alpha.c:6566
#, c-format
msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6517
+#: vms-alpha.c:6571
#, c-format
msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
msgstr ""
-#: vms-alpha.c:6521
+#: vms-alpha.c:6575
#, c-format
msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
msgstr ""
-#: vms-alpha.c:6525
+#: vms-alpha.c:6579
#, c-format
msgid "CTL_SETRB (set relocation base)\n"
msgstr ""
-#: vms-alpha.c:6531
+#: vms-alpha.c:6585
#, c-format
msgid "CTL_AUGRB (augment relocation base) %u\n"
msgstr ""
-#: vms-alpha.c:6535
+#: vms-alpha.c:6589
#, c-format
msgid "CTL_DFLOC (define location)\n"
msgstr ""
-#: vms-alpha.c:6538
+#: vms-alpha.c:6592
#, c-format
msgid "CTL_STLOC (set location)\n"
msgstr ""
-#: vms-alpha.c:6541
+#: vms-alpha.c:6595
#, c-format
msgid "CTL_STKDL (stack defined location)\n"
msgstr ""
-#: vms-alpha.c:6544 vms-alpha.c:6968 vms-alpha.c:7094
+#: vms-alpha.c:6598 vms-alpha.c:7022 vms-alpha.c:7148
#, c-format
msgid "*unhandled*\n"
msgstr ""
-#: vms-alpha.c:6574 vms-alpha.c:6613
+#: vms-alpha.c:6628 vms-alpha.c:6667
#, c-format
msgid "cannot read GST record length\n"
msgstr ""
#. Ill-formed.
-#: vms-alpha.c:6595
+#: vms-alpha.c:6649
#, c-format
msgid "cannot find EMH in first GST record\n"
msgstr ""
-#: vms-alpha.c:6621
+#: vms-alpha.c:6675
#, c-format
msgid "cannot read GST record header\n"
msgstr ""
-#: vms-alpha.c:6634
+#: vms-alpha.c:6688
#, c-format
msgid " corrupted GST\n"
msgstr ""
-#: vms-alpha.c:6642
+#: vms-alpha.c:6696
#, c-format
msgid "cannot read GST record\n"
msgstr ""
-#: vms-alpha.c:6671
+#: vms-alpha.c:6725
#, c-format
msgid " unhandled EOBJ record type %u\n"
msgstr ""
-#: vms-alpha.c:6695
+#: vms-alpha.c:6749
#, c-format
msgid " bitcount: %u, base addr: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6709
+#: vms-alpha.c:6763
#, c-format
msgid " bitmap: 0x%08x (count: %u):\n"
msgstr ""
-#: vms-alpha.c:6716
+#: vms-alpha.c:6770
#, c-format
msgid " %08x"
msgstr ""
-#: vms-alpha.c:6742
+#: vms-alpha.c:6796
#, c-format
msgid " image %u (%u entries)\n"
msgstr ""
-#: vms-alpha.c:6748
+#: vms-alpha.c:6802
#, c-format
msgid " offset: 0x%08x, val: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6770
+#: vms-alpha.c:6824
#, c-format
msgid " image %u (%u entries), offsets:\n"
msgstr ""
-#: vms-alpha.c:6777
+#: vms-alpha.c:6831
#, c-format
msgid " 0x%08x"
msgstr ""
#. 64 bits.
-#: vms-alpha.c:6899
+#: vms-alpha.c:6953
#, c-format
msgid "64 bits *unhandled*\n"
msgstr ""
-#: vms-alpha.c:6904
+#: vms-alpha.c:6958
#, c-format
msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6915
+#: vms-alpha.c:6969
#, c-format
msgid "non-contiguous array of %s\n"
msgstr ""
-#: vms-alpha.c:6920
+#: vms-alpha.c:6974
#, c-format
msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
msgstr ""
-#: vms-alpha.c:6925
+#: vms-alpha.c:6979
#, c-format
msgid "arsize: %u, a0: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:6929
+#: vms-alpha.c:6983
#, c-format
msgid "Strides:\n"
msgstr ""
-#: vms-alpha.c:6939
+#: vms-alpha.c:6993
#, c-format
msgid "Bounds:\n"
msgstr ""
-#: vms-alpha.c:6945
+#: vms-alpha.c:6999
#, c-format
msgid "[%u]: Lower: %u, upper: %u\n"
msgstr ""
-#: vms-alpha.c:6957
+#: vms-alpha.c:7011
#, c-format
msgid "unaligned bit-string of %s\n"
msgstr ""
-#: vms-alpha.c:6962
+#: vms-alpha.c:7016
#, c-format
msgid "base: %u, pos: %u\n"
msgstr ""
-#: vms-alpha.c:6983
+#: vms-alpha.c:7037
#, c-format
msgid "vflags: 0x%02x, value: 0x%08x "
msgstr ""
-#: vms-alpha.c:6989
+#: vms-alpha.c:7043
#, c-format
msgid "(no value)\n"
msgstr ""
-#: vms-alpha.c:6992
+#: vms-alpha.c:7046
#, c-format
msgid "(not active)\n"
msgstr ""
-#: vms-alpha.c:6995
+#: vms-alpha.c:7049
#, c-format
msgid "(not allocated)\n"
msgstr ""
-#: vms-alpha.c:6998
+#: vms-alpha.c:7052
#, c-format
msgid "(descriptor)\n"
msgstr ""
-#: vms-alpha.c:7002
+#: vms-alpha.c:7056
#, c-format
msgid "(trailing value)\n"
msgstr ""
-#: vms-alpha.c:7005
+#: vms-alpha.c:7059
#, c-format
msgid "(value spec follows)\n"
msgstr ""
-#: vms-alpha.c:7008
+#: vms-alpha.c:7062
#, c-format
msgid "(at bit offset %u)\n"
msgstr ""
-#: vms-alpha.c:7012
+#: vms-alpha.c:7066
#, c-format
msgid "(reg: %u, disp: %u, indir: %u, kind: "
msgstr ""
-#: vms-alpha.c:7019
+#: vms-alpha.c:7073
msgid "literal"
msgstr ""
-#: vms-alpha.c:7022
+#: vms-alpha.c:7076
msgid "address"
msgstr ""
-#: vms-alpha.c:7025
+#: vms-alpha.c:7079
msgid "desc"
msgstr ""
-#: vms-alpha.c:7028
+#: vms-alpha.c:7082
msgid "reg"
msgstr ""
-#: vms-alpha.c:7045
+#: vms-alpha.c:7099
#, c-format
msgid "len: %2u, kind: %2u "
msgstr ""
-#: vms-alpha.c:7051
+#: vms-alpha.c:7105
#, c-format
msgid "atomic, type=0x%02x %s\n"
msgstr ""
-#: vms-alpha.c:7055
+#: vms-alpha.c:7109
#, c-format
msgid "indirect, defined at 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7059
+#: vms-alpha.c:7113
#, c-format
msgid "typed pointer\n"
msgstr ""
-#: vms-alpha.c:7063
+#: vms-alpha.c:7117
#, c-format
msgid "pointer\n"
msgstr ""
-#: vms-alpha.c:7071
+#: vms-alpha.c:7125
#, c-format
msgid "array, dim: %u, bitmap: "
msgstr ""
-#: vms-alpha.c:7078
+#: vms-alpha.c:7132
#, c-format
msgid "array descriptor:\n"
msgstr ""
-#: vms-alpha.c:7085
+#: vms-alpha.c:7139
#, c-format
msgid "type spec for element:\n"
msgstr ""
-#: vms-alpha.c:7087
+#: vms-alpha.c:7141
#, c-format
msgid "type spec for subscript %u:\n"
msgstr ""
-#: vms-alpha.c:7105
+#: vms-alpha.c:7159
#, c-format
msgid "Debug symbol table:\n"
msgstr ""
-#: vms-alpha.c:7116
+#: vms-alpha.c:7170
#, c-format
msgid "cannot read DST header\n"
msgstr ""
-#: vms-alpha.c:7122
+#: vms-alpha.c:7176
#, c-format
msgid " type: %3u, len: %3u (at 0x%08x): "
msgstr ""
-#: vms-alpha.c:7136
+#: vms-alpha.c:7190
#, c-format
msgid "cannot read DST symbol\n"
msgstr ""
-#: vms-alpha.c:7179
+#: vms-alpha.c:7233
#, c-format
msgid "standard data: %s\n"
msgstr ""
-#: vms-alpha.c:7182 vms-alpha.c:7270
+#: vms-alpha.c:7236 vms-alpha.c:7324
#, c-format
msgid " name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7189
+#: vms-alpha.c:7243
#, c-format
msgid "modbeg\n"
msgstr ""
-#: vms-alpha.c:7191
+#: vms-alpha.c:7245
#, c-format
msgid " flags: %d, language: %u, major: %u, minor: %u\n"
msgstr ""
-#: vms-alpha.c:7197 vms-alpha.c:7471
+#: vms-alpha.c:7251 vms-alpha.c:7525
#, c-format
msgid " module name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7200
+#: vms-alpha.c:7254
#, c-format
msgid " compiler : %.*s\n"
msgstr ""
-#: vms-alpha.c:7205
+#: vms-alpha.c:7259
#, c-format
msgid "modend\n"
msgstr ""
-#: vms-alpha.c:7212
+#: vms-alpha.c:7266
msgid "rtnbeg\n"
msgstr ""
-#: vms-alpha.c:7214
+#: vms-alpha.c:7268
#, c-format
msgid " flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7219
+#: vms-alpha.c:7273
#, c-format
msgid " routine name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7227
+#: vms-alpha.c:7281
#, c-format
msgid "rtnend: size 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7235
+#: vms-alpha.c:7289
#, c-format
msgid "prolog: bkpt address 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7244
+#: vms-alpha.c:7298
#, c-format
msgid "epilog: flags: %u, count: %u\n"
msgstr ""
-#: vms-alpha.c:7254
+#: vms-alpha.c:7308
#, c-format
msgid "blkbeg: address: 0x%08x, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7263
+#: vms-alpha.c:7317
#, c-format
msgid "blkend: size: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7269
+#: vms-alpha.c:7323
#, c-format
msgid "typspec (len: %u)\n"
msgstr ""
-#: vms-alpha.c:7276
+#: vms-alpha.c:7330
#, c-format
msgid "septyp, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7285
+#: vms-alpha.c:7339
#, c-format
msgid "recbeg: name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7287
+#: vms-alpha.c:7341
#, c-format
msgid " len: %u bits\n"
msgstr ""
-#: vms-alpha.c:7292
+#: vms-alpha.c:7346
#, c-format
msgid "recend\n"
msgstr ""
-#: vms-alpha.c:7296
+#: vms-alpha.c:7350
#, c-format
msgid "enumbeg, len: %u, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7300
+#: vms-alpha.c:7354
#, c-format
msgid "enumelt, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7304
+#: vms-alpha.c:7358
#, c-format
msgid "enumend\n"
msgstr ""
-#: vms-alpha.c:7309
+#: vms-alpha.c:7363
#, c-format
msgid "label, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7311
+#: vms-alpha.c:7365
#, c-format
msgid " address: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7321
+#: vms-alpha.c:7375
#, c-format
msgid "discontiguous range (nbr: %u)\n"
msgstr ""
-#: vms-alpha.c:7324
+#: vms-alpha.c:7378
#, c-format
msgid " address: 0x%08x, size: %u\n"
msgstr ""
-#: vms-alpha.c:7334
+#: vms-alpha.c:7388
#, c-format
msgid "line num (len: %u)\n"
msgstr ""
-#: vms-alpha.c:7351
+#: vms-alpha.c:7405
#, c-format
msgid "delta_pc_w %u\n"
msgstr ""
-#: vms-alpha.c:7358
+#: vms-alpha.c:7412
#, c-format
msgid "incr_linum(b): +%u\n"
msgstr ""
-#: vms-alpha.c:7364
+#: vms-alpha.c:7418
#, c-format
msgid "incr_linum_w: +%u\n"
msgstr ""
-#: vms-alpha.c:7370
+#: vms-alpha.c:7424
#, c-format
msgid "incr_linum_l: +%u\n"
msgstr ""
-#: vms-alpha.c:7376
+#: vms-alpha.c:7430
#, c-format
msgid "set_line_num(w) %u\n"
msgstr ""
-#: vms-alpha.c:7381
+#: vms-alpha.c:7435
#, c-format
msgid "set_line_num_b %u\n"
msgstr ""
-#: vms-alpha.c:7386
+#: vms-alpha.c:7440
#, c-format
msgid "set_line_num_l %u\n"
msgstr ""
-#: vms-alpha.c:7391
+#: vms-alpha.c:7445
#, c-format
msgid "set_abs_pc: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7395
+#: vms-alpha.c:7449
#, c-format
msgid "delta_pc_l: +0x%08x\n"
msgstr ""
-#: vms-alpha.c:7400
+#: vms-alpha.c:7454
#, c-format
msgid "term(b): 0x%02x"
msgstr ""
-#: vms-alpha.c:7402
+#: vms-alpha.c:7456
#, c-format
msgid " pc: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7407
+#: vms-alpha.c:7461
#, c-format
msgid "term_w: 0x%04x"
msgstr ""
-#: vms-alpha.c:7409
+#: vms-alpha.c:7463
#, c-format
msgid " pc: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7415
+#: vms-alpha.c:7469
#, c-format
msgid "delta pc +%-4d"
msgstr ""
-#: vms-alpha.c:7419
+#: vms-alpha.c:7473
#, c-format
msgid " pc: 0x%08x line: %5u\n"
msgstr ""
-#: vms-alpha.c:7424
+#: vms-alpha.c:7478
#, c-format
msgid " *unhandled* cmd %u\n"
msgstr ""
-#: vms-alpha.c:7439
+#: vms-alpha.c:7493
#, c-format
msgid "source (len: %u)\n"
msgstr ""
-#: vms-alpha.c:7454
+#: vms-alpha.c:7508
#, c-format
msgid " declfile: len: %u, flags: %u, fileid: %u\n"
msgstr ""
-#: vms-alpha.c:7459
+#: vms-alpha.c:7513
#, c-format
msgid " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
msgstr ""
-#: vms-alpha.c:7468
+#: vms-alpha.c:7522
#, c-format
msgid " filename : %.*s\n"
msgstr ""
-#: vms-alpha.c:7477
+#: vms-alpha.c:7531
#, c-format
msgid " setfile %u\n"
msgstr ""
-#: vms-alpha.c:7482 vms-alpha.c:7487
+#: vms-alpha.c:7536 vms-alpha.c:7541
#, c-format
msgid " setrec %u\n"
msgstr ""
-#: vms-alpha.c:7492 vms-alpha.c:7497
+#: vms-alpha.c:7546 vms-alpha.c:7551
#, c-format
msgid " setlnum %u\n"
msgstr ""
-#: vms-alpha.c:7502 vms-alpha.c:7507
+#: vms-alpha.c:7556 vms-alpha.c:7561
#, c-format
msgid " deflines %u\n"
msgstr ""
-#: vms-alpha.c:7511
+#: vms-alpha.c:7565
#, c-format
msgid " formfeed\n"
msgstr ""
-#: vms-alpha.c:7515
+#: vms-alpha.c:7569
#, c-format
msgid " *unhandled* cmd %u\n"
msgstr ""
-#: vms-alpha.c:7527
+#: vms-alpha.c:7581
#, c-format
msgid "*unhandled* dst type %u\n"
msgstr ""
-#: vms-alpha.c:7559
+#: vms-alpha.c:7613
#, c-format
msgid "cannot read EIHD\n"
msgstr ""
-#: vms-alpha.c:7563
+#: vms-alpha.c:7617
#, c-format
msgid "EIHD: (size: %u, nbr blocks: %u)\n"
msgstr ""
-#: vms-alpha.c:7567
+#: vms-alpha.c:7621
#, c-format
msgid " majorid: %u, minorid: %u\n"
msgstr ""
-#: vms-alpha.c:7575
+#: vms-alpha.c:7629
msgid "executable"
msgstr ""
-#: vms-alpha.c:7578
+#: vms-alpha.c:7632
msgid "linkable image"
msgstr ""
-#: vms-alpha.c:7585
+#: vms-alpha.c:7639
#, c-format
msgid " image type: %u (%s)"
msgstr ""
-#: vms-alpha.c:7591
+#: vms-alpha.c:7645
msgid "native"
msgstr ""
-#: vms-alpha.c:7594
+#: vms-alpha.c:7648
msgid "CLI"
msgstr ""
-#: vms-alpha.c:7601
+#: vms-alpha.c:7655
#, c-format
msgid ", subtype: %u (%s)\n"
msgstr ""
-#: vms-alpha.c:7608
+#: vms-alpha.c:7662
#, c-format
msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
msgstr ""
-#: vms-alpha.c:7612
+#: vms-alpha.c:7666
#, c-format
msgid " fixup info rva: "
msgstr ""
-#: vms-alpha.c:7614
+#: vms-alpha.c:7668
#, c-format
msgid ", symbol vector rva: "
msgstr ""
-#: vms-alpha.c:7617
+#: vms-alpha.c:7671
#, c-format
msgid ""
"\n"
" version array off: %u\n"
msgstr ""
-#: vms-alpha.c:7622
+#: vms-alpha.c:7676
#, c-format
msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
msgstr ""
-#: vms-alpha.c:7628
+#: vms-alpha.c:7682
#, c-format
msgid " linker flags: %08x:"
msgstr ""
-#: vms-alpha.c:7659
+#: vms-alpha.c:7713
#, c-format
msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
msgstr ""
-#: vms-alpha.c:7665
+#: vms-alpha.c:7719
#, c-format
msgid " BPAGE: %u"
msgstr ""
-#: vms-alpha.c:7672
+#: vms-alpha.c:7726
#, c-format
msgid ", ext fixup offset: %u, no_opt psect off: %u"
msgstr ""
-#: vms-alpha.c:7675
+#: vms-alpha.c:7729
#, c-format
msgid ", alias: %u\n"
msgstr ""
-#: vms-alpha.c:7683
+#: vms-alpha.c:7737
#, c-format
msgid "system version array information:\n"
msgstr ""
-#: vms-alpha.c:7687
+#: vms-alpha.c:7741
#, c-format
msgid "cannot read EIHVN header\n"
msgstr ""
-#: vms-alpha.c:7697
+#: vms-alpha.c:7751
#, c-format
msgid "cannot read EIHVN version\n"
msgstr ""
-#: vms-alpha.c:7700
+#: vms-alpha.c:7754
#, c-format
msgid " %02u "
msgstr ""
-#: vms-alpha.c:7704
+#: vms-alpha.c:7758
msgid "BASE_IMAGE "
msgstr ""
-#: vms-alpha.c:7707
+#: vms-alpha.c:7761
msgid "MEMORY_MANAGEMENT"
msgstr ""
-#: vms-alpha.c:7710
+#: vms-alpha.c:7764
msgid "IO "
msgstr ""
-#: vms-alpha.c:7713
+#: vms-alpha.c:7767
msgid "FILES_VOLUMES "
msgstr ""
-#: vms-alpha.c:7716
+#: vms-alpha.c:7770
msgid "PROCESS_SCHED "
msgstr ""
-#: vms-alpha.c:7719
+#: vms-alpha.c:7773
msgid "SYSGEN "
msgstr ""
-#: vms-alpha.c:7722
+#: vms-alpha.c:7776
msgid "CLUSTERS_LOCKMGR "
msgstr ""
-#: vms-alpha.c:7725
+#: vms-alpha.c:7779
msgid "LOGICAL_NAMES "
msgstr ""
-#: vms-alpha.c:7728
+#: vms-alpha.c:7782
msgid "SECURITY "
msgstr ""
-#: vms-alpha.c:7731
+#: vms-alpha.c:7785
msgid "IMAGE_ACTIVATOR "
msgstr ""
-#: vms-alpha.c:7734
+#: vms-alpha.c:7788
msgid "NETWORKS "
msgstr ""
-#: vms-alpha.c:7737
+#: vms-alpha.c:7791
msgid "COUNTERS "
msgstr ""
-#: vms-alpha.c:7740
+#: vms-alpha.c:7794
msgid "STABLE "
msgstr ""
-#: vms-alpha.c:7743
+#: vms-alpha.c:7797
msgid "MISC "
msgstr ""
-#: vms-alpha.c:7746
+#: vms-alpha.c:7800
msgid "CPU "
msgstr ""
-#: vms-alpha.c:7749
+#: vms-alpha.c:7803
msgid "VOLATILE "
msgstr ""
-#: vms-alpha.c:7752
+#: vms-alpha.c:7806
msgid "SHELL "
msgstr ""
-#: vms-alpha.c:7755
+#: vms-alpha.c:7809
msgid "POSIX "
msgstr ""
-#: vms-alpha.c:7758
+#: vms-alpha.c:7812
msgid "MULTI_PROCESSING "
msgstr ""
-#: vms-alpha.c:7761
+#: vms-alpha.c:7815
msgid "GALAXY "
msgstr ""
-#: vms-alpha.c:7764
+#: vms-alpha.c:7818
msgid "*unknown* "
msgstr ""
-#: vms-alpha.c:7780 vms-alpha.c:8055
+#: vms-alpha.c:7834 vms-alpha.c:8108
#, c-format
msgid "cannot read EIHA\n"
msgstr ""
-#: vms-alpha.c:7783
+#: vms-alpha.c:7837
#, c-format
msgid "Image activation: (size=%u)\n"
msgstr ""
-#: vms-alpha.c:7786
+#: vms-alpha.c:7840
#, c-format
msgid " First address : 0x%08x 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7790
+#: vms-alpha.c:7844
#, c-format
msgid " Second address: 0x%08x 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7794
+#: vms-alpha.c:7848
#, c-format
msgid " Third address : 0x%08x 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7798
+#: vms-alpha.c:7852
#, c-format
msgid " Fourth address: 0x%08x 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7802
+#: vms-alpha.c:7856
#, c-format
msgid " Shared image : 0x%08x 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7813
+#: vms-alpha.c:7867
#, c-format
msgid "cannot read EIHI\n"
msgstr ""
-#: vms-alpha.c:7817
+#: vms-alpha.c:7871
#, c-format
msgid "Image identification: (major: %u, minor: %u)\n"
msgstr ""
-#: vms-alpha.c:7820
+#: vms-alpha.c:7874
#, c-format
msgid " image name : %.*s\n"
msgstr ""
-#: vms-alpha.c:7822
+#: vms-alpha.c:7876
#, c-format
msgid " link time : %s\n"
msgstr ""
-#: vms-alpha.c:7824
+#: vms-alpha.c:7878
#, c-format
msgid " image ident : %.*s\n"
msgstr ""
-#: vms-alpha.c:7826
+#: vms-alpha.c:7880
#, c-format
msgid " linker ident : %.*s\n"
msgstr ""
-#: vms-alpha.c:7828
+#: vms-alpha.c:7882
#, c-format
msgid " image build ident: %.*s\n"
msgstr ""
-#: vms-alpha.c:7838
+#: vms-alpha.c:7892
#, c-format
msgid "cannot read EIHS\n"
msgstr ""
-#: vms-alpha.c:7842
+#: vms-alpha.c:7896
#, c-format
msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
msgstr ""
-#: vms-alpha.c:7848
+#: vms-alpha.c:7902
#, c-format
msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
msgstr ""
-#: vms-alpha.c:7853
+#: vms-alpha.c:7907
#, c-format
msgid " global symbol table: vbn: %u, records: %u\n"
msgstr ""
-#: vms-alpha.c:7858
+#: vms-alpha.c:7912
#, c-format
msgid " debug module table : vbn: %u, size: %u\n"
msgstr ""
-#: vms-alpha.c:7871
+#: vms-alpha.c:7925
#, c-format
msgid "cannot read EISD\n"
msgstr ""
-#: vms-alpha.c:7882
+#: vms-alpha.c:7936
#, c-format
msgid ""
"Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
msgstr ""
-#: vms-alpha.c:7890
+#: vms-alpha.c:7944
#, c-format
msgid " section: base: 0x%08x%08x size: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:7895
+#: vms-alpha.c:7949
#, c-format
msgid " flags: 0x%04x"
msgstr ""
-#: vms-alpha.c:7933
+#: vms-alpha.c:7987
#, c-format
msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
msgstr ""
-#: vms-alpha.c:7939
+#: vms-alpha.c:7993
msgid "NORMAL"
msgstr ""
-#: vms-alpha.c:7942
+#: vms-alpha.c:7996
msgid "SHRFXD"
msgstr ""
-#: vms-alpha.c:7945
+#: vms-alpha.c:7999
msgid "PRVFXD"
msgstr ""
-#: vms-alpha.c:7948
+#: vms-alpha.c:8002
msgid "SHRPIC"
msgstr ""
-#: vms-alpha.c:7951
+#: vms-alpha.c:8005
msgid "PRVPIC"
msgstr ""
-#: vms-alpha.c:7954
+#: vms-alpha.c:8008
msgid "USRSTACK"
msgstr ""
-#: vms-alpha.c:7960
+#: vms-alpha.c:8014
msgid ")\n"
msgstr ""
-#: vms-alpha.c:7963
+#: vms-alpha.c:8017
#, c-format
msgid " ident: 0x%08x, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:7973
+#: vms-alpha.c:8027
#, c-format
msgid "cannot read DMT\n"
msgstr ""
-#: vms-alpha.c:7977
+#: vms-alpha.c:8031
#, c-format
msgid "Debug module table:\n"
msgstr ""
-#: vms-alpha.c:7986
+#: vms-alpha.c:8040
#, c-format
msgid "cannot read DMT header\n"
msgstr ""
-#: vms-alpha.c:7992
+#: vms-alpha.c:8046
#, c-format
msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
msgstr ""
-#: vms-alpha.c:8002
+#: vms-alpha.c:8056
#, c-format
msgid "cannot read DMT psect\n"
msgstr ""
-#: vms-alpha.c:8006
+#: vms-alpha.c:8060
#, c-format
msgid " psect start: 0x%08x, length: %u\n"
msgstr ""
-#: vms-alpha.c:8019
+#: vms-alpha.c:8073
#, c-format
msgid "cannot read DST\n"
msgstr ""
-#: vms-alpha.c:8029
+#: vms-alpha.c:8083
#, c-format
msgid "cannot read GST\n"
msgstr ""
-#: vms-alpha.c:8033
+#: vms-alpha.c:8087
#, c-format
msgid "Global symbol table:\n"
msgstr ""
-#: vms-alpha.c:8062
+#: vms-alpha.c:8114
#, c-format
msgid "Image activator fixup: (major: %u, minor: %u)\n"
msgstr ""
-#: vms-alpha.c:8066
+#: vms-alpha.c:8118
#, c-format
msgid " iaflink : 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:8070
+#: vms-alpha.c:8122
#, c-format
msgid " fixuplnk: 0x%08x %08x\n"
msgstr ""
-#: vms-alpha.c:8073
+#: vms-alpha.c:8125
#, c-format
msgid " size : %u\n"
msgstr ""
-#: vms-alpha.c:8075
+#: vms-alpha.c:8127
#, c-format
msgid " flags: 0x%08x\n"
msgstr ""
-#: vms-alpha.c:8080
+#: vms-alpha.c:8132
#, c-format
msgid " qrelfixoff: %5u, lrelfixoff: %5u\n"
msgstr ""
-#: vms-alpha.c:8085
+#: vms-alpha.c:8137
#, c-format
msgid " qdotadroff: %5u, ldotadroff: %5u\n"
msgstr ""
-#: vms-alpha.c:8090
+#: vms-alpha.c:8142
#, c-format
msgid " codeadroff: %5u, lpfixoff : %5u\n"
msgstr ""
-#: vms-alpha.c:8093
+#: vms-alpha.c:8145
#, c-format
msgid " chgprtoff : %5u\n"
msgstr ""
-#: vms-alpha.c:8097
+#: vms-alpha.c:8149
#, c-format
msgid " shlstoff : %5u, shrimgcnt : %5u\n"
msgstr ""
-#: vms-alpha.c:8100
+#: vms-alpha.c:8152
#, c-format
msgid " shlextra : %5u, permctx : %5u\n"
msgstr ""
-#: vms-alpha.c:8103
+#: vms-alpha.c:8155
#, c-format
msgid " base_va : 0x%08x\n"
msgstr ""
-#: vms-alpha.c:8105
+#: vms-alpha.c:8157
#, c-format
msgid " lppsbfixoff: %5u\n"
msgstr ""
-#: vms-alpha.c:8113
+#: vms-alpha.c:8165
#, c-format
msgid " Shareable images:\n"
msgstr ""
-#: vms-alpha.c:8118
+#: vms-alpha.c:8170
#, c-format
msgid " %u: size: %u, flags: 0x%02x, name: %.*s\n"
msgstr ""
-#: vms-alpha.c:8125
+#: vms-alpha.c:8177
#, c-format
msgid " quad-word relocation fixups:\n"
msgstr ""
-#: vms-alpha.c:8130
+#: vms-alpha.c:8182
#, c-format
msgid " long-word relocation fixups:\n"
msgstr ""
-#: vms-alpha.c:8135
+#: vms-alpha.c:8187
#, c-format
msgid " quad-word .address reference fixups:\n"
msgstr ""
-#: vms-alpha.c:8140
+#: vms-alpha.c:8192
#, c-format
msgid " long-word .address reference fixups:\n"
msgstr ""
-#: vms-alpha.c:8145
+#: vms-alpha.c:8197
#, c-format
msgid " Code Address Reference Fixups:\n"
msgstr ""
-#: vms-alpha.c:8150
+#: vms-alpha.c:8202
#, c-format
msgid " Linkage Pairs Reference Fixups:\n"
msgstr ""
-#: vms-alpha.c:8159
+#: vms-alpha.c:8211
#, c-format
msgid " Change Protection (%u entries):\n"
msgstr ""
-#: vms-alpha.c:8165
+#: vms-alpha.c:8217
#, c-format
msgid " base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
msgstr ""
#. FIXME: we do not yet support relocatable link. It is not obvious
#. how to do it for debug infos.
-#: vms-alpha.c:9027
+#: vms-alpha.c:9094
msgid "%P: relocatable link is not supported\n"
msgstr ""
-#: vms-alpha.c:9098
+#: vms-alpha.c:9165
#, c-format
msgid "%P: multiple entry points: in modules %pB and %pB\n"
msgstr ""
-#: vms-lib.c:1453
+#: vms-lib.c:1525
#, c-format
msgid "could not open shared image '%s' from '%s'"
msgstr ""
@@ -8141,449 +8351,446 @@ msgstr ""
msgid "%pB: dynamic object with no .loader section"
msgstr ""
-#: xcofflink.c:1414
+#: xcofflink.c:1418
#, c-format
msgid "%pB: `%s' has line numbers but no enclosing section"
msgstr ""
-#: xcofflink.c:1467
+#: xcofflink.c:1471
#, c-format
msgid "%pB: class %d symbol `%s' has no aux entries"
msgstr ""
-#: xcofflink.c:1490
+#: xcofflink.c:1494
#, c-format
msgid "%pB: symbol `%s' has unrecognized csect type %d"
msgstr ""
-#: xcofflink.c:1503
+#: xcofflink.c:1507
#, c-format
msgid "%pB: bad XTY_ER symbol `%s': class %d scnum %d scnlen %<PRId64>"
msgstr ""
-#: xcofflink.c:1534
+#: xcofflink.c:1538
#, c-format
msgid "%pB: XMC_TC0 symbol `%s' is class %d scnlen %<PRId64>"
msgstr ""
-#: xcofflink.c:1681
+#: xcofflink.c:1685
#, c-format
msgid "%pB: csect `%s' not in enclosing section"
msgstr ""
-#: xcofflink.c:1789
+#: xcofflink.c:1793
#, c-format
msgid "%pB: misplaced XTY_LD `%s'"
msgstr ""
-#: xcofflink.c:2110
+#: xcofflink.c:2114
#, c-format
msgid "%pB: reloc %s:%<PRId64> not in csect"
msgstr ""
-#: xcofflink.c:3197
+#: xcofflink.c:3201
#, c-format
msgid "%s: no such symbol"
msgstr ""
-#: xcofflink.c:3302
+#: xcofflink.c:3306
#, c-format
msgid "warning: attempt to export undefined symbol `%s'"
msgstr ""
-#: xcofflink.c:3681
+#: xcofflink.c:3685
msgid "error: undefined symbol __rtinit"
msgstr ""
-#: xcofflink.c:4061
+#: xcofflink.c:4065
#, c-format
msgid "%pB: loader reloc in unrecognized section `%s'"
msgstr ""
-#: xcofflink.c:4073
+#: xcofflink.c:4077
#, c-format
msgid "%pB: `%s' in loader reloc but not loader sym"
msgstr ""
-#: xcofflink.c:4090
+#: xcofflink.c:4094
#, c-format
msgid "%pB: loader reloc in read-only section %pA"
msgstr ""
-#: xcofflink.c:5114
+#: xcofflink.c:5122
#, c-format
msgid "TOC overflow: %#<PRIx64> > 0x10000; try -mminimal-toc when compiling"
msgstr ""
#. Not fatal, this callback cannot fail.
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2918
+#: elfnn-aarch64.c:2918
#, c-format
msgid "unknown attribute for symbol `%s': 0x%02x"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5237
+#: elfnn-aarch64.c:5292
#, c-format
msgid "%pB: error: erratum 835769 stub out of range (input file too large)"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5329
+#: elfnn-aarch64.c:5384
#, c-format
msgid "%pB: error: erratum 843419 stub out of range (input file too large)"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5342
+#: elfnn-aarch64.c:5397
msgid "%pB: error: erratum 843419 immediate 0x%"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5876
+#: elfnn-aarch64.c:5945
#, c-format
msgid ""
"%pB: relocation %s against symbol `%s' which may bind externally can not be "
"used when making a shared object; recompile with -fPIC"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:5969
+#: elfnn-aarch64.c:6036
#, c-format
msgid ""
"%pB: local symbol descriptor table be NULL when applying relocation %s "
"against local symbol"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6082
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:6119
+#: elfnn-aarch64.c:6149 elfnn-aarch64.c:6186
#, c-format
msgid "%pB: TLS relocation %s against undefined symbol `%s'"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7104
+#: elfnn-aarch64.c:7171
msgid "too many GOT entries for -fpic, please recompile with -fPIC"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7132
+#: elfnn-aarch64.c:7199
msgid ""
"one possible cause of this error is that the symbol is being referenced in "
"the indicated code as if it had a larger alignment than was declared where "
"it was defined"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:7716
+#: elfnn-aarch64.c:7783
#, c-format
msgid ""
"%pB: relocation %s against `%s' can not be used when making a shared object"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:182
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:217
+#: elfnn-riscv.c:190 elfnn-riscv.c:225
#, c-format
msgid "%pB: warning: RVE PLT generation not supported"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2093
+#: elfnn-riscv.c:2101
#, c-format
msgid "%pcrel_lo section symbol with an addend"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2314
+#: elfnn-riscv.c:2322
#, c-format
msgid ""
"%%X%%P: relocation %s against `%s' can not be used when making a shared "
"object; recompile with -fPIC\n"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2324
+#: elfnn-riscv.c:2332
#, c-format
msgid "%%X%%P: unresolvable %s relocation against symbol `%s'\n"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2363
+#: elfnn-riscv.c:2371
msgid "%X%P: internal error: out of range error\n"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2368
+#: elfnn-riscv.c:2376
msgid "%X%P: internal error: unsupported relocation error\n"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2374
+#: elfnn-riscv.c:2382
msgid "dangerous relocation error"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2380
+#: elfnn-riscv.c:2388
msgid "%X%P: internal error: unknown error\n"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2771
+#: elfnn-riscv.c:2755
#, c-format
msgid "error: %pB: Mis-matched ISA version for '%s' extension. %d.%d vs %d.%d"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2789
+#: elfnn-riscv.c:2773
#, c-format
msgid ""
"error: %pB: corrupted ISA string '%s'. First letter should be 'i' or 'e' but "
"got '%s'."
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2833
+#: elfnn-riscv.c:2817
#, c-format
msgid "error: %pB: Mis-matched ISA string to merge '%s' and '%s'."
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:2981
+#: elfnn-riscv.c:3018
#, c-format
msgid "error: %pB: ISA string of input (%s) doesn't match output (%s)."
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3006
+#: elfnn-riscv.c:3038
#, c-format
msgid "error: %pB: XLEN of input (%u) doesn't match output (%u)."
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3014
+#: elfnn-riscv.c:3046
#, c-format
msgid "error: %pB: Unsupported XLEN (%u), you might be using wrong emulation."
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3099
+#: elfnn-riscv.c:3131
#, c-format
msgid "error: %pB: conflicting priv spec version (major/minor/revision)."
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3115
+#: elfnn-riscv.c:3147
#, c-format
msgid ""
"error: %pB use %u-byte stack aligned but the output use %u-byte stack "
"aligned."
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3155
+#: elfnn-riscv.c:3187
#, c-format
msgid ""
"%pB: ABI is incompatible with that of the selected emulation:\n"
" target emulation `%s' does not match `%s'"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3209
+#: elfnn-riscv.c:3241
#, c-format
msgid "%pB: can't link %s modules with %s modules"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3219
+#: elfnn-riscv.c:3251
#, c-format
msgid "%pB: can't link RVE with other target"
msgstr ""
-#: /work/sources/binutils/current/bfd/elfnn-riscv.c:3757
+#: elfnn-riscv.c:3789
#, c-format
msgid ""
"%pB(%pA+%#<PRIx64>): %<PRId64> bytes required for alignment to %<PRId64>-"
"byte boundary, but only %<PRId64> present"
msgstr ""
-#: peigen.c:164 pepigen.c:164 pex64igen.c:164
+#: peXXigen.c:164
#, c-format
msgid "%pB: unable to find name for empty section"
msgstr ""
-#: peigen.c:190 pepigen.c:190 pex64igen.c:190
+#: peXXigen.c:191
#, c-format
msgid "%pB: out of memory creating name for empty section"
msgstr ""
-#: peigen.c:201 pepigen.c:201 pex64igen.c:201
+#: peXXigen.c:201
#, c-format
msgid "%pB: unable to create fake empty section"
msgstr ""
-#: peigen.c:539 pepigen.c:539 pex64igen.c:539
+#: peXXigen.c:539
#, c-format
msgid ""
"%pB: aout header specifies an invalid number of data-directory entries: %u"
msgstr ""
-#: peigen.c:1088 pepigen.c:1088 pex64igen.c:1088
+#: peXXigen.c:1088
#, c-format
msgid "%pB: line number overflow: 0x%lx > 0xffff"
msgstr ""
-#: peigen.c:1235 pepigen.c:1235 pex64igen.c:1235
+#: peXXigen.c:1235
msgid "Export Directory [.edata (or where ever we found it)]"
msgstr ""
-#: peigen.c:1236 pepigen.c:1236 pex64igen.c:1236
+#: peXXigen.c:1236
msgid "Import Directory [parts of .idata]"
msgstr ""
-#: peigen.c:1237 pepigen.c:1237 pex64igen.c:1237
+#: peXXigen.c:1237
msgid "Resource Directory [.rsrc]"
msgstr ""
-#: peigen.c:1238 pepigen.c:1238 pex64igen.c:1238
+#: peXXigen.c:1238
msgid "Exception Directory [.pdata]"
msgstr ""
-#: peigen.c:1239 pepigen.c:1239 pex64igen.c:1239
+#: peXXigen.c:1239
msgid "Security Directory"
msgstr ""
-#: peigen.c:1240 pepigen.c:1240 pex64igen.c:1240
+#: peXXigen.c:1240
msgid "Base Relocation Directory [.reloc]"
msgstr ""
-#: peigen.c:1241 pepigen.c:1241 pex64igen.c:1241
+#: peXXigen.c:1241
msgid "Debug Directory"
msgstr ""
-#: peigen.c:1242 pepigen.c:1242 pex64igen.c:1242
+#: peXXigen.c:1242
msgid "Description Directory"
msgstr ""
-#: peigen.c:1243 pepigen.c:1243 pex64igen.c:1243
+#: peXXigen.c:1243
msgid "Special Directory"
msgstr ""
-#: peigen.c:1244 pepigen.c:1244 pex64igen.c:1244
+#: peXXigen.c:1244
msgid "Thread Storage Directory [.tls]"
msgstr ""
-#: peigen.c:1245 pepigen.c:1245 pex64igen.c:1245
+#: peXXigen.c:1245
msgid "Load Configuration Directory"
msgstr ""
-#: peigen.c:1246 pepigen.c:1246 pex64igen.c:1246
+#: peXXigen.c:1246
msgid "Bound Import Directory"
msgstr ""
-#: peigen.c:1247 pepigen.c:1247 pex64igen.c:1247
+#: peXXigen.c:1247
msgid "Import Address Table Directory"
msgstr ""
-#: peigen.c:1248 pepigen.c:1248 pex64igen.c:1248
+#: peXXigen.c:1248
msgid "Delay Import Directory"
msgstr ""
-#: peigen.c:1249 pepigen.c:1249 pex64igen.c:1249
+#: peXXigen.c:1249
msgid "CLR Runtime Header"
msgstr ""
-#: peigen.c:1250 pepigen.c:1250 pex64igen.c:1250
+#: peXXigen.c:1250
msgid "Reserved"
msgstr ""
-#: peigen.c:1310 pepigen.c:1310 pex64igen.c:1310
+#: peXXigen.c:1310
#, c-format
msgid ""
"\n"
"There is an import table, but the section containing it could not be found\n"
msgstr ""
-#: peigen.c:1316 pepigen.c:1316 pex64igen.c:1316
+#: peXXigen.c:1316
#, c-format
msgid ""
"\n"
"There is an import table in %s, but that section has no contents\n"
msgstr ""
-#: peigen.c:1323 pepigen.c:1323 pex64igen.c:1323
+#: peXXigen.c:1323
#, c-format
msgid ""
"\n"
"There is an import table in %s at 0x%lx\n"
msgstr ""
-#: peigen.c:1365 pepigen.c:1365 pex64igen.c:1365
+#: peXXigen.c:1365
#, c-format
msgid ""
"\n"
"Function descriptor located at the start address: %04lx\n"
msgstr ""
-#: peigen.c:1369 pepigen.c:1369 pex64igen.c:1369
+#: peXXigen.c:1369
#, c-format
msgid "\tcode-base %08lx toc (loadable/actual) %08lx/%08lx\n"
msgstr ""
-#: peigen.c:1377 pepigen.c:1377 pex64igen.c:1377
+#: peXXigen.c:1377
#, c-format
msgid ""
"\n"
"No reldata section! Function descriptor not decoded.\n"
msgstr ""
-#: peigen.c:1382 pepigen.c:1382 pex64igen.c:1382
+#: peXXigen.c:1382
#, c-format
msgid ""
"\n"
"The Import Tables (interpreted %s section contents)\n"
msgstr ""
-#: peigen.c:1385 pepigen.c:1385 pex64igen.c:1385
+#: peXXigen.c:1385
#, c-format
msgid ""
" vma: Hint Time Forward DLL First\n"
" Table Stamp Chain Name Thunk\n"
msgstr ""
-#: peigen.c:1435 pepigen.c:1435 pex64igen.c:1435
+#: peXXigen.c:1435
#, c-format
msgid ""
"\n"
"\tDLL Name: %.*s\n"
msgstr ""
-#: peigen.c:1451 pepigen.c:1451 pex64igen.c:1451
+#: peXXigen.c:1451
#, c-format
msgid "\tvma: Hint/Ord Member-Name Bound-To\n"
msgstr ""
-#: peigen.c:1476 pepigen.c:1476 pex64igen.c:1476
+#: peXXigen.c:1476
#, c-format
msgid ""
"\n"
"There is a first thunk, but the section containing it could not be found\n"
msgstr ""
-#: peigen.c:1520 peigen.c:1559 pepigen.c:1520 pepigen.c:1559 pex64igen.c:1520
-#: pex64igen.c:1559
+#: peXXigen.c:1520 peXXigen.c:1559
#, c-format
msgid "\t<corrupt: 0x%04lx>"
msgstr ""
-#: peigen.c:1652 pepigen.c:1652 pex64igen.c:1652
+#: peXXigen.c:1652
#, c-format
msgid ""
"\n"
"There is an export table, but the section containing it could not be found\n"
msgstr ""
-#: peigen.c:1658 pepigen.c:1658 pex64igen.c:1658
+#: peXXigen.c:1658
#, c-format
msgid ""
"\n"
"There is an export table in %s, but that section has no contents\n"
msgstr ""
-#: peigen.c:1669 pepigen.c:1669 pex64igen.c:1669
+#: peXXigen.c:1669
#, c-format
msgid ""
"\n"
"There is an export table in %s, but it does not fit into that section\n"
msgstr ""
-#: peigen.c:1680 pepigen.c:1680 pex64igen.c:1680
+#: peXXigen.c:1680
#, c-format
msgid ""
"\n"
"There is an export table in %s, but it is too small (%d)\n"
msgstr ""
-#: peigen.c:1686 pepigen.c:1686 pex64igen.c:1686
+#: peXXigen.c:1686
#, c-format
msgid ""
"\n"
"There is an export table in %s at 0x%lx\n"
msgstr ""
-#: peigen.c:1714 pepigen.c:1714 pex64igen.c:1714
+#: peXXigen.c:1714
#, c-format
msgid ""
"\n"
@@ -8591,162 +8798,160 @@ msgid ""
"\n"
msgstr ""
-#: peigen.c:1718 pepigen.c:1718 pex64igen.c:1718
+#: peXXigen.c:1718
#, c-format
msgid "Export Flags \t\t\t%lx\n"
msgstr ""
-#: peigen.c:1721 pepigen.c:1721 pex64igen.c:1721
+#: peXXigen.c:1721
#, c-format
msgid "Time/Date stamp \t\t%lx\n"
msgstr ""
-#: peigen.c:1725 pepigen.c:1725 pex64igen.c:1725
+#: peXXigen.c:1725
#, c-format
msgid "Major/Minor \t\t\t%d/%d\n"
msgstr ""
-#: peigen.c:1728 pepigen.c:1728 pex64igen.c:1728
+#: peXXigen.c:1728
#, c-format
msgid "Name \t\t\t\t"
msgstr ""
-#: peigen.c:1739 pepigen.c:1739 pex64igen.c:1739
+#: peXXigen.c:1739
#, c-format
msgid "Ordinal Base \t\t\t%ld\n"
msgstr ""
-#: peigen.c:1742 pepigen.c:1742 pex64igen.c:1742
+#: peXXigen.c:1742
#, c-format
msgid "Number in:\n"
msgstr ""
-#: peigen.c:1745 pepigen.c:1745 pex64igen.c:1745
+#: peXXigen.c:1745
#, c-format
msgid "\tExport Address Table \t\t%08lx\n"
msgstr ""
-#: peigen.c:1749 pepigen.c:1749 pex64igen.c:1749
+#: peXXigen.c:1749
#, c-format
msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
msgstr ""
-#: peigen.c:1752 pepigen.c:1752 pex64igen.c:1752
+#: peXXigen.c:1752
#, c-format
msgid "Table Addresses\n"
msgstr ""
-#: peigen.c:1755 pepigen.c:1755 pex64igen.c:1755
+#: peXXigen.c:1755
#, c-format
msgid "\tExport Address Table \t\t"
msgstr ""
-#: peigen.c:1760 pepigen.c:1760 pex64igen.c:1760
+#: peXXigen.c:1760
#, c-format
msgid "\tName Pointer Table \t\t"
msgstr ""
-#: peigen.c:1765 pepigen.c:1765 pex64igen.c:1765
+#: peXXigen.c:1765
#, c-format
msgid "\tOrdinal Table \t\t\t"
msgstr ""
-#: peigen.c:1779 pepigen.c:1779 pex64igen.c:1779
+#: peXXigen.c:1779
#, c-format
msgid ""
"\n"
"Export Address Table -- Ordinal Base %ld\n"
msgstr ""
-#: peigen.c:1788 pepigen.c:1788 pex64igen.c:1788
+#: peXXigen.c:1788
#, c-format
msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"
msgstr ""
-#: peigen.c:1807 pepigen.c:1807 pex64igen.c:1807
+#: peXXigen.c:1807
msgid "Forwarder RVA"
msgstr ""
-#: peigen.c:1819 pepigen.c:1819 pex64igen.c:1819
+#: peXXigen.c:1819
msgid "Export RVA"
msgstr ""
-#: peigen.c:1826 pepigen.c:1826 pex64igen.c:1826
+#: peXXigen.c:1826
#, c-format
msgid ""
"\n"
"[Ordinal/Name Pointer] Table\n"
msgstr ""
-#: peigen.c:1834 pepigen.c:1834 pex64igen.c:1834
+#: peXXigen.c:1834
#, c-format
msgid "\tInvalid Name Pointer Table rva (0x%lx) or entry count (0x%lx)\n"
msgstr ""
-#: peigen.c:1841 pepigen.c:1841 pex64igen.c:1841
+#: peXXigen.c:1841
#, c-format
msgid "\tInvalid Ordinal Table rva (0x%lx) or entry count (0x%lx)\n"
msgstr ""
-#: peigen.c:1855 pepigen.c:1855 pex64igen.c:1855
+#: peXXigen.c:1855
#, c-format
msgid "\t[%4ld] <corrupt offset: %lx>\n"
msgstr ""
-#: peigen.c:1909 peigen.c:2106 pepigen.c:1909 pepigen.c:2106 pex64igen.c:1909
-#: pex64igen.c:2106
+#: peXXigen.c:1909 peXXigen.c:2106
#, c-format
msgid "warning, .pdata section size (%ld) is not a multiple of %d\n"
msgstr ""
-#: peigen.c:1913 peigen.c:2110 pepigen.c:1913 pepigen.c:2110 pex64igen.c:1913
-#: pex64igen.c:2110
+#: peXXigen.c:1913 peXXigen.c:2110
#, c-format
msgid ""
"\n"
"The Function Table (interpreted .pdata section contents)\n"
msgstr ""
-#: peigen.c:1916 pepigen.c:1916 pex64igen.c:1916
+#: peXXigen.c:1916
#, c-format
msgid " vma:\t\t\tBegin Address End Address Unwind Info\n"
msgstr ""
-#: peigen.c:1918 pepigen.c:1918 pex64igen.c:1918
+#: peXXigen.c:1918
#, c-format
msgid ""
" vma:\t\tBegin End EH EH PrologEnd Exception\n"
" \t\tAddress Address Handler Data Address Mask\n"
msgstr ""
-#: peigen.c:1931 pepigen.c:1931 pex64igen.c:1931
+#: peXXigen.c:1931
#, c-format
msgid "Virtual size of .pdata section (%ld) larger than real size (%ld)\n"
msgstr ""
-#: peigen.c:2001 pepigen.c:2001 pex64igen.c:2001
+#: peXXigen.c:2001
#, c-format
msgid " Register save millicode"
msgstr ""
-#: peigen.c:2004 pepigen.c:2004 pex64igen.c:2004
+#: peXXigen.c:2004
#, c-format
msgid " Register restore millicode"
msgstr ""
-#: peigen.c:2007 pepigen.c:2007 pex64igen.c:2007
+#: peXXigen.c:2007
#, c-format
msgid " Glue code sequence"
msgstr ""
-#: peigen.c:2112 pepigen.c:2112 pex64igen.c:2112
+#: peXXigen.c:2112
#, c-format
msgid ""
" vma:\t\tBegin Prolog Function Flags Exception EH\n"
" \t\tAddress Length Length 32b exc Handler Data\n"
msgstr ""
-#: peigen.c:2234 pepigen.c:2234 pex64igen.c:2234
+#: peXXigen.c:2234
#, c-format
msgid ""
"\n"
@@ -8754,86 +8959,86 @@ msgid ""
"PE File Base Relocations (interpreted .reloc section contents)\n"
msgstr ""
-#: peigen.c:2264 pepigen.c:2264 pex64igen.c:2264
+#: peXXigen.c:2264
#, c-format
msgid ""
"\n"
"Virtual Address: %08lx Chunk size %ld (0x%lx) Number of fixups %ld\n"
msgstr ""
-#: peigen.c:2282 pepigen.c:2282 pex64igen.c:2282
+#: peXXigen.c:2282
#, c-format
msgid "\treloc %4d offset %4x [%4lx] %s"
msgstr ""
-#: peigen.c:2343 pepigen.c:2343 pex64igen.c:2343
+#: peXXigen.c:2343
#, c-format
msgid "%03x %*.s Entry: "
msgstr ""
-#: peigen.c:2367 pepigen.c:2367 pex64igen.c:2367
+#: peXXigen.c:2367
#, c-format
msgid "name: [val: %08lx len %d]: "
msgstr ""
-#: peigen.c:2387 pepigen.c:2387 pex64igen.c:2387
+#: peXXigen.c:2387
#, c-format
msgid "<corrupt string length: %#x>\n"
msgstr ""
-#: peigen.c:2397 pepigen.c:2397 pex64igen.c:2397
+#: peXXigen.c:2397
#, c-format
msgid "<corrupt string offset: %#lx>\n"
msgstr ""
-#: peigen.c:2402 pepigen.c:2402 pex64igen.c:2402
+#: peXXigen.c:2402
#, c-format
msgid "ID: %#08lx"
msgstr ""
-#: peigen.c:2405 pepigen.c:2405 pex64igen.c:2405
+#: peXXigen.c:2405
#, c-format
msgid ", Value: %#08lx\n"
msgstr ""
-#: peigen.c:2427 pepigen.c:2427 pex64igen.c:2427
+#: peXXigen.c:2427
#, c-format
msgid "%03x %*.s Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
msgstr ""
-#: peigen.c:2469 pepigen.c:2469 pex64igen.c:2469
+#: peXXigen.c:2469
#, c-format
msgid "<unknown directory type: %d>\n"
msgstr ""
-#: peigen.c:2477 pepigen.c:2477 pex64igen.c:2477
+#: peXXigen.c:2477
#, c-format
msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
msgstr ""
-#: peigen.c:2566 pepigen.c:2566 pex64igen.c:2566
+#: peXXigen.c:2566
#, c-format
msgid "Corrupt .rsrc section detected!\n"
msgstr ""
-#: peigen.c:2590 pepigen.c:2590 pex64igen.c:2590
+#: peXXigen.c:2590
#, c-format
msgid ""
"\n"
"WARNING: Extra data in .rsrc section - it will be ignored by Windows:\n"
msgstr ""
-#: peigen.c:2596 pepigen.c:2596 pex64igen.c:2596
+#: peXXigen.c:2596
#, c-format
msgid " String table starts at offset: %#03x\n"
msgstr ""
-#: peigen.c:2599 pepigen.c:2599 pex64igen.c:2599
+#: peXXigen.c:2599
#, c-format
msgid " Resources start at offset: %#03x\n"
msgstr ""
-#: peigen.c:2651 pepigen.c:2651 pex64igen.c:2651
+#: peXXigen.c:2656
#, c-format
msgid ""
"\n"
@@ -8841,14 +9046,14 @@ msgid ""
"found\n"
msgstr ""
-#: peigen.c:2657 pepigen.c:2657 pex64igen.c:2657
+#: peXXigen.c:2662
#, c-format
msgid ""
"\n"
"There is a debug directory in %s, but that section has no contents\n"
msgstr ""
-#: peigen.c:2664 pepigen.c:2664 pex64igen.c:2664
+#: peXXigen.c:2669
#, c-format
msgid ""
"\n"
@@ -8856,7 +9061,7 @@ msgid ""
"small\n"
msgstr ""
-#: peigen.c:2669 pepigen.c:2669 pex64igen.c:2669
+#: peXXigen.c:2674
#, c-format
msgid ""
"\n"
@@ -8864,23 +9069,23 @@ msgid ""
"\n"
msgstr ""
-#: peigen.c:2676 pepigen.c:2676 pex64igen.c:2676
+#: peXXigen.c:2681
#, c-format
msgid ""
"The debug data size field in the data directory is too big for the section"
msgstr ""
-#: peigen.c:2681 pepigen.c:2681 pex64igen.c:2681
+#: peXXigen.c:2686
#, c-format
msgid "Type Size Rva Offset\n"
msgstr ""
-#: peigen.c:2729 pepigen.c:2729 pex64igen.c:2729
+#: peXXigen.c:2734
#, c-format
msgid "(format %c%c%c%c signature %s age %ld)\n"
msgstr ""
-#: peigen.c:2737 pepigen.c:2737 pex64igen.c:2737
+#: peXXigen.c:2744
#, c-format
msgid ""
"The debug directory size is not a multiple of the debug directory entry "
@@ -8890,99 +9095,99 @@ msgstr ""
#. The MS dumpbin program reportedly ands with 0xff0f before
#. printing the characteristics field. Not sure why. No reason to
#. emulate it here.
-#: peigen.c:2757 pepigen.c:2757 pex64igen.c:2757
+#: peXXigen.c:2829
#, c-format
msgid ""
"\n"
"Characteristics 0x%x\n"
msgstr ""
-#: peigen.c:2994 pepigen.c:2994 pex64igen.c:2994
+#: peXXigen.c:3076
#, c-format
msgid ""
"%pB: Data Directory size (%lx) exceeds space left in section (%<PRIx64>)"
msgstr ""
-#: peigen.c:3026 pepigen.c:3026 pex64igen.c:3026
+#: peXXigen.c:3108
msgid "failed to update file offsets in debug directory"
msgstr ""
-#: peigen.c:3034 pepigen.c:3034 pex64igen.c:3034
+#: peXXigen.c:3116
#, c-format
msgid "%pB: failed to read debug data section"
msgstr ""
-#: peigen.c:3850 pepigen.c:3850 pex64igen.c:3850
+#: peXXigen.c:3932
#, c-format
msgid ".rsrc merge failure: duplicate string resource: %d"
msgstr ""
-#: peigen.c:3985 pepigen.c:3985 pex64igen.c:3985
+#: peXXigen.c:4067
msgid ".rsrc merge failure: multiple non-default manifests"
msgstr ""
-#: peigen.c:4003 pepigen.c:4003 pex64igen.c:4003
+#: peXXigen.c:4085
msgid ".rsrc merge failure: a directory matches a leaf"
msgstr ""
-#: peigen.c:4045 pepigen.c:4045 pex64igen.c:4045
+#: peXXigen.c:4127
msgid ".rsrc merge failure: duplicate leaf"
msgstr ""
-#: peigen.c:4047 pepigen.c:4047 pex64igen.c:4047
+#: peXXigen.c:4129
#, c-format
msgid ".rsrc merge failure: duplicate leaf: %s"
msgstr ""
-#: peigen.c:4113 pepigen.c:4113 pex64igen.c:4113
+#: peXXigen.c:4195
msgid ".rsrc merge failure: dirs with differing characteristics"
msgstr ""
-#: peigen.c:4120 pepigen.c:4120 pex64igen.c:4120
+#: peXXigen.c:4202
msgid ".rsrc merge failure: differing directory versions"
msgstr ""
#. Corrupted .rsrc section - cannot merge.
-#: peigen.c:4237 pepigen.c:4237 pex64igen.c:4237
+#: peXXigen.c:4319
#, c-format
msgid "%pB: .rsrc merge failure: corrupt .rsrc section"
msgstr ""
-#: peigen.c:4245 pepigen.c:4245 pex64igen.c:4245
+#: peXXigen.c:4327
#, c-format
msgid "%pB: .rsrc merge failure: unexpected .rsrc size"
msgstr ""
-#: peigen.c:4384 pepigen.c:4384 pex64igen.c:4384
+#: peXXigen.c:4466
#, c-format
msgid "%pB: unable to fill in DataDictionary[1] because .idata$2 is missing"
msgstr ""
-#: peigen.c:4404 pepigen.c:4404 pex64igen.c:4404
+#: peXXigen.c:4486
#, c-format
msgid "%pB: unable to fill in DataDictionary[1] because .idata$4 is missing"
msgstr ""
-#: peigen.c:4425 pepigen.c:4425 pex64igen.c:4425
+#: peXXigen.c:4507
#, c-format
msgid "%pB: unable to fill in DataDictionary[12] because .idata$5 is missing"
msgstr ""
-#: peigen.c:4445 pepigen.c:4445 pex64igen.c:4445
+#: peXXigen.c:4527
#, c-format
msgid ""
"%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because ."
"idata$6 is missing"
msgstr ""
-#: peigen.c:4487 pepigen.c:4487 pex64igen.c:4487
+#: peXXigen.c:4569
#, c-format
msgid ""
"%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because ."
"idata$6 is missing"
msgstr ""
-#: peigen.c:4512 pepigen.c:4512 pex64igen.c:4512
+#: peXXigen.c:4594
#, c-format
msgid "%pB: unable to fill in DataDictionary[9] because __tls_used is missing"
msgstr ""
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 76de37e449..2b903512bf 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2020-05-20 Nelson Chu <nelson.chu@sifive.com>
+
+ * dwarf.c: Updated since DECLARE_CSR is changed.
+
2020-05-19 H.J. Lu <hjl.tools@gmail.com>
PR binutils/25809
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 7b5f7af8a1..598f8562ab 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -7409,7 +7409,8 @@ regname_internal_riscv (unsigned int regno)
document. */
switch (regno)
{
-#define DECLARE_CSR(NAME,VALUE,CLASS) case VALUE + 4096: name = #NAME; break;
+#define DECLARE_CSR(NAME,VALUE,CLASS,DEFINE_VER,ABORT_VER) \
+ case VALUE + 4096: name = #NAME; break;
#include "opcode/riscv-opc.h"
#undef DECLARE_CSR
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6b159fe357..05ba3e9ce6 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,166 @@
+2020-05-20 Nelson Chu <nelson.chu@sifive.com>
+
+ * 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.
+
2020-05-19 Peter Bergner <bergner@linux.ibm.com>
* testsuite/gas/ppc/power9.s <dcbf, dcbfl, dcbflp>: Add tests.
diff --git a/gas/config.in b/gas/config.in
index 8724eb153a..bd125047d5 100644
--- a/gas/config.in
+++ b/gas/config.in
@@ -53,9 +53,18 @@
/* Define to 1 if you want to fix Loongson3 LLSC Errata by default. */
#undef DEFAULT_MIPS_FIX_LOONGSON3_LLSC
+/* Define default value for RISC-V -march. */
+#undef DEFAULT_RISCV_ARCH_WITH_EXT
+
/* Define to 1 if you want to generate RISC-V arch attribute by default. */
#undef DEFAULT_RISCV_ATTR
+/* Define default value for RISC-V -misa-spec. */
+#undef DEFAULT_RISCV_ISA_SPEC
+
+/* Define default value for RISC-V -mpriv-spec */
+#undef DEFAULT_RISCV_PRIV_SPEC
+
/* Define to 1 if you want to generate GNU x86 used ISA and feature properties
by default. */
#undef DEFAULT_X86_USED_NOTE
diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
index 168561e7b5..04df0884f3 100644
--- a/gas/config/tc-riscv.c
+++ b/gas/config/tc-riscv.c
@@ -63,7 +63,30 @@ struct riscv_cl_insn
#define DEFAULT_RISCV_ATTR 0
#endif
+/* Let riscv_after_parse_args set the default value according to xlen. */
+
+#ifndef DEFAULT_RISCV_ARCH_WITH_EXT
+#define DEFAULT_RISCV_ARCH_WITH_EXT NULL
+#endif
+
+/* The default ISA spec is set to 2.2 rather than the lastest version.
+ The reason is that compiler generates the ISA string with fixed 2p0
+ verisons only for the RISCV ELF architecture attributes, but not for
+ the -march option. Therefore, we should update the compiler or linker
+ to resolve this problem. */
+
+#ifndef DEFAULT_RISCV_ISA_SPEC
+#define DEFAULT_RISCV_ISA_SPEC "2.2"
+#endif
+
+#ifndef DEFAULT_RISCV_PRIV_SPEC
+#define DEFAULT_RISCV_PRIV_SPEC "1.11"
+#endif
+
static const char default_arch[] = DEFAULT_ARCH;
+static const char *default_arch_with_ext = DEFAULT_RISCV_ARCH_WITH_EXT;
+static enum riscv_isa_spec_class default_isa_spec = ISA_SPEC_CLASS_NONE;
+static enum riscv_priv_spec_class default_priv_spec = PRIV_SPEC_CLASS_NONE;
static unsigned xlen = 0; /* width of an x-register */
static unsigned abi_xlen = 0; /* width of a pointer in the ABI */
@@ -74,6 +97,95 @@ static bfd_boolean rve_abi = FALSE;
static unsigned elf_flags = 0;
+/* Set the default_isa_spec. Return 0 if the input spec string isn't
+ supported. Otherwise, return 1. */
+
+static int
+riscv_set_default_isa_spec (const char *s)
+{
+ enum riscv_isa_spec_class class;
+ if (!riscv_get_isa_spec_class (s, &class))
+ {
+ as_bad ("Unknown default ISA spec `%s' set by "
+ "-misa-spec or --with-isa-spec", s);
+ return 0;
+ }
+ else
+ default_isa_spec = class;
+ return 1;
+}
+
+/* Set the default_priv_spec, assembler will find the suitable CSR address
+ according to default_priv_spec. We will try to check priv attributes if
+ the input string is NULL. Return 0 if the input priv spec string isn't
+ supported. Otherwise, return 1. */
+
+static int
+riscv_set_default_priv_spec (const char *s)
+{
+ enum riscv_priv_spec_class class;
+ unsigned major, minor, revision;
+ obj_attribute *attr;
+ size_t buf_size;
+ char *buf;
+
+ /* Find the corresponding priv spec class. */
+ if (riscv_get_priv_spec_class (s, &class))
+ {
+ default_priv_spec = class;
+ return 1;
+ }
+
+ if (s != NULL)
+ {
+ as_bad (_("Unknown default privilege spec `%s' set by "
+ "-mpriv-spec or --with-priv-spec"), s);
+ return 0;
+ }
+
+ /* Try to set the default_priv_spec according to the priv attributes. */
+ attr = elf_known_obj_attributes_proc (stdoutput);
+ major = (unsigned) attr[Tag_RISCV_priv_spec].i;
+ minor = (unsigned) attr[Tag_RISCV_priv_spec_minor].i;
+ revision = (unsigned) attr[Tag_RISCV_priv_spec_revision].i;
+
+ /* The priv attributes setting 0.0.0 is meaningless. We should have set
+ the default_priv_spec by md_parse_option and riscv_after_parse_args,
+ so just skip the following setting. */
+ if (major == 0 && minor == 0 && revision == 0)
+ return 1;
+
+ buf_size = riscv_estimate_digit (major)
+ + 1 /* '.' */
+ + riscv_estimate_digit (minor)
+ + 1; /* string terminator */
+ if (revision != 0)
+ {
+ buf_size += 1 /* '.' */
+ + riscv_estimate_digit (revision);
+ buf = xmalloc (buf_size);
+ snprintf (buf, buf_size, "%d.%d.%d", major, minor, revision);
+ }
+ else
+ {
+ buf = xmalloc (buf_size);
+ snprintf (buf, buf_size, "%d.%d", major, minor);
+ }
+
+ if (riscv_get_priv_spec_class (buf, &class))
+ {
+ default_priv_spec = class;
+ free (buf);
+ return 1;
+ }
+
+ /* Still can not find the priv spec class. */
+ as_bad (_("Unknown default privilege spec `%d.%d.%d' set by "
+ "privilege attributes"), major, minor, revision);
+ free (buf);
+ return 0;
+}
+
/* This is the set of options which the .option pseudo-op may modify. */
struct riscv_set_options
@@ -147,6 +259,67 @@ riscv_multi_subset_supports (enum riscv_insn_class insn_class)
}
}
+/* Handle of the extension with version hash table. */
+static struct hash_control *ext_version_hash = NULL;
+
+static struct hash_control *
+init_ext_version_hash (const struct riscv_ext_version *table)
+{
+ int i = 0;
+ struct hash_control *hash = hash_new ();
+
+ while (table[i].name)
+ {
+ const char *name = table[i].name;
+ const char *hash_error =
+ hash_insert (hash, name, (void *) &table[i]);
+
+ if (hash_error != NULL)
+ {
+ fprintf (stderr, _("internal error: can't hash `%s': %s\n"),
+ table[i].name, hash_error);
+ /* Probably a memory allocation problem? Give up now. */
+ as_fatal (_("Broken assembler. No assembly attempted."));
+ return NULL;
+ }
+
+ i++;
+ while (table[i].name
+ && strcmp (table[i].name, name) == 0)
+ i++;
+ }
+
+ return hash;
+}
+
+static void
+riscv_get_default_ext_version (const char *name,
+ unsigned int *major_version,
+ unsigned int *minor_version)
+{
+ struct riscv_ext_version *ext;
+
+ *major_version = 0;
+ *minor_version = 0;
+
+ if (name == NULL || default_isa_spec == ISA_SPEC_CLASS_NONE)
+ return;
+
+ ext = (struct riscv_ext_version *) hash_find (ext_version_hash, name);
+ while (ext
+ && ext->name
+ && strcmp (ext->name, name) == 0)
+ {
+ if (ext->isa_spec_class == default_isa_spec)
+ {
+ *major_version = ext->major_version;
+ *minor_version = ext->minor_version;
+ return;
+ }
+ ext++;
+ }
+}
+
/* Set which ISA and extensions are available. */
static void
@@ -156,6 +329,10 @@ riscv_set_arch (const char *s)
rps.subset_list = &riscv_subsets;
rps.error_handler = as_fatal;
rps.xlen = &xlen;
+ rps.get_default_version = riscv_get_default_ext_version;
+
+ if (s == NULL)
+ return;
riscv_release_subset_list (&riscv_subsets);
riscv_parse_subset (&rps, s);
@@ -194,8 +371,8 @@ const char FLT_CHARS[] = "rRsSfFdDxXpP";
/* Indicate we are already assemble any instructions or not. */
static bfd_boolean start_assemble = FALSE;
-/* Indicate arch attribute is explictly set. */
-static bfd_boolean explicit_arch_attr = FALSE;
+/* Indicate ELF attributes are explictly set. */
+static bfd_boolean explicit_attr = FALSE;
/* Macros for encoding relaxation state for RVC branches and far jumps. */
#define RELAX_BRANCH_ENCODE(uncond, rvc, length) \
@@ -452,8 +629,9 @@ enum reg_class
{
RCLASS_GPR,
RCLASS_FPR,
- RCLASS_CSR,
- RCLASS_MAX
+ RCLASS_MAX,
+
+ RCLASS_CSR
};
static struct hash_control *reg_names_hash = NULL;
@@ -483,102 +661,165 @@ hash_reg_names (enum reg_class class, const char * const names[], unsigned n)
hash_reg_name (class, names[i], i);
}
-/* All RISC-V CSRs belong to one of these classes. */
-
-enum riscv_csr_class
-{
- CSR_CLASS_NONE,
-
- CSR_CLASS_I,
- CSR_CLASS_I_32, /* rv32 only */
- CSR_CLASS_F, /* f-ext only */
-};
-
-/* This structure holds all restricted conditions for a CSR. */
+/* Init hash table csr_extra_hash to handle CSR. */
+static void
+riscv_init_csr_hash (const char *name,
+ unsigned address,
+ enum riscv_csr_class class,
+ enum riscv_priv_spec_class define_version,
+ enum riscv_priv_spec_class abort_version)
+{
+ struct riscv_csr_extra *entry, *pre_entry;
+ const char *hash_error = NULL;
+ bfd_boolean need_enrty = TRUE;
+
+ pre_entry = NULL;
+ entry = (struct riscv_csr_extra *) hash_find (csr_extra_hash, name);
+ while (need_enrty && entry != NULL)
+ {
+ if (entry->csr_class == class
+ && entry->address == address
+ && entry->define_version == define_version
+ && entry->abort_version == abort_version)
+ need_enrty = FALSE;
+ pre_entry = entry;
+ entry = entry->next;
+ }
+
+ /* Duplicate setting for the CSR, just return and do nothing. */
+ if (!need_enrty)
+ return;
-struct riscv_csr_extra
-{
- /* Class to which this CSR belongs. Used to decide whether or
- not this CSR is legal in the current -march context. */
- enum riscv_csr_class csr_class;
-};
+ entry = XNEW (struct riscv_csr_extra);
+ entry->csr_class = class;
+ entry->address = address;
+ entry->define_version = define_version;
+ entry->abort_version = abort_version;
+
+ /* If the CSR hasn't been inserted in the hash table, then insert it.
+ Otherwise, attach the extra information to the entry which is already
+ in the hash table. */
+ if (pre_entry == NULL)
+ {
+ hash_error = hash_insert (csr_extra_hash, name, (void *) entry);
+ if (hash_error != NULL)
+ {
+ fprintf (stderr, _("internal error: can't hash `%s': %s\n"),
+ name, hash_error);
+ /* Probably a memory allocation problem? Give up now. */
+ as_fatal (_("Broken assembler. No assembly attempted."));
+ }
+ }
+ else
+ pre_entry->next = entry;
+}
-/* Init two hashes, csr_extra_hash and reg_names_hash, for CSR. */
+/* Check wether the CSR is valid according to the ISA. */
static void
-riscv_init_csr_hashes (const char *name,
- unsigned address,
- enum riscv_csr_class class)
+riscv_csr_class_check (const char *s,
+ enum riscv_csr_class csr_class)
{
- struct riscv_csr_extra *entry = XNEW (struct riscv_csr_extra);
- entry->csr_class = class;
+ bfd_boolean result = TRUE;
+
+ /* Don't check the ISA dependency when -mcsr-check isn't set. */
+ if (!riscv_opts.csr_check)
+ return;
- const char *hash_error =
- hash_insert (csr_extra_hash, name, (void *) entry);
- if (hash_error != NULL)
+ switch (csr_class)
{
- fprintf (stderr, _("internal error: can't hash `%s': %s\n"),
- name, hash_error);
- /* Probably a memory allocation problem? Give up now. */
- as_fatal (_("Broken assembler. No assembly attempted."));
+ case CSR_CLASS_I:
+ result = riscv_subset_supports ("i");
+ break;
+ case CSR_CLASS_F:
+ result = riscv_subset_supports ("f");
+ break;
+ case CSR_CLASS_I_32:
+ result = (xlen == 32 && riscv_subset_supports ("i"));
+ break;
+ default:
+ as_bad (_("internal: bad RISC-V CSR class (0x%x)"), csr_class);
}
- hash_reg_name (RCLASS_CSR, name, address);
+ if (!result)
+ as_warn (_("Invalid CSR `%s' for the current ISA"), s);
}
-/* Check wether the CSR is valid according to the ISA. */
+/* Check and find the CSR address according to the privilege spec version. */
-static bfd_boolean
-riscv_csr_class_check (enum riscv_csr_class csr_class)
+static void
+riscv_csr_version_check (const char *csr_name,
+ struct riscv_csr_extra **entryP)
{
- switch (csr_class)
+ struct riscv_csr_extra *entry = *entryP;
+
+ while (entry != NULL)
{
- case CSR_CLASS_I: return riscv_subset_supports ("i");
- case CSR_CLASS_F: return riscv_subset_supports ("f");
- case CSR_CLASS_I_32:
- return (xlen == 32 && riscv_subset_supports ("i"));
+ if (default_priv_spec >= entry->define_version
+ && default_priv_spec < entry->abort_version)
+ {
+ /* Find the suitable CSR according to the specific version. */
+ *entryP = entry;
+ return;
+ }
+ entry = entry->next;
+ }
- default:
- return FALSE;
+ /* We can not find the suitable CSR address according to the privilege
+ version. Therefore, we use the last defined value. Report the warning
+ only when the -mcsr-check is set. Enable the -mcsr-check is recommended,
+ otherwise, you may get the unexpected CSR address. */
+ if (riscv_opts.csr_check)
+ {
+ const char *priv_name = riscv_get_priv_spec_name (default_priv_spec);
+
+ if (priv_name != NULL)
+ as_warn (_("Invalid CSR `%s' for the privilege spec `%s'"),
+ csr_name, priv_name);
}
}
-/* If the CSR is defined, then we call `riscv_csr_class_check` to do the
- further checking. Return FALSE if the CSR is not defined. Otherwise,
- return TRUE. */
+/* Once the CSR is defined, including the old privilege spec, then we call
+ riscv_csr_class_check and riscv_csr_version_check to do the further checking
+ and get the corresponding address. Return -1 if the CSR is never been
+ defined. Otherwise, return the address. */
-static bfd_boolean
+static unsigned int
reg_csr_lookup_internal (const char *s)
{
struct riscv_csr_extra *r =
(struct riscv_csr_extra *) hash_find (csr_extra_hash, s);
if (r == NULL)
- return FALSE;
+ return -1U;
- /* We just report the warning when the CSR is invalid. */
- if (!riscv_csr_class_check (r->csr_class))
- as_warn (_("Invalid CSR `%s' for the current ISA"), s);
+ /* We just report the warning when the CSR is invalid. "Invalid CSR" means
+ the CSR was defined, but isn't allowed for the current ISA setting or
+ the privilege spec. If the CSR is never been defined, then assembler
+ will regard it as a "Unknown CSR" and report error. If user use number
+ to set the CSR, but over the range (> 0xfff), then assembler will report
+ "Improper CSR" error for it. */
+ riscv_csr_class_check (s, r->csr_class);
+ riscv_csr_version_check (s, &r);
- return TRUE;
+ return r->address;
}
static unsigned int
reg_lookup_internal (const char *s, enum reg_class class)
{
- void *r = hash_find (reg_names_hash, s);
+ void *r;
+
+ if (class == RCLASS_CSR)
+ return reg_csr_lookup_internal (s);
+ r = hash_find (reg_names_hash, s);
if (r == NULL || DECODE_REG_CLASS (r) != class)
return -1;
if (riscv_opts.rve && class == RCLASS_GPR && DECODE_REG_NUM (r) > 15)
return -1;
- if (class == RCLASS_CSR
- && riscv_opts.csr_check
- && !reg_csr_lookup_internal (s))
- return -1;
-
return DECODE_REG_NUM (r);
}
@@ -862,8 +1103,10 @@ md_begin (void)
/* Create and insert CSR hash tables. */
csr_extra_hash = hash_new ();
-#define DECLARE_CSR(name, num, class) riscv_init_csr_hashes (#name, num, class);
-#define DECLARE_CSR_ALIAS(name, num, class) DECLARE_CSR(name, num, class);
+#define DECLARE_CSR(name, num, class, define_version, abort_version) \
+ riscv_init_csr_hash (#name, num, class, define_version, abort_version);
+#define DECLARE_CSR_ALIAS(name, num, class, define_version, abort_version) \
+ DECLARE_CSR(name, num, class, define_version, abort_version);
#include "opcode/riscv-opc.h"
#undef DECLARE_CSR
@@ -2306,9 +2549,17 @@ md_assemble (char *str)
expressionS imm_expr;
bfd_reloc_code_real_type imm_reloc = BFD_RELOC_UNUSED;
- const char *error = riscv_ip (str, &insn, &imm_expr, &imm_reloc, op_hash);
+ /* The arch and priv attributes should be set before assembling. */
+ if (!start_assemble)
+ {
+ start_assemble = TRUE;
- start_assemble = TRUE;
+ /* Set the default_priv_spec according to the priv attributes. */
+ if (!riscv_set_default_priv_spec (NULL))
+ return;
+ }
+
+ const char *error = riscv_ip (str, &insn, &imm_expr, &imm_reloc, op_hash);
if (error)
{
@@ -2348,6 +2599,8 @@ enum options
OPTION_NO_ARCH_ATTR,
OPTION_CSR_CHECK,
OPTION_NO_CSR_CHECK,
+ OPTION_MISA_SPEC,
+ OPTION_MPRIV_SPEC,
OPTION_END_OF_ENUM
};
@@ -2364,6 +2617,8 @@ struct option md_longopts[] =
{"mno-arch-attr", no_argument, NULL, OPTION_NO_ARCH_ATTR},
{"mcsr-check", no_argument, NULL, OPTION_CSR_CHECK},
{"mno-csr-check", no_argument, NULL, OPTION_NO_CSR_CHECK},
+ {"misa-spec", required_argument, NULL, OPTION_MISA_SPEC},
+ {"mpriv-spec", required_argument, NULL, OPTION_MPRIV_SPEC},
{NULL, no_argument, NULL, 0}
};
@@ -2392,7 +2647,9 @@ md_parse_option (int c, const char *arg)
switch (c)
{
case OPTION_MARCH:
- riscv_set_arch (arg);
+ /* riscv_after_parse_args will call riscv_set_arch to parse
+ the architecture. */
+ default_arch_with_ext = arg;
break;
case OPTION_NO_PIC:
@@ -2450,6 +2707,12 @@ md_parse_option (int c, const char *arg)
riscv_opts.csr_check = FALSE;
break;
+ case OPTION_MISA_SPEC:
+ return riscv_set_default_isa_spec (arg);
+
+ case OPTION_MPRIV_SPEC:
+ return riscv_set_default_priv_spec (arg);
+
default:
return 0;
}
@@ -2460,6 +2723,10 @@ md_parse_option (int c, const char *arg)
void
riscv_after_parse_args (void)
{
+ /* The --with-arch is optional for now, so we have to set the xlen
+ according to the default_arch, which is set by the --targte, first.
+ Then, we use the xlen to set the default_arch_with_ext if the
+ -march and --with-arch are not set. */
if (xlen == 0)
{
if (strcmp (default_arch, "riscv32") == 0)
@@ -2469,9 +2736,19 @@ riscv_after_parse_args (void)
else
as_bad ("unknown default architecture `%s'", default_arch);
}
+ if (default_arch_with_ext == NULL)
+ default_arch_with_ext = xlen == 64 ? "rv64g" : "rv32g";
+
+ /* Initialize the hash table for extensions with default version. */
+ ext_version_hash = init_ext_version_hash (riscv_ext_version_table);
+
+ /* If the -misa-spec isn't set, then we set the default ISA spec according
+ to DEFAULT_RISCV_ISA_SPEC. */
+ if (default_isa_spec == ISA_SPEC_CLASS_NONE)
+ riscv_set_default_isa_spec (DEFAULT_RISCV_ISA_SPEC);
- if (riscv_subsets.head == NULL)
- riscv_set_arch (xlen == 64 ? "rv64g" : "rv32g");
+ /* Set the architecture according to -march or or --with-arch. */
+ riscv_set_arch (default_arch_with_ext);
/* Add the RVC extension, regardless of -march, to support .option rvc. */
riscv_set_rvc (FALSE);
@@ -2483,6 +2760,11 @@ riscv_after_parse_args (void)
if (riscv_subset_supports ("e"))
riscv_set_rve (TRUE);
+ /* If the -mpriv-spec isn't set, then we set the default privilege spec
+ according to DEFAULT_PRIV_SPEC. */
+ if (default_priv_spec == PRIV_SPEC_CLASS_NONE)
+ riscv_set_default_priv_spec (DEFAULT_RISCV_PRIV_SPEC);
+
/* Infer ABI from ISA if not specified on command line. */
if (abi_xlen == 0)
abi_xlen = xlen;
@@ -3189,14 +3471,16 @@ md_show_usage (FILE *stream)
{
fprintf (stream, _("\
RISC-V options:\n\
- -fpic generate position-independent code\n\
- -fno-pic don't generate position-independent code (default)\n\
- -march=ISA set the RISC-V architecture\n\
- -mabi=ABI set the RISC-V ABI\n\
- -mrelax enable relax (default)\n\
- -mno-relax disable relax\n\
- -march-attr generate RISC-V arch attribute\n\
- -mno-arch-attr don't generate RISC-V arch attribute\n\
+ -fpic generate position-independent code\n\
+ -fno-pic don't generate position-independent code (default)\n\
+ -march=ISA set the RISC-V architecture\n\
+ -misa-spec=ISAspec set the RISC-V ISA spec (2.2, 20190608, 20191213)\n\
+ -mpriv-spec=PRIVspec set the RISC-V privilege spec (1.9, 1.9.1, 1.10, 1.11)\n\
+ -mabi=ABI set the RISC-V ABI\n\
+ -mrelax enable relax (default)\n\
+ -mno-relax disable relax\n\
+ -march-attr generate RISC-V arch attribute\n\
+ -mno-arch-attr don't generate RISC-V arch attribute\n\
"));
}
@@ -3284,26 +3568,66 @@ s_riscv_insn (int x ATTRIBUTE_UNUSED)
demand_empty_rest_of_line ();
}
-/* Update arch attributes. */
+/* Update arch and priv attributes. If we don't set the corresponding ELF
+ attributes, then try to output the default ones. */
static void
-riscv_write_out_arch_attr (void)
+riscv_write_out_attrs (void)
{
- const char *arch_str = riscv_arch_str (xlen, &riscv_subsets);
+ const char *arch_str, *priv_str, *p;
+ /* versions[0] is major, versions[1] is minor,
+ and versions[3] is revision. */
+ unsigned versions[3] = {0}, number = 0;
+ unsigned int i;
+ /* Re-write arch attribute to normalize the arch string. */
+ arch_str = riscv_arch_str (xlen, &riscv_subsets);
bfd_elf_add_proc_attr_string (stdoutput, Tag_RISCV_arch, arch_str);
-
xfree ((void *)arch_str);
+
+ /* For the file without any instruction, we don't set the default_priv_spec
+ according to the priv attributes since the md_assemble isn't called.
+ Call riscv_set_default_priv_spec here for the above case, although
+ it seems strange. */
+ if (!start_assemble
+ && !riscv_set_default_priv_spec (NULL))
+ return;
+
+ /* Re-write priv attributes by default_priv_spec. */
+ priv_str = riscv_get_priv_spec_name (default_priv_spec);
+ p = priv_str;
+ for (i = 0; *p; ++p)
+ {
+ if (*p == '.' && i < 3)
+ {
+ versions[i++] = number;
+ number = 0;
+ }
+ else if (ISDIGIT (*p))
+ number = (number * 10) + (*p - '0');
+ else
+ {
+ as_bad (_("internal: bad RISC-V priv spec string (%s)"), priv_str);
+ return;
+ }
+ }
+ versions[i] = number;
+
+ /* Set the priv attributes. */
+ bfd_elf_add_proc_attr_int (stdoutput, Tag_RISCV_priv_spec, versions[0]);
+ bfd_elf_add_proc_attr_int (stdoutput, Tag_RISCV_priv_spec_minor, versions[1]);
+ bfd_elf_add_proc_attr_int (stdoutput, Tag_RISCV_priv_spec_revision, versions[2]);
}
-/* Add the default contents for the .riscv.attributes section. */
+/* Add the default contents for the .riscv.attributes section. If any
+ ELF attribute or -march-attr options is set, call riscv_write_out_attrs
+ to update the arch and priv attributes. */
static void
riscv_set_public_attributes (void)
{
- if (riscv_opts.arch_attr || explicit_arch_attr)
- /* Re-write arch attribute to normalize the arch string. */
- riscv_write_out_arch_attr ();
+ if (riscv_opts.arch_attr || explicit_attr)
+ riscv_write_out_attrs ();
}
/* Called after all assembly has been done. */
@@ -3357,13 +3681,14 @@ static void
s_riscv_attribute (int ignored ATTRIBUTE_UNUSED)
{
int tag = obj_elf_vendor_attribute (OBJ_ATTR_PROC);
+ unsigned old_xlen;
+ obj_attribute *attr;
- if (tag == Tag_RISCV_arch)
+ explicit_attr = TRUE;
+ switch (tag)
{
- unsigned old_xlen = xlen;
-
- explicit_arch_attr = TRUE;
- obj_attribute *attr;
+ case Tag_RISCV_arch:
+ old_xlen = xlen;
attr = elf_known_obj_attributes_proc (stdoutput);
if (!start_assemble)
riscv_set_arch (attr[Tag_RISCV_arch].s);
@@ -3379,6 +3704,17 @@ s_riscv_attribute (int ignored ATTRIBUTE_UNUSED)
if (! bfd_set_arch_mach (stdoutput, bfd_arch_riscv, mach))
as_warn (_("Could not set architecture and machine"));
}
+ break;
+
+ case Tag_RISCV_priv_spec:
+ case Tag_RISCV_priv_spec_minor:
+ case Tag_RISCV_priv_spec_revision:
+ if (start_assemble)
+ as_fatal (_(".attribute priv spec must set before any instructions"));
+ break;
+
+ default:
+ break;
}
}
diff --git a/gas/configure b/gas/configure
index 1515787cee..e480b1d997 100755
--- a/gas/configure
+++ b/gas/configure
@@ -13009,7 +13009,7 @@ $as_echo "#define NDS32_DEFAULT_ZOL_EXT 1" >>confdefs.h
$as_echo "$enable_zol_ext" >&6; }
;;
- aarch64 | i386 | riscv | s390 | sparc)
+ aarch64 | i386 | s390 | sparc)
if test $this_target = $target ; then
cat >>confdefs.h <<_ACEOF
@@ -13019,6 +13019,56 @@ _ACEOF
fi
;;
+ riscv)
+ # --target=riscv[32|64]-*-*. */
+ if test $this_target = $target ; then
+
+cat >>confdefs.h <<_ACEOF
+#define DEFAULT_ARCH "${arch}"
+_ACEOF
+
+ fi
+
+ # --with-arch=<value>. The syntax of <value> is same as Gas option -march.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default configuration of --with-arch" >&5
+$as_echo_n "checking for default configuration of --with-arch... " >&6; }
+ if test "x${with_arch}" != x; then
+
+cat >>confdefs.h <<_ACEOF
+#define DEFAULT_RISCV_ARCH_WITH_EXT "$with_arch"
+_ACEOF
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_arch" >&5
+$as_echo "$with_arch" >&6; }
+
+ # --with-isa-spec=[2.2|20190608|20191213].
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default configuration of --with-isa-spec" >&5
+$as_echo_n "checking for default configuration of --with-isa-spec... " >&6; }
+ if test "x${with_isa_spec}" != x; then
+
+cat >>confdefs.h <<_ACEOF
+#define DEFAULT_RISCV_ISA_SPEC "$with_isa_spec"
+_ACEOF
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_isa_spec" >&5
+$as_echo "$with_isa_spec" >&6; }
+
+ # --with-priv-spec=[1.9|1.9.1|1.10|1.11].
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default configuration of --with-priv-spec" >&5
+$as_echo_n "checking for default configuration of --with-priv-spec... " >&6; }
+ if test "x${with_priv_spec}" != x; then
+
+cat >>confdefs.h <<_ACEOF
+#define DEFAULT_RISCV_PRIV_SPEC "$with_priv_spec"
+_ACEOF
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_priv_spec" >&5
+$as_echo "$with_priv_spec" >&6; }
+ ;;
+
rl78)
f=rl78-parse.o
case " $extra_objects " in
diff --git a/gas/configure.ac b/gas/configure.ac
index 6f32e55a1a..b65108fecb 100644
--- a/gas/configure.ac
+++ b/gas/configure.ac
@@ -569,12 +569,43 @@ changequote([,])dnl
AC_MSG_RESULT($enable_zol_ext)
;;
- aarch64 | i386 | riscv | s390 | sparc)
+ aarch64 | i386 | s390 | sparc)
if test $this_target = $target ; then
AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
fi
;;
+ riscv)
+ # --target=riscv[32|64]-*-*. */
+ if test $this_target = $target ; then
+ AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
+ fi
+
+ # --with-arch=<value>. The syntax of <value> is same as Gas option -march.
+ AC_MSG_CHECKING(for default configuration of --with-arch)
+ if test "x${with_arch}" != x; then
+ AC_DEFINE_UNQUOTED(DEFAULT_RISCV_ARCH_WITH_EXT, "$with_arch",
+ [Define default value for RISC-V -march.])
+ fi
+ AC_MSG_RESULT($with_arch)
+
+ # --with-isa-spec=[2.2|20190608|20191213].
+ AC_MSG_CHECKING(for default configuration of --with-isa-spec)
+ if test "x${with_isa_spec}" != x; then
+ AC_DEFINE_UNQUOTED(DEFAULT_RISCV_ISA_SPEC, "$with_isa_spec",
+ [Define default value for RISC-V -misa-spec.])
+ fi
+ AC_MSG_RESULT($with_isa_spec)
+
+ # --with-priv-spec=[1.9|1.9.1|1.10|1.11].
+ AC_MSG_CHECKING(for default configuration of --with-priv-spec)
+ if test "x${with_priv_spec}" != x; then
+ AC_DEFINE_UNQUOTED(DEFAULT_RISCV_PRIV_SPEC, "$with_priv_spec",
+ [Define default value for RISC-V -mpriv-spec])
+ fi
+ AC_MSG_RESULT($with_priv_spec)
+ ;;
+
rl78)
f=rl78-parse.o
case " $extra_objects " in
diff --git a/gas/doc/c-riscv.texi b/gas/doc/c-riscv.texi
index 488cf56051..bf942c3b7e 100644
--- a/gas/doc/c-riscv.texi
+++ b/gas/doc/c-riscv.texi
@@ -42,6 +42,22 @@ Don't generate position-independent code (default)
@cindex @samp{-march=ISA} option, RISC-V
@item -march=ISA
Select the base isa, as specified by ISA. For example -march=rv32ima.
+If this option and the architecture attributes aren’t set, then assembler
+will check the default configure setting --with-arch=ISA.
+
+@cindex @samp{-misa-spec=ISAspec} option, RISC-V
+@item -misa-spec=ISAspec
+Select the default isa spec version. If the version of ISA isn't set
+by -march, then assembler helps to set the version according to
+the default chosen spec. If this option isn't set, then assembler will
+check the default configure setting --with-isa-spec=ISAspec.
+
+@cindex @samp{-mpriv-spec=PRIVspec} option, RISC-V
+@item -mpriv-spec=PRIVspec
+Select the privileged spec version. We can decide whether the CSR is valid or
+not according to the chosen spec. If this option and the privilege attributes
+aren't set, then assembler will check the default configure setting
+--with-priv-spec=PRIVspec.
@cindex @samp{-mabi=ABI} option, RISC-V
@item -mabi=ABI
diff --git a/gas/po/gas.pot b/gas/po/gas.pot
index 0b9d5d7e35..f93cfac6dd 100644
--- a/gas/po/gas.pot
+++ b/gas/po/gas.pot
@@ -3,13 +3,12 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
-#: config/tc-arm.c:708
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2020-01-18 14:01+0000\n"
+"POT-Creation-Date: 2020-05-20 15:53+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"
@@ -57,26 +56,26 @@ msgstr ""
msgid "end of file in comment; newline inserted"
msgstr ""
-#: as.c:170
+#: as.c:173
msgid "missing emulation mode name"
msgstr ""
-#: as.c:185
+#: as.c:188
#, c-format
msgid "unrecognized emulation name `%s'"
msgstr ""
-#: as.c:232
+#: as.c:235
#, c-format
msgid "GNU assembler version %s (%s) using BFD version %s\n"
msgstr ""
-#: as.c:244
+#: as.c:247
#, c-format
msgid "Usage: %s [option...] [asmfile...]\n"
msgstr ""
-#: as.c:246
+#: as.c:249
#, c-format
msgid ""
"Options:\n"
@@ -93,12 +92,12 @@ msgid ""
" \t =FILE list to FILE (must be last sub-option)\n"
msgstr ""
-#: as.c:260
+#: as.c:263
#, c-format
msgid " --alternate initially turn on alternate macro syntax\n"
msgstr ""
-#: as.c:263
+#: as.c:266
#, c-format
msgid ""
" --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi}]\n"
@@ -106,213 +105,215 @@ msgid ""
"[default]\n"
msgstr ""
-#: as.c:266
+#: as.c:269
#, c-format
msgid ""
" --nocompress-debug-sections\n"
" don't compress DWARF debug sections\n"
msgstr ""
-#: as.c:270
+#: as.c:273
#, c-format
msgid ""
" --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi}]\n"
" compress DWARF debug sections using zlib\n"
msgstr ""
-#: as.c:273
+#: as.c:276
#, c-format
msgid ""
" --nocompress-debug-sections\n"
" don't compress DWARF debug sections [default]\n"
msgstr ""
-#: as.c:277
+#: as.c:280
#, c-format
msgid " -D produce assembler debugging messages\n"
msgstr ""
-#: as.c:279
+#: as.c:282
#, c-format
msgid ""
" --debug-prefix-map OLD=NEW\n"
" map OLD to NEW in debug information\n"
msgstr ""
-#: as.c:282
+#: as.c:285
#, c-format
msgid " --defsym SYM=VAL define symbol SYM to given value\n"
msgstr ""
-#: as.c:298
+#: as.c:301
#, c-format
msgid " emulate output (default %s)\n"
msgstr ""
-#: as.c:303
+#: as.c:306
#, c-format
msgid " --execstack require executable stack for this object\n"
msgstr ""
-#: as.c:305
+#: as.c:308
#, c-format
msgid ""
" --noexecstack don't require executable stack for this object\n"
msgstr ""
-#: as.c:307
+#: as.c:310
#, c-format
msgid ""
" --size-check=[error|warning]\n"
"\t\t\t ELF .size directive check (default --size-check=error)\n"
msgstr ""
-#: as.c:310
+#: as.c:313
#, c-format
msgid " --elf-stt-common=[no|yes] "
msgstr ""
-#: as.c:313 as.c:324 config/tc-i386.c:12769 config/tc-i386.c:12789
+#: as.c:316 as.c:327 config/tc-i386.c:13385 config/tc-i386.c:13405
#, c-format
msgid "(default: yes)\n"
msgstr ""
-#: as.c:315 as.c:326 config/tc-i386.c:12771 config/tc-i386.c:12791
+#: as.c:318 as.c:329 config/tc-i386.c:13387 config/tc-i386.c:13407
#, c-format
msgid "(default: no)\n"
msgstr ""
-#: as.c:316
+#: as.c:319
#, c-format
msgid ""
" generate ELF common symbols with STT_COMMON type\n"
msgstr ""
-#: as.c:318
+#: as.c:321
#, c-format
msgid " --sectname-subst enable section name substitution sequences\n"
msgstr ""
-#: as.c:321
+#: as.c:324
#, c-format
msgid " --generate-missing-build-notes=[no|yes] "
msgstr ""
-#: as.c:328
+#: as.c:331
#, c-format
msgid ""
" generate GNU Build notes if none are present in "
"the input\n"
msgstr ""
-#: as.c:332
+#: as.c:335
#, c-format
msgid " -f skip whitespace and comment preprocessing\n"
msgstr ""
-#: as.c:334
+#: as.c:337
#, c-format
msgid " -g --gen-debug generate debugging information\n"
msgstr ""
-#: as.c:336
+#: as.c:339
#, c-format
msgid " --gstabs generate STABS debugging information\n"
msgstr ""
-#: as.c:338
+#: as.c:341
#, c-format
msgid ""
" --gstabs+ generate STABS debug info with GNU extensions\n"
msgstr ""
-#: as.c:340
+#: as.c:343
#, c-format
-msgid " --gdwarf-2 generate DWARF2 debugging information\n"
+msgid ""
+" --gdwarf-<N> generate DWARF<N> debugging information. 2 <= <N> "
+"<= 5\n"
msgstr ""
-#: as.c:342
+#: as.c:345
#, c-format
msgid ""
" --gdwarf-sections generate per-function section names for DWARF line "
"information\n"
msgstr ""
-#: as.c:344
+#: as.c:347
#, c-format
msgid " --hash-size=<value> set the hash table size close to <value>\n"
msgstr ""
-#: as.c:346
+#: as.c:349
#, c-format
msgid " --help show this message and exit\n"
msgstr ""
-#: as.c:348
+#: as.c:351
#, c-format
msgid " --target-help show target specific options\n"
msgstr ""
-#: as.c:350
+#: as.c:353
#, c-format
msgid ""
" -I DIR add DIR to search list for .include directives\n"
msgstr ""
-#: as.c:352
+#: as.c:355
#, c-format
msgid " -J don't warn about signed overflow\n"
msgstr ""
-#: as.c:354
+#: as.c:357
#, c-format
msgid ""
" -K warn when differences altered for long "
"displacements\n"
msgstr ""
-#: as.c:356
+#: as.c:359
#, c-format
msgid " -L,--keep-locals keep local symbols (e.g. starting with `L')\n"
msgstr ""
-#: as.c:358
+#: as.c:361
#, c-format
msgid " -M,--mri assemble in MRI compatibility mode\n"
msgstr ""
-#: as.c:360
+#: as.c:363
#, c-format
msgid ""
" --MD FILE write dependency information in FILE (default "
"none)\n"
msgstr ""
-#: as.c:362
+#: as.c:365
#, c-format
msgid " -nocpp ignored\n"
msgstr ""
-#: as.c:364
+#: as.c:367
#, c-format
msgid ""
" -no-pad-sections do not pad the end of sections to alignment "
"boundaries\n"
msgstr ""
-#: as.c:366
+#: as.c:369
#, c-format
msgid ""
" -o OBJFILE name the object-file output OBJFILE (default a."
"out)\n"
msgstr ""
-#: as.c:368
+#: as.c:371
#, c-format
msgid " -R fold data section into text section\n"
msgstr ""
-#: as.c:370
+#: as.c:373
#, c-format
msgid ""
" --reduce-memory-overheads \n"
@@ -320,44 +321,44 @@ msgid ""
" assembly times\n"
msgstr ""
-#: as.c:374
+#: as.c:377
#, c-format
msgid ""
" --statistics print various measured statistics from execution\n"
msgstr ""
-#: as.c:376
+#: as.c:379
#, c-format
msgid " --strip-local-absolute strip local absolute symbols\n"
msgstr ""
-#: as.c:378
+#: as.c:381
#, c-format
msgid ""
" --traditional-format Use same format as native assembler when possible\n"
msgstr ""
-#: as.c:380
+#: as.c:383
#, c-format
msgid " --version print assembler version number and exit\n"
msgstr ""
-#: as.c:382
+#: as.c:385
#, c-format
msgid " -W --no-warn suppress warnings\n"
msgstr ""
-#: as.c:384
+#: as.c:387
#, c-format
msgid " --warn don't suppress warnings\n"
msgstr ""
-#: as.c:386
+#: as.c:389
#, c-format
msgid " --fatal-warnings treat warnings as errors\n"
msgstr ""
-#: as.c:389
+#: as.c:392
#, c-format
msgid ""
" --itbl INSTTBL extend instruction set to include instructions\n"
@@ -365,22 +366,22 @@ msgid ""
"INSTTBL\n"
msgstr ""
-#: as.c:393
+#: as.c:396
#, c-format
msgid " -w ignored\n"
msgstr ""
-#: as.c:395
+#: as.c:398
#, c-format
msgid " -X ignored\n"
msgstr ""
-#: as.c:397
+#: as.c:400
#, c-format
msgid " -Z generate object file even after errors\n"
msgstr ""
-#: as.c:399
+#: as.c:402
#, c-format
msgid ""
" --listing-lhs-width set the width in words of the output data column "
@@ -388,7 +389,7 @@ msgid ""
" the listing\n"
msgstr ""
-#: as.c:402
+#: as.c:405
#, c-format
msgid ""
" --listing-lhs-width2 set the width in words of the continuation lines\n"
@@ -397,47 +398,47 @@ msgid ""
" the width of the first line\n"
msgstr ""
-#: as.c:406
+#: as.c:409
#, c-format
msgid ""
" --listing-rhs-width set the max width in characters of the lines from\n"
" the source file\n"
msgstr ""
-#: as.c:409
+#: as.c:412
#, c-format
msgid ""
" --listing-cont-lines set the maximum number of continuation lines used\n"
" for the output data column of the listing\n"
msgstr ""
-#: as.c:412
+#: as.c:415
#, c-format
msgid " @FILE read options from FILE\n"
msgstr ""
-#: as.c:420
+#: as.c:423
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
-#: as.c:644
+#: as.c:653
#, c-format
msgid "unrecognized option -%c%s"
msgstr ""
#. This output is intended to follow the GNU standards document.
-#: as.c:686
+#: as.c:695
#, c-format
msgid "GNU assembler %s\n"
msgstr ""
-#: as.c:687
+#: as.c:696
#, c-format
msgid "Copyright (C) 2020 Free Software Foundation, Inc.\n"
msgstr ""
-#: as.c:688
+#: as.c:697
#, c-format
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
@@ -445,137 +446,137 @@ msgid ""
"This program has absolutely no warranty.\n"
msgstr ""
-#: as.c:693
+#: as.c:702
#, c-format
msgid ""
"This assembler was configured for a target of `%s' and default,\n"
"cpu type `%s'.\n"
msgstr ""
-#: as.c:697
+#: as.c:706
#, c-format
msgid "This assembler was configured for a target of `%s'.\n"
msgstr ""
-#: as.c:705
+#: as.c:714
msgid "multiple emulation names specified"
msgstr ""
-#: as.c:707
+#: as.c:716
msgid "emulations not handled in this configuration"
msgstr ""
-#: as.c:712
+#: as.c:721
#, c-format
msgid "alias = %s\n"
msgstr ""
-#: as.c:713
+#: as.c:722
#, c-format
msgid "canonical = %s\n"
msgstr ""
-#: as.c:714
+#: as.c:723
#, c-format
msgid "cpu-type = %s\n"
msgstr ""
-#: as.c:716
+#: as.c:725
#, c-format
msgid "format = %s\n"
msgstr ""
-#: as.c:719
+#: as.c:728
#, c-format
msgid "bfd-target = %s\n"
msgstr ""
-#: as.c:736
+#: as.c:745
#, c-format
msgid "Invalid --compress-debug-sections option: `%s'"
msgstr ""
-#: as.c:739
+#: as.c:748
#, c-format
msgid "--compress-debug-sections=%s is unsupported"
msgstr ""
-#: as.c:764
+#: as.c:773
msgid "bad defsym; format is --defsym name=value"
msgstr ""
-#: as.c:784
+#: as.c:793
msgid "no file name following -t option"
msgstr ""
-#: as.c:799
+#: as.c:808
#, c-format
msgid "failed to read instruction table %s\n"
msgstr ""
-#: as.c:847
+#: as.c:875
#, c-format
msgid "Invalid --gdwarf-cie-version `%s'"
msgstr ""
-#: as.c:925
+#: as.c:968
#, c-format
msgid "Invalid --size-check= option: `%s'"
msgstr ""
-#: as.c:934
+#: as.c:977
#, c-format
msgid "Invalid --elf-stt-common= option: `%s'"
msgstr ""
-#: as.c:948
+#: as.c:991
#, c-format
msgid "Invalid --generate-missing-build-notes option: `%s'"
msgstr ""
-#: as.c:1019
+#: as.c:1062
#, c-format
msgid "invalid listing option `%c'"
msgstr ""
-#: as.c:1072
+#: as.c:1115
msgid "--hash-size needs a numeric argument"
msgstr ""
-#: as.c:1094
+#: as.c:1137
#, c-format
msgid "%s: total time in assembly: %ld.%06ld\n"
msgstr ""
-#: as.c:1260
+#: as.c:1303
msgid "libbfd ABI mismatch"
msgstr ""
-#: as.c:1299
+#: as.c:1348
#, c-format
msgid "The input '%s' and output '%s' files are the same"
msgstr ""
-#: as.c:1409
+#: as.c:1458
#, c-format
msgid "%d warning"
msgid_plural "%d warnings"
msgstr[0] ""
msgstr[1] ""
-#: as.c:1411
+#: as.c:1460
#, c-format
msgid "%d error"
msgid_plural "%d errors"
msgstr[0] ""
msgstr[1] ""
-#: as.c:1415
+#: as.c:1464
#, c-format
msgid "%s, treating warnings as errors"
msgstr ""
-#: as.c:1426
+#: as.c:1475
#, c-format
msgid "%s, %s, generating bad object file\n"
msgstr ""
@@ -596,7 +597,7 @@ msgstr ""
#: cgen.c:106 config/tc-alpha.c:2097 config/tc-alpha.c:2121
#: config/tc-arc.c:4060 config/tc-arc.c:4134 config/tc-d10v.c:550
#: config/tc-d30v.c:537 config/tc-mn10200.c:1098 config/tc-mn10300.c:1752
-#: config/tc-ppc.c:3518 config/tc-ppc.c:4020 config/tc-s390.c:1342
+#: config/tc-ppc.c:3531 config/tc-ppc.c:4033 config/tc-s390.c:1342
#: config/tc-s390.c:1465 config/tc-s390.c:1599 config/tc-v850.c:2538
#: config/tc-v850.c:2609 config/tc-v850.c:2656 config/tc-v850.c:2693
#: config/tc-v850.c:2730 config/tc-v850.c:2993
@@ -604,19 +605,19 @@ msgid "too many fixups"
msgstr ""
#: cgen.c:371 cgen.c:391 config/tc-d10v.c:461 config/tc-d30v.c:453
-#: config/tc-mn10200.c:1040 config/tc-mn10300.c:1677 config/tc-ppc.c:3560
+#: config/tc-mn10200.c:1040 config/tc-mn10300.c:1677 config/tc-ppc.c:3573
#: config/tc-s390.c:1326 config/tc-v850.c:2647 config/tc-v850.c:2681
-#: config/tc-v850.c:2721 config/tc-v850.c:2966 config/tc-z80.c:741
+#: config/tc-v850.c:2721 config/tc-v850.c:2966 config/tc-z80.c:770
msgid "illegal operand"
msgstr ""
#: cgen.c:395 config/tc-avr.c:898 config/tc-d10v.c:463 config/tc-d30v.c:455
#: config/tc-h8300.c:497 config/tc-mcore.c:661 config/tc-microblaze.c:613
#: config/tc-mmix.c:495 config/tc-mn10200.c:1043 config/tc-mn10300.c:1680
-#: config/tc-msp430.c:417 config/tc-ppc.c:3562 config/tc-s390.c:1331
+#: config/tc-msp430.c:417 config/tc-ppc.c:3575 config/tc-s390.c:1331
#: config/tc-sh.c:988 config/tc-v850.c:2651 config/tc-v850.c:2685
#: config/tc-v850.c:2725 config/tc-v850.c:2969 config/tc-xgate.c:895
-#: config/tc-z80.c:851 config/tc-z8k.c:349
+#: config/tc-z80.c:912 config/tc-z8k.c:349
msgid "missing operand"
msgstr ""
@@ -629,22 +630,22 @@ msgid "operand mask overflow"
msgstr ""
#. We can't actually support subtracting a symbol.
-#: cgen.c:857 config/tc-arm.c:2048 config/tc-arm.c:11269 config/tc-arm.c:11321
-#: config/tc-arm.c:11603 config/tc-arm.c:12499 config/tc-arm.c:13639
-#: config/tc-arm.c:13679 config/tc-arm.c:14052 config/tc-arm.c:14094
-#: config/tc-arm.c:21317 config/tc-arm.c:21377 config/tc-avr.c:1549
+#: cgen.c:857 config/tc-arm.c:2075 config/tc-arm.c:11318 config/tc-arm.c:11370
+#: config/tc-arm.c:11652 config/tc-arm.c:12548 config/tc-arm.c:13688
+#: config/tc-arm.c:13728 config/tc-arm.c:14101 config/tc-arm.c:14143
+#: config/tc-arm.c:21376 config/tc-arm.c:21436 config/tc-avr.c:1549
#: config/tc-avr.c:1561 config/tc-avr.c:1825 config/tc-cris.c:4060
#: config/tc-d10v.c:1507 config/tc-d30v.c:1912 config/tc-ft32.c:574
-#: config/tc-ft32.c:587 config/tc-mips.c:9681 config/tc-mips.c:10991
-#: config/tc-mips.c:12288 config/tc-mips.c:12971 config/tc-nds32.c:7827
+#: config/tc-ft32.c:587 config/tc-mips.c:9720 config/tc-mips.c:11030
+#: config/tc-mips.c:12327 config/tc-mips.c:13010 config/tc-nds32.c:7827
#: config/tc-pru.c:746 config/tc-pru.c:756 config/tc-spu.c:972
#: config/tc-spu.c:996 config/tc-tilegx.c:1483 config/tc-tilepro.c:1344
#: config/tc-v850.c:3451 config/tc-vax.c:282 config/tc-xstormy16.c:482
-#: config/tc-xtensa.c:5967 config/tc-xtensa.c:13044
+#: config/tc-xtensa.c:5987 config/tc-xtensa.c:13070 config/tc-z80.c:3798
msgid "expression too complex"
msgstr ""
-#: cgen.c:956 config/tc-ppc.c:7722 config/tc-s390.c:2380 config/tc-v850.c:3503
+#: cgen.c:956 config/tc-ppc.c:7735 config/tc-s390.c:2380 config/tc-v850.c:3503
#: config/tc-xstormy16.c:539
msgid "unresolved expression that must be resolved"
msgstr ""
@@ -734,7 +735,7 @@ msgstr ""
msgid "Infinities are not supported by this target"
msgstr ""
-#: config/atof-ieee.c:829 config/atof-vax.c:449 config/tc-arm.c:1294
+#: config/atof-ieee.c:829 config/atof-vax.c:449 config/tc-arm.c:1321
#: config/tc-ia64.c:11603 config/tc-tic30.c:1263 config/tc-tic4x.c:2583
msgid "Unrecognized or unsupported floating point constant"
msgstr ""
@@ -759,8 +760,8 @@ msgstr ""
msgid "Inserting \"%s\" into structure table failed: %s"
msgstr ""
-#: config/obj-coff.c:212 config/obj-coff.c:1675 config/tc-ppc.c:6259
-#: config/tc-tic54x.c:3984 read.c:2961
+#: config/obj-coff.c:212 config/obj-coff.c:1680 config/tc-ppc.c:6272
+#: config/tc-tic54x.c:3984 read.c:2962
#, c-format
msgid "error setting flags for \"%s\": %s"
msgstr ""
@@ -854,22 +855,22 @@ msgstr ""
#. STYP_INFO
#. STYP_LIB
#. STYP_OVER
-#: config/obj-coff.c:1640
+#: config/obj-coff.c:1642
#, c-format
msgid "unsupported section attribute '%c'"
msgstr ""
-#: config/obj-coff.c:1644 config/tc-ppc.c:6241
+#: config/obj-coff.c:1646 config/tc-ppc.c:6254
#, c-format
msgid "unknown section attribute '%c'"
msgstr ""
-#: config/obj-coff.c:1687 config/obj-macho.c:269
+#: config/obj-coff.c:1692 config/obj-macho.c:269
#, c-format
msgid "Ignoring changed section attributes for %s"
msgstr ""
-#: config/obj-coff.c:1825
+#: config/obj-coff.c:1830
#, c-format
msgid "0x%lx: \"%s\" type = %ld, class = %d, segment = %d\n"
msgstr ""
@@ -891,236 +892,276 @@ msgstr ""
msgid "Missing symbol name in directive"
msgstr ""
-#: config/obj-elf.c:644
+#: config/obj-elf.c:649
#, c-format
msgid "setting incorrect section type for %s"
msgstr ""
-#: config/obj-elf.c:649
+#: config/obj-elf.c:654
#, c-format
msgid "ignoring incorrect section type for %s"
msgstr ""
-#: config/obj-elf.c:700
+#: config/obj-elf.c:705
#, c-format
msgid "setting incorrect section attributes for %s"
msgstr ""
-#: config/obj-elf.c:757
+#. This is a special section with known type. User
+#. assembly might get the section type wrong; Even high
+#. profile projects like glibc have done so in the past.
+#. So don't error in this case.
+#: config/obj-elf.c:776
#, c-format
msgid "ignoring changed section type for %s"
msgstr ""
-#: config/obj-elf.c:769
+#. Do error when assembly isn't self-consistent.
+#: config/obj-elf.c:779
+#, c-format
+msgid "changed section type for %s"
+msgstr ""
+
+#: config/obj-elf.c:794
#, c-format
msgid "ignoring changed section attributes for %s"
msgstr ""
-#: config/obj-elf.c:776
+#: config/obj-elf.c:796
+#, c-format
+msgid "changed section attributes for %s"
+msgstr ""
+
+#: config/obj-elf.c:804
#, c-format
-msgid "ignoring changed section entity size for %s"
+msgid "changed section entity size for %s"
msgstr ""
-#: config/obj-elf.c:841
-msgid "unrecognized .section attribute: want a,e,w,x,M,S,G,T or number"
+#: config/obj-elf.c:872
+msgid "unrecognized .section attribute: want a,e,o,w,x,M,S,G,T or number"
msgstr ""
-#: config/obj-elf.c:901
+#: config/obj-elf.c:932
msgid "extraneous characters at end of numeric section type"
msgstr ""
-#: config/obj-elf.c:907 read.c:2945
+#: config/obj-elf.c:938 read.c:2946
msgid "unrecognized section type"
msgstr ""
-#: config/obj-elf.c:939
+#: config/obj-elf.c:970
msgid "unrecognized section attribute"
msgstr ""
-#: config/obj-elf.c:970 config/tc-alpha.c:4208
+#: config/obj-elf.c:1001 config/tc-alpha.c:4208
msgid "missing name"
msgstr ""
-#: config/obj-elf.c:1050
+#: config/obj-elf.c:1083
#, c-format
msgid "section name '%s' already defined as another symbol"
msgstr ""
-#: config/obj-elf.c:1143
+#: config/obj-elf.c:1175
msgid "invalid merge entity size"
msgstr ""
-#: config/obj-elf.c:1150
+#: config/obj-elf.c:1182
msgid "entity size for SHF_MERGE not specified"
msgstr ""
-#: config/obj-elf.c:1156
+#: config/obj-elf.c:1201
msgid "? section flag ignored with G present"
msgstr ""
-#: config/obj-elf.c:1180
+#: config/obj-elf.c:1225
msgid "group name for SHF_GROUP not specified"
msgstr ""
-#: config/obj-elf.c:1205
+#: config/obj-elf.c:1251
#, c-format
msgid "unsupported mbind section info: %s"
msgstr ""
-#: config/obj-elf.c:1220
+#: config/obj-elf.c:1300
+#, c-format
+msgid "unsupported section id: %s"
+msgstr ""
+
+#: config/obj-elf.c:1325
msgid "character following name is not '#'"
msgstr ""
-#: config/obj-elf.c:1249
+#: config/obj-elf.c:1354
#, c-format
msgid "SHF_ALLOC isn't set for GNU_MBIND section: %s"
msgstr ""
-#: config/obj-elf.c:1256
+#: config/obj-elf.c:1361
msgid "GNU_MBIND section is supported only by GNU and FreeBSD targets"
msgstr ""
-#: config/obj-elf.c:1359
+#: config/obj-elf.c:1464
msgid ".previous without corresponding .section; ignored"
msgstr ""
-#: config/obj-elf.c:1385
+#: config/obj-elf.c:1490
msgid ".popsection without corresponding .pushsection; ignored"
msgstr ""
-#: config/obj-elf.c:1431
-msgid "expected comma after name in .symver"
+#: config/obj-elf.c:1534 config/obj-elf.c:1629
+#, c-format
+msgid "missing version name in `%s' for symbol `%s'"
msgstr ""
-#: config/obj-elf.c:1447 config/obj-elf.c:2365
+#: config/obj-elf.c:1553
#, c-format
-msgid "`%s' can't be versioned to common symbol '%s'"
+msgid "only one version name with `@@@' is allowed for symbol `%s'"
msgstr ""
-#: config/obj-elf.c:1462
+#: config/obj-elf.c:1561
#, c-format
-msgid "missing version name in `%s' for symbol `%s'"
+msgid "invalid version name '%s' for symbol `%s'"
msgstr ""
-#: config/obj-elf.c:1473
+#: config/obj-elf.c:1603
+msgid "expected comma after name in .symver"
+msgstr ""
+
+#: config/obj-elf.c:1620 config/obj-elf.c:2513
#, c-format
-msgid "multiple versions [`%s'|`%s'] for symbol `%s'"
+msgid "`%s' can't be versioned to common symbol '%s'"
msgstr ""
-#: config/obj-elf.c:1509
+#: config/obj-elf.c:1697
#, c-format
msgid "expected `%s' to have already been set for .vtable_inherit"
msgstr ""
-#: config/obj-elf.c:1519
+#: config/obj-elf.c:1707
msgid "expected comma after name in .vtable_inherit"
msgstr ""
-#: config/obj-elf.c:1580
+#: config/obj-elf.c:1768
msgid "expected comma after name in .vtable_entry"
msgstr ""
-#: config/obj-elf.c:1719
+#: config/obj-elf.c:1907
#, c-format
msgid "Attribute name not recognised: %s"
msgstr ""
-#: config/obj-elf.c:1736
+#: config/obj-elf.c:1924
msgid "expected numeric constant"
msgstr ""
-#: config/obj-elf.c:1745 config/tc-arm.c:7015
+#: config/obj-elf.c:1933 config/tc-arm.c:7042
msgid "expected comma"
msgstr ""
-#: config/obj-elf.c:1778
+#: config/obj-elf.c:1966
msgid "bad string constant"
msgstr ""
-#: config/obj-elf.c:1782
+#: config/obj-elf.c:1970
msgid "expected <tag> , <value>"
msgstr ""
-#: config/obj-elf.c:1900
+#: config/obj-elf.c:2088
msgid "expected quoted string"
msgstr ""
-#: config/obj-elf.c:1920
+#: config/obj-elf.c:2108
#, c-format
msgid "expected comma after name `%s' in .size directive"
msgstr ""
-#: config/obj-elf.c:1929
+#: config/obj-elf.c:2117
msgid "missing expression in .size directive"
msgstr ""
-#: config/obj-elf.c:2052
+#: config/obj-elf.c:2240
#, c-format
msgid "symbol '%s' is already defined"
msgstr ""
-#: config/obj-elf.c:2073
+#: config/obj-elf.c:2261
#, c-format
msgid "symbol type \"%s\" is supported only by GNU and FreeBSD targets"
msgstr ""
-#: config/obj-elf.c:2086
+#: config/obj-elf.c:2265
+#, c-format
+msgid "symbol type \"%s\" is not supported by MIPS targets"
+msgstr ""
+
+#: config/obj-elf.c:2278
#, c-format
msgid "symbol type \"%s\" is supported only by GNU targets"
msgstr ""
-#: config/obj-elf.c:2096
+#: config/obj-elf.c:2288
#, c-format
msgid "unrecognized symbol type \"%s\""
msgstr ""
-#: config/obj-elf.c:2117
+#: config/obj-elf.c:2309
#, c-format
msgid "cannot change type of common symbol '%s'"
msgstr ""
-#: config/obj-elf.c:2129
+#: config/obj-elf.c:2321
#, c-format
msgid "symbol '%s' already has its type set"
msgstr ""
-#: config/obj-elf.c:2293 config/obj-elf.c:2296
+#: config/obj-elf.c:2486 config/obj-elf.c:2489
#, c-format
msgid ".size expression for %s does not evaluate to a constant"
msgstr ""
-#: config/obj-elf.c:2330
+#: config/obj-elf.c:2585 ecoff.c:3600
#, c-format
-msgid ""
-"invalid attempt to declare external version name as default in symbol `%s'"
+msgid "symbol `%s' can not be both weak and common"
msgstr ""
-#: config/obj-elf.c:2399 ecoff.c:3600
+#: config/obj-elf.c:2620
#, c-format
-msgid "symbol `%s' can not be both weak and common"
+msgid "undefined linked-to symbol `%s' on section `%s'"
msgstr ""
-#: config/obj-elf.c:2494
+#: config/obj-elf.c:2695
#, c-format
msgid "assuming all members of group `%s' are COMDAT"
msgstr ""
-#: config/obj-elf.c:2506
+#: config/obj-elf.c:2707
#, c-format
msgid "can't create group: %s"
msgstr ""
-#: config/obj-elf.c:2657
+#: config/obj-elf.c:2781
+#, c-format
+msgid ""
+"invalid attempt to declare external version name as default in symbol `%s'"
+msgstr ""
+
+#: config/obj-elf.c:2791
+#, c-format
+msgid "multiple versions [`%s'|`%s'] for symbol `%s'"
+msgstr ""
+
+#: config/obj-elf.c:2883
#, c-format
msgid "failed to set up debugging information: %s"
msgstr ""
-#: config/obj-elf.c:2677
+#: config/obj-elf.c:2903
#, c-format
msgid "can't start writing .mdebug section: %s"
msgstr ""
-#: config/obj-elf.c:2685
+#: config/obj-elf.c:2911
#, c-format
msgid "could not write .mdebug section: %s"
msgstr ""
@@ -1170,7 +1211,7 @@ msgid "missing sizeof_stub expression"
msgstr ""
#: config/obj-macho.c:478 config/tc-ia64.c:1083 config/tc-ia64.c:11765
-#: config/tc-score.c:6099 expr.c:1179 read.c:1716
+#: config/tc-score.c:6087 expr.c:1179 read.c:1717
msgid "expected symbol name"
msgstr ""
@@ -1178,23 +1219,23 @@ msgstr ""
msgid "bad or irreducible absolute expression"
msgstr ""
-#: config/obj-macho.c:497 config/tc-score.c:6116 read.c:1754
+#: config/obj-macho.c:497 config/tc-score.c:6104 read.c:1755
msgid "missing size expression"
msgstr ""
-#: config/obj-macho.c:506 config/tc-ia64.c:1118 read.c:1760
+#: config/obj-macho.c:506 config/tc-ia64.c:1118 read.c:1761
#, c-format
msgid "size (%ld) out of range, ignored"
msgstr ""
-#: config/obj-macho.c:516 config/tc-score.c:6260 dwarf2dbg.c:997 ecoff.c:3359
-#: read.c:1772 read.c:1877 read.c:2628 read.c:3201 read.c:3632 symbols.c:474
+#: config/obj-macho.c:516 config/tc-score.c:6242 dwarf2dbg.c:1267 ecoff.c:3359
+#: read.c:1773 read.c:1878 read.c:2629 read.c:3202 read.c:3633 symbols.c:474
#: symbols.c:569
#, c-format
msgid "symbol `%s' is already defined"
msgstr ""
-#: config/obj-macho.c:526 read.c:1787
+#: config/obj-macho.c:526 read.c:1788
#, c-format
msgid "size of \"%s\" is already %ld; not changing to %ld"
msgstr ""
@@ -1405,7 +1446,7 @@ msgstr ""
msgid "128-bit SIMD scalar or floating-point quad precision register expected"
msgstr ""
-#: config/tc-aarch64.c:427 config/tc-arm.c:4722
+#: config/tc-aarch64.c:427 config/tc-arm.c:4749
msgid "register expected"
msgstr ""
@@ -1432,8 +1473,8 @@ msgstr ""
msgid "invalid register type %d"
msgstr ""
-#: config/tc-aarch64.c:604 config/tc-aarch64.c:606 config/tc-arm.c:1168
-#: config/tc-score.c:6510 expr.c:1350 read.c:2610
+#: config/tc-aarch64.c:604 config/tc-aarch64.c:606 config/tc-arm.c:1195
+#: config/tc-score.c:6492 expr.c:1350 read.c:2611
msgid "bad expression"
msgstr ""
@@ -1441,7 +1482,7 @@ msgstr ""
msgid "bad segment"
msgstr ""
-#: config/tc-aarch64.c:651 config/tc-arm.c:1234
+#: config/tc-aarch64.c:651 config/tc-arm.c:1261
msgid "invalid floating point number"
msgstr ""
@@ -1482,8 +1523,8 @@ msgid "index not allowed inside register list"
msgstr ""
#: config/tc-aarch64.c:1075 config/tc-aarch64.c:2045 config/tc-aarch64.c:2246
-#: config/tc-arm.c:1788 config/tc-arm.c:3998 config/tc-arm.c:5172
-#: config/tc-arm.c:7294
+#: config/tc-arm.c:1815 config/tc-arm.c:4025 config/tc-arm.c:5199
+#: config/tc-arm.c:7329
msgid "constant expression required"
msgstr ""
@@ -1496,7 +1537,7 @@ msgstr ""
msgid "invalid use of vector register"
msgstr ""
-#: config/tc-aarch64.c:1186 config/tc-arm.c:2104
+#: config/tc-aarch64.c:1186 config/tc-arm.c:2131
msgid "expecting {"
msgstr ""
@@ -1536,30 +1577,30 @@ msgstr ""
msgid "empty vector register list"
msgstr ""
-#: config/tc-aarch64.c:1321 config/tc-arm.c:2540
+#: config/tc-aarch64.c:1321 config/tc-arm.c:2567
#, c-format
msgid "ignoring attempt to redefine built-in register '%s'"
msgstr ""
-#: config/tc-aarch64.c:1327 config/tc-arm.c:2545
+#: config/tc-aarch64.c:1327 config/tc-arm.c:2572
#, c-format
msgid "ignoring redefinition of register alias '%s'"
msgstr ""
-#: config/tc-aarch64.c:1373 config/tc-arm.c:2611
+#: config/tc-aarch64.c:1373 config/tc-arm.c:2638
#, c-format
msgid "unknown register '%s' -- .req ignored"
msgstr ""
-#: config/tc-aarch64.c:1431 config/tc-arm.c:2819
+#: config/tc-aarch64.c:1431 config/tc-arm.c:2846
msgid "invalid syntax for .req directive"
msgstr ""
-#: config/tc-aarch64.c:1456 config/tc-arm.c:2857
+#: config/tc-aarch64.c:1456 config/tc-arm.c:2884
msgid "invalid syntax for .unreq directive"
msgstr ""
-#: config/tc-aarch64.c:1462 config/tc-arm.c:2864
+#: config/tc-aarch64.c:1462 config/tc-arm.c:2891
#, c-format
msgid "unknown register alias '%s'"
msgstr ""
@@ -1569,13 +1610,13 @@ msgstr ""
msgid "ignoring attempt to undefine built-in register '%s'"
msgstr ""
-#: config/tc-aarch64.c:1788 config/tc-arm.c:3610 config/tc-arm.c:3637
-#: config/tc-arm.c:3650
+#: config/tc-aarch64.c:1788 config/tc-arm.c:3637 config/tc-arm.c:3664
+#: config/tc-arm.c:3677
msgid "literal pool overflow"
msgstr ""
-#: config/tc-aarch64.c:1970 config/tc-aarch64.c:6223 config/tc-arm.c:3871
-#: config/tc-arm.c:7711
+#: config/tc-aarch64.c:1970 config/tc-aarch64.c:6224 config/tc-arm.c:3898
+#: config/tc-arm.c:7760
msgid "unrecognized relocation suffix"
msgstr ""
@@ -1596,7 +1637,7 @@ msgstr ""
msgid "invalid floating-point constant"
msgstr ""
-#: config/tc-aarch64.c:3121 config/tc-arm.c:5512 config/tc-arm.c:5521
+#: config/tc-aarch64.c:3121 config/tc-arm.c:5539 config/tc-arm.c:5548
msgid "shift expression expected"
msgstr ""
@@ -1699,7 +1740,7 @@ msgstr ""
msgid "invalid expression in the address"
msgstr ""
-#: config/tc-aarch64.c:3720 config/tc-arm.c:6102 config/tc-arm.c:6695
+#: config/tc-aarch64.c:3720 config/tc-arm.c:6129 config/tc-arm.c:6722
msgid "']' expected"
msgstr ""
@@ -1707,7 +1748,7 @@ msgstr ""
msgid "register offset not allowed in pre-indexed addressing mode"
msgstr ""
-#: config/tc-aarch64.c:3743 config/tc-arm.c:6138
+#: config/tc-aarch64.c:3743 config/tc-arm.c:6165
msgid "cannot combine pre- and post-indexing"
msgstr ""
@@ -1717,11 +1758,11 @@ msgid "missing offset in the pre-indexed address"
msgstr ""
#: config/tc-aarch64.c:4029
-msgid "unknown or missing option to PSB"
+msgid "unknown or missing option to PSB/TSB"
msgstr ""
#: config/tc-aarch64.c:4037
-msgid "the specified option is not accepted for PSB"
+msgid "the specified option is not accepted for PSB/TSB"
msgstr ""
#: config/tc-aarch64.c:4064 config/tc-aarch64.c:4078
@@ -1754,7 +1795,7 @@ msgstr ""
msgid "Info: "
msgstr ""
-#: config/tc-aarch64.c:4764 config/tc-score.c:2749 config/tc-score.c:6499
+#: config/tc-aarch64.c:4764 config/tc-score.c:2749 config/tc-score.c:6481
#, c-format
msgid "%s -- `%s'"
msgstr ""
@@ -1798,7 +1839,7 @@ msgstr ""
msgid "%s out of range %d to %d at operand %d -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:4882 config/tc-aarch64.c:4886 config/tc-aarch64.c:6825
+#: config/tc-aarch64.c:4882 config/tc-aarch64.c:4886 config/tc-aarch64.c:6826
msgid "immediate value"
msgstr ""
@@ -1846,7 +1887,7 @@ msgstr ""
msgid "the top half of a 128-bit FP/SIMD register is expected"
msgstr ""
-#: config/tc-aarch64.c:5808 config/tc-arm.c:2213 config/tc-arm.c:2258
+#: config/tc-aarch64.c:5808 config/tc-arm.c:2240 config/tc-arm.c:2285
#: config/tc-h8300.c:1043
msgid "invalid register list"
msgstr ""
@@ -1875,316 +1916,316 @@ msgstr ""
msgid "can't mix relocation modifier with explicit shift"
msgstr ""
-#: config/tc-aarch64.c:6184 config/tc-arm.c:15831 config/tc-arm.c:15856
-#: config/tc-arm.c:15867 config/tc-arm.c:15874
+#: config/tc-aarch64.c:6185 config/tc-arm.c:15898 config/tc-arm.c:15923
+#: config/tc-arm.c:15934 config/tc-arm.c:15941
msgid "invalid condition"
msgstr ""
-#: config/tc-aarch64.c:6210
+#: config/tc-aarch64.c:6211
msgid "invalid pc-relative address"
msgstr ""
#. Only permit "=value" in the literal load instructions.
#. The literal will be generated by programmer_friendly_fixup.
-#: config/tc-aarch64.c:6218
+#: config/tc-aarch64.c:6219
msgid "invalid use of \"=immediate\""
msgstr ""
-#: config/tc-aarch64.c:6283 config/tc-aarch64.c:6315 config/tc-aarch64.c:6333
-#: config/tc-aarch64.c:6357 config/tc-aarch64.c:6377 config/tc-aarch64.c:6396
-#: config/tc-aarch64.c:6419 config/tc-aarch64.c:6455 config/tc-aarch64.c:6462
-#: config/tc-aarch64.c:6490 config/tc-aarch64.c:6510 config/tc-aarch64.c:6535
-#: config/tc-aarch64.c:6553 config/tc-aarch64.c:6561 config/tc-aarch64.c:6578
-#: config/tc-aarch64.c:6602
+#: config/tc-aarch64.c:6284 config/tc-aarch64.c:6316 config/tc-aarch64.c:6334
+#: config/tc-aarch64.c:6358 config/tc-aarch64.c:6378 config/tc-aarch64.c:6397
+#: config/tc-aarch64.c:6420 config/tc-aarch64.c:6456 config/tc-aarch64.c:6463
+#: config/tc-aarch64.c:6491 config/tc-aarch64.c:6511 config/tc-aarch64.c:6536
+#: config/tc-aarch64.c:6554 config/tc-aarch64.c:6562 config/tc-aarch64.c:6579
+#: config/tc-aarch64.c:6603
msgid "invalid addressing mode"
msgstr ""
-#: config/tc-aarch64.c:6299
+#: config/tc-aarch64.c:6300
msgid "the optional immediate offset can only be 0"
msgstr ""
-#: config/tc-aarch64.c:6338 config/tc-aarch64.c:6362 config/tc-aarch64.c:6382
+#: config/tc-aarch64.c:6339 config/tc-aarch64.c:6363 config/tc-aarch64.c:6383
msgid "relocation not allowed"
msgstr ""
-#: config/tc-aarch64.c:6429
+#: config/tc-aarch64.c:6430
msgid "writeback value must be an immediate constant"
msgstr ""
#. Make sure this has priority over
#. "invalid addressing mode".
-#: config/tc-aarch64.c:6470
+#: config/tc-aarch64.c:6471
msgid "constant offset required"
msgstr ""
-#: config/tc-aarch64.c:6614
+#: config/tc-aarch64.c:6615
msgid "unknown or missing system register name"
msgstr ""
-#: config/tc-aarch64.c:6626
+#: config/tc-aarch64.c:6627
msgid "unknown or missing PSTATE field name"
msgstr ""
-#: config/tc-aarch64.c:6658
+#: config/tc-aarch64.c:6659
msgid "unknown or missing operation name"
msgstr ""
-#: config/tc-aarch64.c:6671
+#: config/tc-aarch64.c:6672
msgid "the specified option is not accepted in ISB"
msgstr ""
-#: config/tc-aarch64.c:6703 config/tc-aarch64.c:7884 config/tc-arm.c:7993
+#: config/tc-aarch64.c:6704 config/tc-aarch64.c:7886 config/tc-arm.c:8042
#, c-format
msgid "unhandled operand code %d"
msgstr ""
-#: config/tc-aarch64.c:6745
+#: config/tc-aarch64.c:6746
msgid "unexpected comma before the omitted optional operand"
msgstr ""
-#: config/tc-aarch64.c:6773
+#: config/tc-aarch64.c:6774
msgid "unexpected characters following instruction"
msgstr ""
-#: config/tc-aarch64.c:6851 config/tc-arm.c:5636 config/tc-arm.c:6246
-#: config/tc-arm.c:8797
+#: config/tc-aarch64.c:6852 config/tc-arm.c:5663 config/tc-arm.c:6273
+#: config/tc-arm.c:8846
msgid "constant expression expected"
msgstr ""
-#: config/tc-aarch64.c:6858
+#: config/tc-aarch64.c:6859
msgid "literal pool insertion failed"
msgstr ""
-#: config/tc-aarch64.c:6929 config/tc-aarch64.c:6944
+#: config/tc-aarch64.c:6930 config/tc-aarch64.c:6945
#, c-format
msgid "unpredictable transfer with writeback -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:6948
+#: config/tc-aarch64.c:6949
#, c-format
msgid "unpredictable load of register pair -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:6960
+#: config/tc-aarch64.c:6961
#, c-format
msgid "unpredictable: identical transfer and status registers --`%s'"
msgstr ""
-#: config/tc-aarch64.c:6976
+#: config/tc-aarch64.c:6977
#, c-format
msgid "previous `%s' sequence has not been closed"
msgstr ""
-#: config/tc-aarch64.c:7055
+#: config/tc-aarch64.c:7056
#, c-format
msgid "unknown mnemonic `%s' -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:7063
+#: config/tc-aarch64.c:7064
#, c-format
msgid "unexpected comma after the mnemonic name `%s' -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:7121
+#: config/tc-aarch64.c:7122
#, c-format
msgid "selected processor does not support `%s'"
msgstr ""
-#: config/tc-aarch64.c:7544 config/tc-arm.c:27479
+#: config/tc-aarch64.c:7545 config/tc-arm.c:28017
msgid "GOT already in the symbol table"
msgstr ""
-#: config/tc-aarch64.c:7707
+#: config/tc-aarch64.c:7708
msgid "immediate cannot be moved by a single instruction"
msgstr ""
-#: config/tc-aarch64.c:7750 config/tc-aarch64.c:7795 config/tc-aarch64.c:7821
-#: config/tc-arm.c:16375 config/tc-arm.c:18072 config/tc-arm.c:18658
-#: config/tc-arm.c:18685 config/tc-arm.c:19471 config/tc-arm.c:20305
-#: config/tc-arm.c:21320 config/tc-arm.c:21380 config/tc-metag.c:2444
+#: config/tc-aarch64.c:7752 config/tc-aarch64.c:7797 config/tc-aarch64.c:7823
+#: config/tc-arm.c:16442 config/tc-arm.c:18139 config/tc-arm.c:18719
+#: config/tc-arm.c:18746 config/tc-arm.c:19532 config/tc-arm.c:20364
+#: config/tc-arm.c:21379 config/tc-arm.c:21439 config/tc-metag.c:2444
#: config/tc-metag.c:2453 config/tc-metag.c:2492 config/tc-metag.c:2501
#: config/tc-metag.c:3021 config/tc-metag.c:3030
msgid "immediate out of range"
msgstr ""
-#: config/tc-aarch64.c:7814 config/tc-metag.c:4656 config/tc-xtensa.c:4203
+#: config/tc-aarch64.c:7816 config/tc-metag.c:4656 config/tc-xtensa.c:4221
msgid "invalid immediate"
msgstr ""
-#: config/tc-aarch64.c:7879 config/tc-tic6x.c:3861 config/tc-tic6x.c:3926
+#: config/tc-aarch64.c:7881 config/tc-tic6x.c:3861 config/tc-tic6x.c:3926
#: config/tc-tic6x.c:3953 config/tc-tic6x.c:3981
msgid "immediate offset out of range"
msgstr ""
-#: config/tc-aarch64.c:7953 config/tc-arm.c:27817 config/tc-arm.c:27885
-#: config/tc-arm.c:28167
+#: config/tc-aarch64.c:7955 config/tc-arm.c:28355 config/tc-arm.c:28423
+#: config/tc-arm.c:28705
#, c-format
msgid "undefined symbol %s used as an immediate value"
msgstr ""
-#: config/tc-aarch64.c:7965
+#: config/tc-aarch64.c:7967
msgid "pc-relative load offset not word aligned"
msgstr ""
-#: config/tc-aarch64.c:7968
+#: config/tc-aarch64.c:7970
msgid "pc-relative load offset out of range"
msgstr ""
-#: config/tc-aarch64.c:7980
+#: config/tc-aarch64.c:7982
msgid "pc-relative address offset out of range"
msgstr ""
-#: config/tc-aarch64.c:7992 config/tc-aarch64.c:8007
+#: config/tc-aarch64.c:7994 config/tc-aarch64.c:8009
msgid "conditional branch target not word aligned"
msgstr ""
-#: config/tc-aarch64.c:7995 config/tc-aarch64.c:8010 config/tc-arm.c:28462
+#: config/tc-aarch64.c:7997 config/tc-aarch64.c:8012 config/tc-arm.c:29000
msgid "conditional branch out of range"
msgstr ""
-#: config/tc-aarch64.c:8023
+#: config/tc-aarch64.c:8025
msgid "branch target not word aligned"
msgstr ""
-#: config/tc-aarch64.c:8026 config/tc-arm.c:899 config/tc-arm.c:29265
-#: config/tc-mips.c:16047 config/tc-mips.c:16063 config/tc-mips.c:16153
+#: config/tc-aarch64.c:8028 config/tc-arm.c:924 config/tc-arm.c:29806
+#: config/tc-mips.c:16086 config/tc-mips.c:16102 config/tc-mips.c:16192
msgid "branch out of range"
msgstr ""
-#: config/tc-aarch64.c:8085 config/tc-arm.c:28058 config/tc-arm.c:28073
-#: config/tc-arm.c:28088 config/tc-arm.c:28099 config/tc-arm.c:28122
-#: config/tc-arm.c:28969 config/tc-moxie.c:716 config/tc-pj.c:452
-#: config/tc-sh.c:3727
+#: config/tc-aarch64.c:8087 config/tc-arm.c:28596 config/tc-arm.c:28611
+#: config/tc-arm.c:28626 config/tc-arm.c:28637 config/tc-arm.c:28660
+#: config/tc-arm.c:29510 config/tc-moxie.c:714 config/tc-pj.c:452
+#: config/tc-sh.c:3728
msgid "offset out of range"
msgstr ""
-#: config/tc-aarch64.c:8100
+#: config/tc-aarch64.c:8102
msgid "unsigned value out of range"
msgstr ""
-#: config/tc-aarch64.c:8111
+#: config/tc-aarch64.c:8113
msgid "signed value out of range"
msgstr ""
-#: config/tc-aarch64.c:8261
+#: config/tc-aarch64.c:8263
#, c-format
msgid "unexpected %s fixup"
msgstr ""
-#: config/tc-aarch64.c:8327 config/tc-arm.c:29685 config/tc-arm.c:29706
-#: config/tc-mips.c:18414 config/tc-or1k.c:345 config/tc-score.c:7468
+#: config/tc-aarch64.c:8329 config/tc-arm.c:30226 config/tc-arm.c:30247
+#: config/tc-mips.c:18453 config/tc-or1k.c:345 config/tc-score.c:7450
#, c-format
msgid "cannot represent %s relocation in this object file format"
msgstr ""
-#: config/tc-aarch64.c:8360
+#: config/tc-aarch64.c:8362
#, c-format
msgid "cannot do %u-byte relocation"
msgstr ""
-#: config/tc-aarch64.c:8683 config/tc-arm.c:30180 config/tc-score.c:6293
-#: config/tc-score.c:6523 config/tc-score.c:6528
+#: config/tc-aarch64.c:8685 config/tc-arm.c:30721 config/tc-score.c:6275
+#: config/tc-score.c:6505 config/tc-score.c:6510
msgid "virtual memory exhausted"
msgstr ""
-#: config/tc-aarch64.c:8849 config/tc-arm.c:30523
+#: config/tc-aarch64.c:8851 config/tc-arm.c:31064
msgid "assemble for big-endian"
msgstr ""
-#: config/tc-aarch64.c:8850 config/tc-arm.c:30524
+#: config/tc-aarch64.c:8852 config/tc-arm.c:31065
msgid "assemble for little-endian"
msgstr ""
-#: config/tc-aarch64.c:8853
+#: config/tc-aarch64.c:8855
msgid "temporary switch for dumping"
msgstr ""
-#: config/tc-aarch64.c:8855
+#: config/tc-aarch64.c:8857
msgid "output verbose error messages"
msgstr ""
-#: config/tc-aarch64.c:8857
+#: config/tc-aarch64.c:8859
msgid "do not output verbose error messages"
msgstr ""
-#: config/tc-aarch64.c:9137 config/tc-arm.c:31607
+#: config/tc-aarch64.c:9139 config/tc-arm.c:32164
msgid "invalid architectural extension"
msgstr ""
-#: config/tc-aarch64.c:9162 config/tc-arm.c:31639
+#: config/tc-aarch64.c:9164 config/tc-arm.c:32196
msgid "must specify extensions to add before specifying those to remove"
msgstr ""
-#: config/tc-aarch64.c:9170 config/tc-arm.c:31647
+#: config/tc-aarch64.c:9172 config/tc-arm.c:32204
msgid "missing architectural extension"
msgstr ""
-#: config/tc-aarch64.c:9197 config/tc-arm.c:31733
+#: config/tc-aarch64.c:9199 config/tc-arm.c:32290
#, c-format
msgid "unknown architectural extension `%s'"
msgstr ""
-#: config/tc-aarch64.c:9221 config/tc-arm.c:31783 config/tc-metag.c:5834
+#: config/tc-aarch64.c:9223 config/tc-arm.c:32340 config/tc-metag.c:5834
#, c-format
msgid "missing cpu name `%s'"
msgstr ""
-#: config/tc-aarch64.c:9235 config/tc-aarch64.c:9452 config/tc-arm.c:31818
-#: config/tc-arm.c:32617 config/tc-csky.c:896 config/tc-metag.c:5845
+#: config/tc-aarch64.c:9237 config/tc-aarch64.c:9454 config/tc-arm.c:32375
+#: config/tc-arm.c:33176 config/tc-csky.c:896 config/tc-metag.c:5845
#, c-format
msgid "unknown cpu `%s'"
msgstr ""
-#: config/tc-aarch64.c:9253 config/tc-arm.c:31836
+#: config/tc-aarch64.c:9255 config/tc-arm.c:32393
#, c-format
msgid "missing architecture name `%s'"
msgstr ""
-#: config/tc-aarch64.c:9267 config/tc-aarch64.c:9499 config/tc-arm.c:31858
-#: config/tc-arm.c:32652 config/tc-arm.c:32682 config/tc-score.c:7703
+#: config/tc-aarch64.c:9269 config/tc-aarch64.c:9501 config/tc-arm.c:32415
+#: config/tc-arm.c:33211 config/tc-arm.c:33241 config/tc-score.c:7685
#, c-format
msgid "unknown architecture `%s'\n"
msgstr ""
-#: config/tc-aarch64.c:9290
+#: config/tc-aarch64.c:9292
#, c-format
msgid "missing abi name `%s'"
msgstr ""
-#: config/tc-aarch64.c:9301
+#: config/tc-aarch64.c:9303
#, c-format
msgid "unknown abi `%s'\n"
msgstr ""
-#: config/tc-aarch64.c:9307
+#: config/tc-aarch64.c:9309
msgid "<abi name>\t specify for ABI <abi name>"
msgstr ""
-#: config/tc-aarch64.c:9310 config/tc-arm.c:31945 config/tc-metag.c:5911
+#: config/tc-aarch64.c:9312 config/tc-arm.c:32502 config/tc-metag.c:5911
msgid "<cpu name>\t assemble for CPU <cpu name>"
msgstr ""
-#: config/tc-aarch64.c:9312 config/tc-arm.c:31947
+#: config/tc-aarch64.c:9314 config/tc-arm.c:32504
msgid "<arch name>\t assemble for architecture <arch name>"
msgstr ""
-#: config/tc-aarch64.c:9351 config/tc-aarch64.c:9371 config/tc-arm.c:32015
-#: config/tc-arm.c:32033 config/tc-arm.c:32053 config/tc-metag.c:5936
+#: config/tc-aarch64.c:9353 config/tc-aarch64.c:9373 config/tc-arm.c:32572
+#: config/tc-arm.c:32590 config/tc-arm.c:32610 config/tc-metag.c:5936
#, c-format
msgid "option `-%c%s' is deprecated: %s"
msgstr ""
-#: config/tc-aarch64.c:9391
+#: config/tc-aarch64.c:9393
#, c-format
msgid " AArch64-specific assembler options:\n"
msgstr ""
-#: config/tc-aarch64.c:9402 config/tc-arc.c:3583 config/tc-arm.c:32084
+#: config/tc-aarch64.c:9404 config/tc-arc.c:3583 config/tc-arm.c:32641
#, c-format
msgid " -EB assemble code for a big-endian cpu\n"
msgstr ""
-#: config/tc-aarch64.c:9407 config/tc-arc.c:3585 config/tc-arm.c:32089
+#: config/tc-aarch64.c:9409 config/tc-arc.c:3585 config/tc-arm.c:32646
#, c-format
msgid " -EL assemble code for a little-endian cpu\n"
msgstr ""
@@ -2340,7 +2381,7 @@ msgid "sequence number in use for !tlsgd!%ld"
msgstr ""
#: config/tc-alpha.c:1994 config/tc-arc.c:2850 config/tc-mn10200.c:854
-#: config/tc-mn10300.c:1150 config/tc-ppc.c:2079 config/tc-s390.c:676
+#: config/tc-mn10300.c:1150 config/tc-ppc.c:2089 config/tc-s390.c:676
#: config/tc-tilegx.c:426 config/tc-tilegx.c:476 config/tc-tilepro.c:382
msgid "operand"
msgstr ""
@@ -2357,8 +2398,8 @@ msgstr ""
msgid "can not resolve expression"
msgstr ""
-#: config/tc-alpha.c:3514 config/tc-microblaze.c:204 config/tc-ppc.c:2414
-#: config/tc-ppc.c:6006
+#: config/tc-alpha.c:3514 config/tc-microblaze.c:204 config/tc-ppc.c:2424
+#: config/tc-ppc.c:6019
#, c-format
msgid ".COMMon length (%ld.) <0! Ignored."
msgstr ""
@@ -2397,7 +2438,7 @@ msgstr ""
msgid ".fmask outside of .ent"
msgstr ""
-#: config/tc-alpha.c:3831 config/tc-score.c:5594 ecoff.c:3209
+#: config/tc-alpha.c:3831 config/tc-score.c:5596 ecoff.c:3209
msgid ".mask outside of .ent"
msgstr ""
@@ -2409,12 +2450,12 @@ msgstr ""
msgid "bad .mask directive"
msgstr ""
-#: config/tc-alpha.c:3874 config/tc-mips.c:19896 config/tc-score.c:5735
+#: config/tc-alpha.c:3874 config/tc-mips.c:19935 config/tc-score.c:5730
#: ecoff.c:3173
msgid ".frame outside of .ent"
msgstr ""
-#: config/tc-alpha.c:3885 config/tc-mips.c:19907 ecoff.c:3184
+#: config/tc-alpha.c:3885 config/tc-mips.c:19946 ecoff.c:3184
msgid "bad .frame directive"
msgstr ""
@@ -2517,7 +2558,7 @@ msgstr ""
msgid "No symbol after .code_address"
msgstr ""
-#: config/tc-alpha.c:4771 config/tc-score.c:5600
+#: config/tc-alpha.c:4771 config/tc-score.c:5602
msgid "Bad .mask directive"
msgstr ""
@@ -2580,8 +2621,8 @@ msgid "internal error: can't hash macro `%s': %s"
msgstr ""
#: config/tc-alpha.c:5551 config/tc-arc.c:2503 config/tc-arc.c:2517
-#: config/tc-arm.c:872 config/tc-xtensa.c:5445 config/tc-xtensa.c:5521
-#: config/tc-xtensa.c:5638 config/tc-z80.c:3286
+#: config/tc-arm.c:896 config/tc-xtensa.c:5465 config/tc-xtensa.c:5541
+#: config/tc-xtensa.c:5658 config/tc-z80.c:3626
msgid "syntax error"
msgstr ""
@@ -2630,7 +2671,7 @@ msgstr ""
#: config/tc-alpha.c:6242 config/tc-arc.c:3261 config/tc-csky.c:5152
#: config/tc-tilegx.c:1749 config/tc-tilepro.c:1529 config/tc-wasm32.c:813
-#: config/tc-xtensa.c:6142
+#: config/tc-xtensa.c:6168
#, c-format
msgid "cannot represent `%s' relocation in object file"
msgstr ""
@@ -2680,8 +2721,8 @@ msgstr ""
msgid "unknown architecture: %s\n"
msgstr ""
-#: config/tc-arc.c:898 config/tc-ia64.c:7490 config/tc-riscv.c:762
-#: config/tc-riscv.c:3205 config/tc-tilegx.c:262
+#: config/tc-arc.c:898 config/tc-ia64.c:7490 config/tc-riscv.c:1091
+#: config/tc-riscv.c:3705 config/tc-tilegx.c:262
msgid "Could not set architecture and machine"
msgstr ""
@@ -2713,16 +2754,16 @@ msgstr ""
msgid "Brackets in operand field incorrect"
msgstr ""
-#: config/tc-arc.c:1340 config/tc-xtensa.c:2058
+#: config/tc-arc.c:1340 config/tc-xtensa.c:2064
msgid "extra comma"
msgstr ""
#: config/tc-arc.c:1342 config/tc-pru.c:1450 config/tc-pru.c:1719
-#: config/tc-xtensa.c:2062
+#: config/tc-xtensa.c:2068
msgid "missing argument"
msgstr ""
-#: config/tc-arc.c:1344 config/tc-xtensa.c:2064
+#: config/tc-arc.c:1344 config/tc-xtensa.c:2070
msgid "missing comma or colon"
msgstr ""
@@ -2777,7 +2818,7 @@ msgstr ""
#: config/tc-h8300.c:117 config/tc-h8300.c:128 config/tc-h8300.c:243
#: config/tc-hppa.c:6821 config/tc-hppa.c:6827 config/tc-hppa.c:6833
#: config/tc-hppa.c:6839 config/tc-hppa.c:8227 config/tc-lm32.c:197
-#: config/tc-mips.c:3691 config/tc-mips.c:4199 config/tc-mn10300.c:935
+#: config/tc-mips.c:3694 config/tc-mips.c:4202 config/tc-mn10300.c:935
#: config/tc-mn10300.c:940 config/tc-mn10300.c:2440 config/tc-xc16x.c:79
#: config/tc-xc16x.c:86 config/tc-xc16x.c:93
msgid "could not set architecture and machine"
@@ -2913,7 +2954,7 @@ msgid "Insn %s has an instruction %s with limm in its delay slot."
msgstr ""
#: config/tc-arc.c:4279 config/tc-microblaze.c:2554 config/tc-mn10300.c:1069
-#: config/tc-sh.c:418 config/tc-z80.c:1040 read.c:4577
+#: config/tc-sh.c:418 config/tc-z80.c:1101 read.c:4578
#, c-format
msgid "unsupported BFD relocation size %u"
msgstr ""
@@ -3021,935 +3062,947 @@ msgstr ""
msgid "Overwrite explicitly set Tag_ARC_ABI_rf16 to full register file"
msgstr ""
-#: config/tc-arm.c:684
+#: config/tc-arm.c:708
msgid "ARM register expected"
msgstr ""
-#: config/tc-arm.c:685
+#: config/tc-arm.c:709
msgid "bad or missing co-processor number"
msgstr ""
-#: config/tc-arm.c:686
+#: config/tc-arm.c:710
msgid "co-processor register expected"
msgstr ""
-#: config/tc-arm.c:687
+#: config/tc-arm.c:711
msgid "FPA register expected"
msgstr ""
-#: config/tc-arm.c:688
+#: config/tc-arm.c:712
msgid "VFP single precision register expected"
msgstr ""
-#: config/tc-arm.c:689
+#: config/tc-arm.c:713
msgid "VFP/Neon double precision register expected"
msgstr ""
-#: config/tc-arm.c:690
+#: config/tc-arm.c:714
msgid "Neon quad precision register expected"
msgstr ""
-#: config/tc-arm.c:691
+#: config/tc-arm.c:715
msgid "VFP single or double precision register expected"
msgstr ""
-#: config/tc-arm.c:692
+#: config/tc-arm.c:716
msgid "Neon double or quad precision register expected"
msgstr ""
-#: config/tc-arm.c:693
+#: config/tc-arm.c:717
msgid "Neon single or double precision register expected"
msgstr ""
-#: config/tc-arm.c:694
+#: config/tc-arm.c:718
msgid "VFP single, double or Neon quad precision register expected"
msgstr ""
-#: config/tc-arm.c:696
+#: config/tc-arm.c:720
msgid "VFP system register expected"
msgstr ""
-#: config/tc-arm.c:697
+#: config/tc-arm.c:721
msgid "Maverick MVF register expected"
msgstr ""
-#: config/tc-arm.c:698
+#: config/tc-arm.c:722
msgid "Maverick MVD register expected"
msgstr ""
-#: config/tc-arm.c:699
+#: config/tc-arm.c:723
msgid "Maverick MVFX register expected"
msgstr ""
-#: config/tc-arm.c:700
+#: config/tc-arm.c:724
msgid "Maverick MVDX register expected"
msgstr ""
-#: config/tc-arm.c:701
+#: config/tc-arm.c:725
msgid "Maverick MVAX register expected"
msgstr ""
-#: config/tc-arm.c:702
+#: config/tc-arm.c:726
msgid "Maverick DSPSC register expected"
msgstr ""
-#: config/tc-arm.c:703
+#: config/tc-arm.c:727
msgid "iWMMXt data register expected"
msgstr ""
-#: config/tc-arm.c:704 config/tc-arm.c:7793
+#: config/tc-arm.c:728 config/tc-arm.c:7842
msgid "iWMMXt control register expected"
msgstr ""
-#: config/tc-arm.c:705
+#: config/tc-arm.c:729
msgid "iWMMXt scalar register expected"
msgstr ""
-#: config/tc-arm.c:706
+#: config/tc-arm.c:730
msgid "XScale accumulator register expected"
msgstr ""
-#: config/tc-arm.c:707
+#: config/tc-arm.c:731
msgid "MVE vector register expected"
msgstr ""
#. For score5u : div/mul will pop warning message, mmu/alw/asw will pop error message.
-#: config/tc-arm.c:873 config/tc-score.c:259
+#: config/tc-arm.c:897 config/tc-score.c:259
msgid "bad arguments to instruction"
msgstr ""
-#: config/tc-arm.c:874
+#: config/tc-arm.c:898
msgid "r13 not allowed here"
msgstr ""
-#: config/tc-arm.c:875
+#: config/tc-arm.c:899
msgid "r15 not allowed here"
msgstr ""
-#: config/tc-arm.c:876
+#: config/tc-arm.c:900
msgid "Odd register not allowed here"
msgstr ""
-#: config/tc-arm.c:877
+#: config/tc-arm.c:901
msgid "Even register not allowed here"
msgstr ""
-#: config/tc-arm.c:878
+#: config/tc-arm.c:902
msgid "instruction cannot be conditional"
msgstr ""
-#: config/tc-arm.c:879
+#: config/tc-arm.c:903
msgid "registers may not be the same"
msgstr ""
-#: config/tc-arm.c:880
+#: config/tc-arm.c:904
msgid "lo register required"
msgstr ""
-#: config/tc-arm.c:881
+#: config/tc-arm.c:905
msgid "instruction not supported in Thumb16 mode"
msgstr ""
-#: config/tc-arm.c:882
+#: config/tc-arm.c:906
msgid "instruction does not accept this addressing mode"
msgstr ""
-#: config/tc-arm.c:883
+#: config/tc-arm.c:907
msgid "branch must be last instruction in IT block"
msgstr ""
-#: config/tc-arm.c:884
+#: config/tc-arm.c:908
msgid "branch out of range or not a multiple of 2"
msgstr ""
-#: config/tc-arm.c:885
+#: config/tc-arm.c:909
+msgid "instruction not allowed in VPT block"
+msgstr ""
+
+#: config/tc-arm.c:910
msgid "instruction not allowed in IT block"
msgstr ""
-#: config/tc-arm.c:886
+#: config/tc-arm.c:911
msgid "instruction missing MVE vector predication code"
msgstr ""
-#: config/tc-arm.c:887
+#: config/tc-arm.c:912
msgid "selected FPU does not support instruction"
msgstr ""
-#: config/tc-arm.c:888
+#: config/tc-arm.c:913
msgid "thumb conditional instruction should be in IT block"
msgstr ""
-#: config/tc-arm.c:890
+#: config/tc-arm.c:915
msgid "vector predicated instruction should be in VPT/VPST block"
msgstr ""
-#: config/tc-arm.c:891
+#: config/tc-arm.c:916
msgid "incorrect condition in IT block"
msgstr ""
-#: config/tc-arm.c:892
+#: config/tc-arm.c:917
msgid "incorrect condition in VPT/VPST block"
msgstr ""
-#: config/tc-arm.c:893
+#: config/tc-arm.c:918
msgid "IT falling in the range of a previous IT block"
msgstr ""
-#: config/tc-arm.c:894
+#: config/tc-arm.c:919
msgid "missing .fnstart before unwinding directive"
msgstr ""
-#: config/tc-arm.c:896
+#: config/tc-arm.c:921
msgid "cannot use register index with PC-relative addressing"
msgstr ""
-#: config/tc-arm.c:898
+#: config/tc-arm.c:923
msgid "cannot use writeback with PC-relative addressing"
msgstr ""
-#: config/tc-arm.c:900
+#: config/tc-arm.c:925
msgid "selected processor does not support fp16 instruction"
msgstr ""
-#: config/tc-arm.c:901
+#: config/tc-arm.c:926
msgid "selected processor does not support bf16 instruction"
msgstr ""
-#: config/tc-arm.c:902
+#: config/tc-arm.c:927
+msgid "selected processor does not support cde instruction"
+msgstr ""
+
+#: config/tc-arm.c:928
+msgid "coprocessor for insn is not enabled for cde"
+msgstr ""
+
+#: config/tc-arm.c:929
msgid "using "
msgstr ""
-#: config/tc-arm.c:903
+#: config/tc-arm.c:930
msgid "relocation valid in thumb1 code only"
msgstr ""
-#: config/tc-arm.c:904
+#: config/tc-arm.c:931
msgid "Warning: instruction is UNPREDICTABLE in an IT block"
msgstr ""
-#: config/tc-arm.c:906
+#: config/tc-arm.c:933
msgid "Warning: instruction is UNPREDICTABLE in a VPT block"
msgstr ""
-#: config/tc-arm.c:908
+#: config/tc-arm.c:935
msgid "Warning: instruction is UNPREDICTABLE with PC operand"
msgstr ""
-#: config/tc-arm.c:910
+#: config/tc-arm.c:937
msgid "Warning: instruction is UNPREDICTABLE with SP operand"
msgstr ""
-#: config/tc-arm.c:912
+#: config/tc-arm.c:939
msgid "bad type in SIMD instruction"
msgstr ""
-#: config/tc-arm.c:914
+#: config/tc-arm.c:941
msgid ""
"GAS auto-detection mode and -march=all is deprecated for MVE, please use a "
"valid -march or -mcpu option."
msgstr ""
-#: config/tc-arm.c:916
+#: config/tc-arm.c:943
msgid ""
"Warning: 32-bit element size and same destination and source operands makes "
"instruction UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:918
+#: config/tc-arm.c:945
msgid "bad element type for instruction"
msgstr ""
-#: config/tc-arm.c:919
+#: config/tc-arm.c:946
msgid "MVE vector register Q[0..7] expected"
msgstr ""
-#: config/tc-arm.c:1139
+#: config/tc-arm.c:1166
msgid "immediate expression requires a # prefix"
msgstr ""
-#: config/tc-arm.c:1168 read.c:3800
+#: config/tc-arm.c:1195 read.c:3801
msgid "missing expression"
msgstr ""
-#: config/tc-arm.c:1182 config/tc-arm.c:5649 config/tc-score.c:1209
+#: config/tc-arm.c:1209 config/tc-arm.c:5676 config/tc-score.c:1209
msgid "invalid constant"
msgstr ""
-#: config/tc-arm.c:1360
+#: config/tc-arm.c:1387
msgid "expected #constant"
msgstr ""
-#: config/tc-arm.c:1532 config/tc-arm.c:1563
+#: config/tc-arm.c:1559 config/tc-arm.c:1590
#, c-format
msgid "bad size %d in type specifier"
msgstr ""
-#: config/tc-arm.c:1539
+#: config/tc-arm.c:1566
msgid "unexpected type character `b' -- did you mean `bf'?"
msgstr ""
-#: config/tc-arm.c:1546
+#: config/tc-arm.c:1573
#, c-format
msgid "unexpected character `%c' in type specifier"
msgstr ""
-#: config/tc-arm.c:1613
+#: config/tc-arm.c:1640
msgid "only one type should be specified for operand"
msgstr ""
-#: config/tc-arm.c:1619
+#: config/tc-arm.c:1646
msgid "vector type expected"
msgstr ""
-#: config/tc-arm.c:1728
+#: config/tc-arm.c:1755
msgid "expected MVE register [q0..q7]"
msgstr ""
-#: config/tc-arm.c:1748
+#: config/tc-arm.c:1775
msgid "can't redefine type for operand"
msgstr ""
-#: config/tc-arm.c:1764
+#: config/tc-arm.c:1791
msgid "only D and Q registers may be indexed"
msgstr ""
-#: config/tc-arm.c:1766
+#: config/tc-arm.c:1793
msgid "only D registers may be indexed"
msgstr ""
-#: config/tc-arm.c:1772
+#: config/tc-arm.c:1799
msgid "can't change index for operand"
msgstr ""
-#: config/tc-arm.c:1835
+#: config/tc-arm.c:1862
msgid "register operand expected, but got scalar"
msgstr ""
-#: config/tc-arm.c:1886
+#: config/tc-arm.c:1913
msgid "scalar must have an index"
msgstr ""
-#: config/tc-arm.c:1891 config/tc-arm.c:20150 config/tc-arm.c:20233
-#: config/tc-arm.c:20898
+#: config/tc-arm.c:1918 config/tc-arm.c:20209 config/tc-arm.c:20292
+#: config/tc-arm.c:20957
msgid "scalar index out of range"
msgstr ""
-#: config/tc-arm.c:1961
+#: config/tc-arm.c:1988
msgid "r0-r12, lr or APSR expected"
msgstr ""
-#: config/tc-arm.c:1980
+#: config/tc-arm.c:2007
msgid "bad range in register list"
msgstr ""
-#: config/tc-arm.c:1988 config/tc-arm.c:1997 config/tc-arm.c:2038
+#: config/tc-arm.c:2015 config/tc-arm.c:2024 config/tc-arm.c:2065
#, c-format
msgid "Warning: duplicated register (r%d) in register list"
msgstr ""
-#: config/tc-arm.c:2000
+#: config/tc-arm.c:2027
msgid "Warning: register range not in ascending order"
msgstr ""
-#: config/tc-arm.c:2011
+#: config/tc-arm.c:2038
msgid "missing `}'"
msgstr ""
-#: config/tc-arm.c:2027
+#: config/tc-arm.c:2054
msgid "invalid register mask"
msgstr ""
-#: config/tc-arm.c:2171 config/tc-arm.c:2279
+#: config/tc-arm.c:2198 config/tc-arm.c:2306
msgid "VPR expected last"
msgstr ""
-#: config/tc-arm.c:2177
+#: config/tc-arm.c:2204
msgid "VFP single precision register or VPR expected"
msgstr ""
#. regtype == REG_TYPE_VFD.
-#: config/tc-arm.c:2180
+#: config/tc-arm.c:2207
msgid "VFP/Neon double precision register or VPR expected"
msgstr ""
-#: config/tc-arm.c:2197 config/tc-arm.c:2241
+#: config/tc-arm.c:2224 config/tc-arm.c:2268
msgid "register out of range in list"
msgstr ""
-#: config/tc-arm.c:2219 config/tc-arm.c:4518 config/tc-arm.c:4652
+#: config/tc-arm.c:2246 config/tc-arm.c:4545 config/tc-arm.c:4679
msgid "register list not in ascending order"
msgstr ""
-#: config/tc-arm.c:2250
+#: config/tc-arm.c:2277
msgid "register range not in ascending order"
msgstr ""
-#: config/tc-arm.c:2289
+#: config/tc-arm.c:2316
msgid "non-contiguous register range"
msgstr ""
-#: config/tc-arm.c:2349
+#: config/tc-arm.c:2376
msgid "register stride must be 1"
msgstr ""
-#: config/tc-arm.c:2350
+#: config/tc-arm.c:2377
msgid "register stride must be 1 or 2"
msgstr ""
-#: config/tc-arm.c:2351
+#: config/tc-arm.c:2378
msgid "mismatched element/structure types in list"
msgstr ""
-#: config/tc-arm.c:2421
+#: config/tc-arm.c:2448
msgid "don't use Rn-Rm syntax with non-unit stride"
msgstr ""
-#: config/tc-arm.c:2476
+#: config/tc-arm.c:2503
msgid "error parsing element/structure list"
msgstr ""
-#: config/tc-arm.c:2482
+#: config/tc-arm.c:2509
msgid "expected }"
msgstr ""
-#: config/tc-arm.c:2573
+#: config/tc-arm.c:2600
msgid "attempt to redefine typed alias"
msgstr ""
-#: config/tc-arm.c:2708
+#: config/tc-arm.c:2735
msgid "bad type for register"
msgstr ""
-#: config/tc-arm.c:2719 config/tc-nios2.c:1802
+#: config/tc-arm.c:2746 config/tc-nios2.c:1802
msgid "expression must be constant"
msgstr ""
-#: config/tc-arm.c:2736
+#: config/tc-arm.c:2763
msgid "can't redefine the type of a register alias"
msgstr ""
-#: config/tc-arm.c:2743
+#: config/tc-arm.c:2770
msgid "you must specify a single type only"
msgstr ""
-#: config/tc-arm.c:2756
+#: config/tc-arm.c:2783
msgid "can't redefine the index of a scalar alias"
msgstr ""
-#: config/tc-arm.c:2764
+#: config/tc-arm.c:2791
msgid "scalar index must be constant"
msgstr ""
-#: config/tc-arm.c:2773
+#: config/tc-arm.c:2800
msgid "expecting ]"
msgstr ""
-#: config/tc-arm.c:2825
+#: config/tc-arm.c:2852
msgid "invalid syntax for .dn directive"
msgstr ""
-#: config/tc-arm.c:2831
+#: config/tc-arm.c:2858
msgid "invalid syntax for .qn directive"
msgstr ""
-#: config/tc-arm.c:2866
+#: config/tc-arm.c:2893
#, c-format
msgid "ignoring attempt to use .unreq on fixed register name: '%s'"
msgstr ""
-#: config/tc-arm.c:3131
+#: config/tc-arm.c:3158
#, c-format
msgid "Failed to find real start of function: %s\n"
msgstr ""
-#: config/tc-arm.c:3148
+#: config/tc-arm.c:3175
msgid "selected processor does not support THUMB opcodes"
msgstr ""
-#: config/tc-arm.c:3161
+#: config/tc-arm.c:3188
msgid "selected processor does not support ARM opcodes"
msgstr ""
-#: config/tc-arm.c:3173
+#: config/tc-arm.c:3200
#, c-format
msgid "invalid instruction size selected (%d)"
msgstr ""
-#: config/tc-arm.c:3205
+#: config/tc-arm.c:3232
#, c-format
msgid "invalid operand to .code directive (%d) (expecting 16 or 32)"
msgstr ""
-#: config/tc-arm.c:3260
+#: config/tc-arm.c:3287
#, c-format
msgid "expected comma after name \"%s\""
msgstr ""
-#: config/tc-arm.c:3310 config/tc-m32r.c:584
+#: config/tc-arm.c:3337 config/tc-m32r.c:584
#, c-format
msgid "symbol `%s' already defined"
msgstr ""
-#: config/tc-arm.c:3343
+#: config/tc-arm.c:3370
#, c-format
msgid "unrecognized syntax mode \"%s\""
msgstr ""
-#: config/tc-arm.c:3386
+#: config/tc-arm.c:3413
msgid ".ref pseudo-op only available with -mccs flag."
msgstr ""
-#: config/tc-arm.c:3427
+#: config/tc-arm.c:3454
msgid ".asmfunc repeated."
msgstr ""
-#: config/tc-arm.c:3431
+#: config/tc-arm.c:3458
msgid ".asmfunc without function."
msgstr ""
-#: config/tc-arm.c:3437
+#: config/tc-arm.c:3464
msgid ".asmfunc pseudo-op only available with -mccs flag."
msgstr ""
-#: config/tc-arm.c:3448
+#: config/tc-arm.c:3475
msgid ".endasmfunc without a .asmfunc."
msgstr ""
-#: config/tc-arm.c:3452
+#: config/tc-arm.c:3479
msgid ".endasmfunc without function."
msgstr ""
-#: config/tc-arm.c:3463
+#: config/tc-arm.c:3490
msgid ".endasmfunc pseudo-op only available with -mccs flag."
msgstr ""
-#: config/tc-arm.c:3472
+#: config/tc-arm.c:3499
msgid ".def pseudo-op only available with -mccs flag."
msgstr ""
-#: config/tc-arm.c:3630
+#: config/tc-arm.c:3657
msgid "invalid type for literal pool"
msgstr ""
-#: config/tc-arm.c:3710 config/tc-tic54x.c:5354
+#: config/tc-arm.c:3737 config/tc-tic54x.c:5354
#, c-format
msgid "Invalid label '%s'"
msgstr ""
-#: config/tc-arm.c:3886
+#: config/tc-arm.c:3913
msgid "(plt) is only valid on branch targets"
msgstr ""
-#: config/tc-arm.c:3892 config/tc-csky.c:6992 config/tc-s390.c:1210
-#: config/tc-s390.c:1880 config/tc-xtensa.c:1684
+#: config/tc-arm.c:3919 config/tc-csky.c:6992 config/tc-s390.c:1210
+#: config/tc-s390.c:1880 config/tc-xtensa.c:1690
#, c-format
msgid "%s relocations do not fit in %d byte"
msgid_plural "%s relocations do not fit in %d bytes"
msgstr[0] ""
msgstr[1] ""
-#: config/tc-arm.c:3974
+#: config/tc-arm.c:4001
msgid ".inst.n operand too big. Use .inst.w instead"
msgstr ""
-#: config/tc-arm.c:3994
+#: config/tc-arm.c:4021
msgid "cannot determine Thumb instruction size. Use .inst.n/.inst.w instead"
msgstr ""
-#: config/tc-arm.c:4024
+#: config/tc-arm.c:4051
msgid "width suffixes are invalid in ARM mode"
msgstr ""
-#: config/tc-arm.c:4066 dwarf2dbg.c:1033
+#: config/tc-arm.c:4093 dwarf2dbg.c:1303
msgid "expected 0 or 1"
msgstr ""
-#: config/tc-arm.c:4070
+#: config/tc-arm.c:4097
msgid "missing comma"
msgstr ""
-#: config/tc-arm.c:4103
+#: config/tc-arm.c:4130
msgid "duplicate .fnstart directive"
msgstr ""
-#: config/tc-arm.c:4134 config/tc-tic6x.c:412
+#: config/tc-arm.c:4161 config/tc-tic6x.c:412
msgid "duplicate .handlerdata directive"
msgstr ""
-#: config/tc-arm.c:4153
+#: config/tc-arm.c:4180
msgid ".fnend directive without .fnstart"
msgstr ""
-#: config/tc-arm.c:4220 config/tc-tic6x.c:393
+#: config/tc-arm.c:4247 config/tc-tic6x.c:393
msgid "personality routine specified for cantunwind frame"
msgstr ""
-#: config/tc-arm.c:4237 config/tc-tic6x.c:454
+#: config/tc-arm.c:4264 config/tc-tic6x.c:454
msgid "duplicate .personalityindex directive"
msgstr ""
-#: config/tc-arm.c:4244 config/tc-tic6x.c:461
+#: config/tc-arm.c:4271 config/tc-tic6x.c:461
msgid "bad personality routine number"
msgstr ""
-#: config/tc-arm.c:4266 config/tc-tic6x.c:478
+#: config/tc-arm.c:4293 config/tc-tic6x.c:478
msgid "duplicate .personality directive"
msgstr ""
-#: config/tc-arm.c:4290 config/tc-arm.c:4420 config/tc-arm.c:4470
+#: config/tc-arm.c:4317 config/tc-arm.c:4447 config/tc-arm.c:4497
msgid "expected register list"
msgstr ""
-#: config/tc-arm.c:4372
+#: config/tc-arm.c:4399
msgid "expected , <constant>"
msgstr ""
-#: config/tc-arm.c:4381
+#: config/tc-arm.c:4408
msgid "number of registers must be in the range [1:4]"
msgstr ""
-#: config/tc-arm.c:4532 config/tc-arm.c:4666
+#: config/tc-arm.c:4559 config/tc-arm.c:4693
msgid "bad register range"
msgstr ""
-#: config/tc-arm.c:4732
+#: config/tc-arm.c:4759
msgid "FPA .unwind_save does not take a register list"
msgstr ""
-#: config/tc-arm.c:4760
+#: config/tc-arm.c:4787
msgid ".unwind_save does not support this kind of register"
msgstr ""
-#: config/tc-arm.c:4799
+#: config/tc-arm.c:4826
msgid "SP and PC not permitted in .unwind_movsp directive"
msgstr ""
-#: config/tc-arm.c:4804
+#: config/tc-arm.c:4831
msgid "unexpected .unwind_movsp directive"
msgstr ""
-#: config/tc-arm.c:4831
+#: config/tc-arm.c:4858
msgid "stack increment must be multiple of 4"
msgstr ""
-#: config/tc-arm.c:4863
+#: config/tc-arm.c:4890
msgid "expected <reg>, <reg>"
msgstr ""
-#: config/tc-arm.c:4881
+#: config/tc-arm.c:4908
msgid "register must be either sp or set by a previousunwind_movsp directive"
msgstr ""
-#: config/tc-arm.c:4920
+#: config/tc-arm.c:4947
msgid "expected <offset>, <opcode>"
msgstr ""
-#: config/tc-arm.c:4932
+#: config/tc-arm.c:4959
msgid "unwind opcode too long"
msgstr ""
-#: config/tc-arm.c:4937
+#: config/tc-arm.c:4964
msgid "invalid unwind opcode"
msgstr ""
-#: config/tc-arm.c:5052 config/tc-arm.c:31762
+#: config/tc-arm.c:5079 config/tc-arm.c:32319
#, c-format
msgid "unrecognised float16 format \"%s\""
msgstr ""
-#: config/tc-arm.c:5063
+#: config/tc-arm.c:5090
msgid "float16 format cannot be set more than once, ignoring."
msgstr ""
-#: config/tc-arm.c:5178 config/tc-arm.c:6252 config/tc-arm.c:11606
-#: config/tc-arm.c:12139 config/tc-arm.c:14259 config/tc-arm.c:16192
-#: config/tc-arm.c:16227 config/tc-arm.c:17155 config/tc-arm.c:19082
-#: config/tc-arm.c:19090 config/tc-arm.c:19097 config/tc-arm.c:20739
-#: config/tc-arm.c:28846 config/tc-arm.c:28910 config/tc-arm.c:28918
+#: config/tc-arm.c:5205 config/tc-arm.c:6279 config/tc-arm.c:11655
+#: config/tc-arm.c:12188 config/tc-arm.c:14308 config/tc-arm.c:16259
+#: config/tc-arm.c:16294 config/tc-arm.c:17222 config/tc-arm.c:19143
+#: config/tc-arm.c:19151 config/tc-arm.c:19158 config/tc-arm.c:20798
+#: config/tc-arm.c:29387 config/tc-arm.c:29451 config/tc-arm.c:29459
#: config/tc-metag.c:5176 config/tc-z8k.c:1151 config/tc-z8k.c:1161
msgid "immediate value out of range"
msgstr ""
-#: config/tc-arm.c:5348
+#: config/tc-arm.c:5375
msgid "invalid FPA immediate expression"
msgstr ""
-#: config/tc-arm.c:5533
+#: config/tc-arm.c:5560
msgid "'UXTW' not allowed here"
msgstr ""
-#: config/tc-arm.c:5541
+#: config/tc-arm.c:5568
msgid "'LSL' or 'ASR' required"
msgstr ""
-#: config/tc-arm.c:5549
+#: config/tc-arm.c:5576
msgid "'LSL' required"
msgstr ""
-#: config/tc-arm.c:5557
+#: config/tc-arm.c:5584
msgid "'ASR' required"
msgstr ""
-#: config/tc-arm.c:5564
+#: config/tc-arm.c:5591
msgid "'UXTW' required"
msgstr ""
-#: config/tc-arm.c:5643
+#: config/tc-arm.c:5670
msgid "invalid rotation"
msgstr ""
-#: config/tc-arm.c:5825 config/tc-arm.c:6030
+#: config/tc-arm.c:5852 config/tc-arm.c:6057
msgid "unknown group relocation"
msgstr ""
-#: config/tc-arm.c:5861
+#: config/tc-arm.c:5888
msgid "alignment must be constant"
msgstr ""
-#: config/tc-arm.c:6064
+#: config/tc-arm.c:6091
msgid "this group relocation is not allowed on this instruction"
msgstr ""
-#: config/tc-arm.c:6120
+#: config/tc-arm.c:6147
msgid "'}' expected at end of 'option' field"
msgstr ""
-#: config/tc-arm.c:6125
+#: config/tc-arm.c:6152
msgid "cannot combine index with option"
msgstr ""
-#: config/tc-arm.c:6390
+#: config/tc-arm.c:6417
msgid "unexpected bit specified after APSR"
msgstr ""
-#: config/tc-arm.c:6402
+#: config/tc-arm.c:6429
msgid "selected processor does not support DSP extension"
msgstr ""
-#: config/tc-arm.c:6414
+#: config/tc-arm.c:6441
msgid "bad bitmask specified after APSR"
msgstr ""
-#: config/tc-arm.c:6438
+#: config/tc-arm.c:6465
msgid "writing to APSR without specifying a bitmask is deprecated"
msgstr ""
-#: config/tc-arm.c:6450 config/tc-arm.c:13362 config/tc-arm.c:13407
-#: config/tc-arm.c:13411
+#: config/tc-arm.c:6477 config/tc-arm.c:13411 config/tc-arm.c:13456
+#: config/tc-arm.c:13460
msgid "selected processor does not support requested special purpose register"
msgstr ""
-#: config/tc-arm.c:6455
+#: config/tc-arm.c:6482
msgid "flag for {c}psr instruction expected"
msgstr ""
-#: config/tc-arm.c:6513
+#: config/tc-arm.c:6540
msgid "unrecognized CPS flag"
msgstr ""
-#: config/tc-arm.c:6520
+#: config/tc-arm.c:6547
msgid "missing CPS flags"
msgstr ""
-#: config/tc-arm.c:6543 config/tc-arm.c:6549
+#: config/tc-arm.c:6570 config/tc-arm.c:6576
msgid "valid endian specifiers are be or le"
msgstr ""
-#: config/tc-arm.c:6571
+#: config/tc-arm.c:6598
msgid "missing rotation field after comma"
msgstr ""
-#: config/tc-arm.c:6586
+#: config/tc-arm.c:6613
msgid "rotation can only be 0, 8, 16, or 24"
msgstr ""
-#: config/tc-arm.c:6615
+#: config/tc-arm.c:6642
msgid "condition required"
msgstr ""
-#: config/tc-arm.c:6657 config/tc-arm.c:9775
+#: config/tc-arm.c:6684 config/tc-arm.c:9824
msgid "'[' expected"
msgstr ""
-#: config/tc-arm.c:6670
+#: config/tc-arm.c:6697
msgid "',' expected"
msgstr ""
-#: config/tc-arm.c:6687
+#: config/tc-arm.c:6714
msgid "invalid shift"
msgstr ""
-#: config/tc-arm.c:6767
+#: config/tc-arm.c:6794
msgid "expected ARM or MVE vector register"
msgstr ""
-#: config/tc-arm.c:6816
+#: config/tc-arm.c:6843
msgid "can't use Neon quad register here"
msgstr ""
-#: config/tc-arm.c:6885
+#: config/tc-arm.c:6912
msgid "expected <Rm> or <Dm> or <Qm> operand"
msgstr ""
-#: config/tc-arm.c:6985
+#: config/tc-arm.c:7012
msgid "VFP single, double or MVE vector register expected"
msgstr ""
-#: config/tc-arm.c:7005
+#: config/tc-arm.c:7032
msgid "parse error"
msgstr ""
-#: config/tc-arm.c:7299
+#: config/tc-arm.c:7334
msgid "immediate value 48 or 64 expected"
msgstr ""
#. ISB can only take SY as an option.
-#: config/tc-arm.c:7348
+#: config/tc-arm.c:7383
msgid "invalid barrier type"
msgstr ""
-#: config/tc-arm.c:7511
+#: config/tc-arm.c:7557
msgid "only floating point zero is allowed as immediate value"
msgstr ""
-#: config/tc-arm.c:7606
+#: config/tc-arm.c:7652
msgid "immediate value is out of range"
msgstr ""
-#: config/tc-arm.c:7778
+#: config/tc-arm.c:7827
msgid "iWMMXt data or control register expected"
msgstr ""
-#: config/tc-arm.c:7819
+#: config/tc-arm.c:7868
msgid "Banked registers are not available with this architecture."
msgstr ""
-#: config/tc-arm.c:8067
+#: config/tc-arm.c:8116
msgid "operand must be LR register"
msgstr ""
-#: config/tc-arm.c:8138 config/tc-score.c:264
+#: config/tc-arm.c:8187 config/tc-score.c:264
msgid "garbage following instruction"
msgstr ""
#. If REG is R13 (the stack pointer), warn that its use is
#. deprecated.
-#: config/tc-arm.c:8188
+#: config/tc-arm.c:8237
msgid "use of r13 is deprecated"
msgstr ""
-#: config/tc-arm.c:8206 config/tc-arm.c:20447
+#: config/tc-arm.c:8255 config/tc-arm.c:20506
msgid ""
"ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is "
"UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:8281
+#: config/tc-arm.c:8330
msgid "D register out of range for selected VFP version"
msgstr ""
-#: config/tc-arm.c:8378 config/tc-arm.c:11301
+#: config/tc-arm.c:8427 config/tc-arm.c:11350
msgid "Instruction does not support =N addresses"
msgstr ""
-#: config/tc-arm.c:8386
+#: config/tc-arm.c:8435
msgid "instruction does not accept preindexed addressing"
msgstr ""
#. unindexed - only for coprocessor
-#: config/tc-arm.c:8402 config/tc-arm.c:11364
+#: config/tc-arm.c:8451 config/tc-arm.c:11413
msgid "instruction does not accept unindexed addressing"
msgstr ""
-#: config/tc-arm.c:8410
+#: config/tc-arm.c:8459
msgid "destination register same as write-back base"
msgstr ""
-#: config/tc-arm.c:8411
+#: config/tc-arm.c:8460
msgid "source register same as write-back base"
msgstr ""
-#: config/tc-arm.c:8461
+#: config/tc-arm.c:8510
msgid "use of PC in this instruction is deprecated"
msgstr ""
-#: config/tc-arm.c:8484
+#: config/tc-arm.c:8533
msgid "instruction does not accept scaled register index"
msgstr ""
-#: config/tc-arm.c:8789
+#: config/tc-arm.c:8838
msgid "invalid pseudo operation"
msgstr ""
-#: config/tc-arm.c:9032
+#: config/tc-arm.c:9081
msgid "invalid co-processor operand"
msgstr ""
-#: config/tc-arm.c:9048
+#: config/tc-arm.c:9097
msgid "instruction does not support unindexed addressing"
msgstr ""
-#: config/tc-arm.c:9063
+#: config/tc-arm.c:9112
msgid "pc may not be used with write-back"
msgstr ""
-#: config/tc-arm.c:9068
+#: config/tc-arm.c:9117
msgid "instruction does not support writeback"
msgstr ""
-#: config/tc-arm.c:9174
+#: config/tc-arm.c:9223
msgid "Rn must not overlap other operands"
msgstr ""
-#: config/tc-arm.c:9179
+#: config/tc-arm.c:9228
msgid "swp{b} use is obsoleted for ARMv8 and later"
msgstr ""
-#: config/tc-arm.c:9182
+#: config/tc-arm.c:9231
msgid "swp{b} use is deprecated for ARMv6 and ARMv7"
msgstr ""
-#: config/tc-arm.c:9301 config/tc-arm.c:9320 config/tc-arm.c:9333
-#: config/tc-arm.c:11976 config/tc-arm.c:12007 config/tc-arm.c:12029
+#: config/tc-arm.c:9350 config/tc-arm.c:9369 config/tc-arm.c:9382
+#: config/tc-arm.c:12025 config/tc-arm.c:12056 config/tc-arm.c:12078
msgid "bit-field extends past end of register"
msgstr ""
-#: config/tc-arm.c:9363
+#: config/tc-arm.c:9412
msgid "the only valid suffixes here are '(plt)' and '(tlscall)'"
msgstr ""
-#: config/tc-arm.c:9416
+#: config/tc-arm.c:9465
msgid "use of r15 in blx in ARM mode is not really useful"
msgstr ""
-#: config/tc-arm.c:9438
+#: config/tc-arm.c:9487
msgid "use of r15 in bx in ARM mode is not really useful"
msgstr ""
-#: config/tc-arm.c:9464
+#: config/tc-arm.c:9513
msgid "use of r15 in bxj is not really useful"
msgstr ""
-#: config/tc-arm.c:9512
+#: config/tc-arm.c:9561
msgid "This coprocessor register access is deprecated in ARMv8"
msgstr ""
-#: config/tc-arm.c:9720 config/tc-arm.c:9729
+#: config/tc-arm.c:9769 config/tc-arm.c:9778
msgid "writeback of base register is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:9723
+#: config/tc-arm.c:9772
msgid "writeback of base register when in register list is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:9733
+#: config/tc-arm.c:9782
msgid "if writeback register is in list, it must be the lowest reg in the list"
msgstr ""
-#: config/tc-arm.c:9770
+#: config/tc-arm.c:9819
msgid "first transfer register must be even"
msgstr ""
-#: config/tc-arm.c:9773
+#: config/tc-arm.c:9822
msgid "can only transfer two consecutive registers"
msgstr ""
@@ -3957,1359 +4010,1421 @@ msgstr ""
#. have been called in the first place.
#. If op 2 were present and equal to PC, this function wouldn't
#. have been called in the first place.
-#: config/tc-arm.c:9774 config/tc-arm.c:9844 config/tc-arm.c:10575
-#: config/tc-arm.c:12851
+#: config/tc-arm.c:9823 config/tc-arm.c:9893 config/tc-arm.c:10624
+#: config/tc-arm.c:12900
msgid "r14 not allowed here"
msgstr ""
-#: config/tc-arm.c:9786
+#: config/tc-arm.c:9835
msgid "base register written back, and overlaps second transfer register"
msgstr ""
-#: config/tc-arm.c:9796
+#: config/tc-arm.c:9845
msgid "index register overlaps transfer register"
msgstr ""
-#: config/tc-arm.c:9825 config/tc-arm.c:10542
+#: config/tc-arm.c:9874 config/tc-arm.c:10591
msgid "offset must be zero in ARM encoding"
msgstr ""
-#: config/tc-arm.c:9838 config/tc-arm.c:10569
+#: config/tc-arm.c:9887 config/tc-arm.c:10618
msgid "even register required"
msgstr ""
-#: config/tc-arm.c:9841
+#: config/tc-arm.c:9890
msgid "can only load two consecutive registers"
msgstr ""
-#: config/tc-arm.c:9859
+#: config/tc-arm.c:9908
msgid "ldr to register 15 must be 4-byte aligned"
msgstr ""
-#: config/tc-arm.c:9882 config/tc-arm.c:9914
+#: config/tc-arm.c:9931 config/tc-arm.c:9963
msgid "this instruction requires a post-indexed address"
msgstr ""
-#: config/tc-arm.c:9941
+#: config/tc-arm.c:9990
msgid "Rd and Rm should be different in mla"
msgstr ""
-#: config/tc-arm.c:9968 config/tc-arm.c:13226
+#: config/tc-arm.c:10017 config/tc-arm.c:13275
msgid ":lower16: not allowed in this instruction"
msgstr ""
-#: config/tc-arm.c:9970 config/tc-arm.c:13231
+#: config/tc-arm.c:10019 config/tc-arm.c:13280
msgid ":upper16: not allowed in this instruction"
msgstr ""
-#: config/tc-arm.c:9987
+#: config/tc-arm.c:10036
msgid "operand 1 must be FPSCR"
msgstr ""
-#: config/tc-arm.c:10040 config/tc-arm.c:10049 config/tc-arm.c:10103
-#: config/tc-arm.c:10112
+#: config/tc-arm.c:10089 config/tc-arm.c:10098 config/tc-arm.c:10152
+#: config/tc-arm.c:10161
msgid "selected processor does not support instruction"
msgstr ""
-#: config/tc-arm.c:10052 config/tc-arm.c:10115
+#: config/tc-arm.c:10101 config/tc-arm.c:10164
msgid "accessing MVE system register without MVE is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:10143 config/tc-arm.c:13345
+#: config/tc-arm.c:10192 config/tc-arm.c:13394
msgid "bad register for mrs"
msgstr ""
-#: config/tc-arm.c:10150 config/tc-arm.c:13369
+#: config/tc-arm.c:10199 config/tc-arm.c:13418
msgid "'APSR', 'CPSR' or 'SPSR' expected"
msgstr ""
-#: config/tc-arm.c:10191
+#: config/tc-arm.c:10240
msgid "Rd and Rm should be different in mul"
msgstr ""
-#: config/tc-arm.c:10210 config/tc-arm.c:10487 config/tc-arm.c:13508
+#: config/tc-arm.c:10259 config/tc-arm.c:10536 config/tc-arm.c:13557
msgid "rdhi and rdlo must be different"
msgstr ""
-#: config/tc-arm.c:10216
+#: config/tc-arm.c:10265
msgid "rdhi, rdlo and rm must all be different"
msgstr ""
-#: config/tc-arm.c:10282
+#: config/tc-arm.c:10331
msgid "'[' expected after PLD mnemonic"
msgstr ""
-#: config/tc-arm.c:10284 config/tc-arm.c:10299
+#: config/tc-arm.c:10333 config/tc-arm.c:10348
msgid "post-indexed expression used in preload instruction"
msgstr ""
-#: config/tc-arm.c:10286 config/tc-arm.c:10301
+#: config/tc-arm.c:10335 config/tc-arm.c:10350
msgid "writeback used in preload instruction"
msgstr ""
-#: config/tc-arm.c:10288 config/tc-arm.c:10303
+#: config/tc-arm.c:10337 config/tc-arm.c:10352
msgid "unindexed addressing used in preload instruction"
msgstr ""
-#: config/tc-arm.c:10297
+#: config/tc-arm.c:10346
msgid "'[' expected after PLI mnemonic"
msgstr ""
-#: config/tc-arm.c:10312 config/tc-arm.c:13677
+#: config/tc-arm.c:10361 config/tc-arm.c:13726
msgid "push/pop do not support {reglist}^"
msgstr ""
-#: config/tc-arm.c:10390 config/tc-arm.c:13854
+#: config/tc-arm.c:10439 config/tc-arm.c:13903
msgid "setend use is deprecated for ARMv8"
msgstr ""
-#: config/tc-arm.c:10411 config/tc-arm.c:13915 config/tc-arm.c:13947
-#: config/tc-arm.c:13990
+#: config/tc-arm.c:10460 config/tc-arm.c:13964 config/tc-arm.c:13996
+#: config/tc-arm.c:14039
msgid "extraneous shift as part of operand to shift insn"
msgstr ""
-#: config/tc-arm.c:10421 config/tc-arm.c:14053
+#: config/tc-arm.c:10470 config/tc-arm.c:14102
msgid "immediate too large (bigger than 0xF)"
msgstr ""
-#: config/tc-arm.c:10445 config/tc-arm.c:10454
+#: config/tc-arm.c:10494 config/tc-arm.c:10503
msgid "selected processor does not support SETPAN instruction"
msgstr ""
-#: config/tc-arm.c:10513
+#: config/tc-arm.c:10562
msgid "SRS base register must be r13"
msgstr ""
-#: config/tc-arm.c:10572
+#: config/tc-arm.c:10621
msgid "can only store two consecutive registers"
msgstr ""
-#: config/tc-arm.c:10694 config/tc-arm.c:10715
+#: config/tc-arm.c:10743 config/tc-arm.c:10764
msgid "only two consecutive VFP SP registers allowed here"
msgstr ""
-#: config/tc-arm.c:10743 config/tc-arm.c:10758
+#: config/tc-arm.c:10792 config/tc-arm.c:10807
msgid "this addressing mode requires base-register writeback"
msgstr ""
#. If srcsize is 16, inst.operands[1].imm must be in the range 0-16.
#. i.e. immbits must be in range 0 - 16.
-#: config/tc-arm.c:10887
+#: config/tc-arm.c:10936
msgid "immediate value out of range, expected range [0, 16]"
msgstr ""
#. If srcsize is 32, inst.operands[1].imm must be in the range 1-32.
#. i.e. immbits must be in range 0 - 31.
-#: config/tc-arm.c:10894
+#: config/tc-arm.c:10943
msgid "immediate value out of range, expected range [1, 32]"
msgstr ""
-#: config/tc-arm.c:10960
+#: config/tc-arm.c:11009
msgid "this instruction does not support indexing"
msgstr ""
-#: config/tc-arm.c:10983
+#: config/tc-arm.c:11032
msgid "only r15 allowed here"
msgstr ""
-#: config/tc-arm.c:11118
+#: config/tc-arm.c:11167
msgid "immediate operand requires iWMMXt2"
msgstr ""
-#: config/tc-arm.c:11262
+#: config/tc-arm.c:11311
msgid "shift by register not allowed in thumb mode"
msgstr ""
-#: config/tc-arm.c:11274 config/tc-arm.c:14099 config/tc-arm.c:28140
+#: config/tc-arm.c:11323 config/tc-arm.c:14148 config/tc-arm.c:28678
msgid "shift expression is too large"
msgstr ""
-#: config/tc-arm.c:11307
+#: config/tc-arm.c:11356
msgid "cannot use register index with this instruction"
msgstr ""
-#: config/tc-arm.c:11309
+#: config/tc-arm.c:11358
msgid "Thumb does not support negative register indexing"
msgstr ""
-#: config/tc-arm.c:11311
+#: config/tc-arm.c:11360
msgid "Thumb does not support register post-indexing"
msgstr ""
-#: config/tc-arm.c:11313
+#: config/tc-arm.c:11362
msgid "Thumb does not support register indexing with writeback"
msgstr ""
-#: config/tc-arm.c:11315
+#: config/tc-arm.c:11364
msgid "Thumb supports only LSL in shifted register indexing"
msgstr ""
-#: config/tc-arm.c:11324 config/tc-arm.c:19815
+#: config/tc-arm.c:11373 config/tc-arm.c:19874
msgid "shift out of range"
msgstr ""
-#: config/tc-arm.c:11333
+#: config/tc-arm.c:11382
msgid "cannot use writeback with this instruction"
msgstr ""
-#: config/tc-arm.c:11354
+#: config/tc-arm.c:11403
msgid "cannot use post-indexing with PC-relative addressing"
msgstr ""
-#: config/tc-arm.c:11355
+#: config/tc-arm.c:11404
msgid "cannot use post-indexing with this instruction"
msgstr ""
-#: config/tc-arm.c:11601
+#: config/tc-arm.c:11650
msgid "only SUBS PC, LR, #const allowed"
msgstr ""
-#: config/tc-arm.c:11684 config/tc-arm.c:11844 config/tc-arm.c:11941
-#: config/tc-arm.c:13306 config/tc-arm.c:13614
+#: config/tc-arm.c:11733 config/tc-arm.c:11893 config/tc-arm.c:11990
+#: config/tc-arm.c:13355 config/tc-arm.c:13663
msgid "shift must be constant"
msgstr ""
-#: config/tc-arm.c:11689
+#: config/tc-arm.c:11738
msgid "shift value over 3 not allowed in thumb mode"
msgstr ""
-#: config/tc-arm.c:11691
+#: config/tc-arm.c:11740
msgid "only LSL shift allowed in thumb mode"
msgstr ""
-#: config/tc-arm.c:11715 config/tc-arm.c:11859 config/tc-arm.c:11956
-#: config/tc-arm.c:13319
+#: config/tc-arm.c:11764 config/tc-arm.c:11908 config/tc-arm.c:12005
+#: config/tc-arm.c:13368
msgid "unshifted register required"
msgstr ""
-#: config/tc-arm.c:11730 config/tc-arm.c:11967 config/tc-arm.c:13469
+#: config/tc-arm.c:11779 config/tc-arm.c:12016 config/tc-arm.c:13518
msgid "dest must overlap one source register"
msgstr ""
-#: config/tc-arm.c:11862 config/tc-csky.c:5510
+#: config/tc-arm.c:11911 config/tc-csky.c:5510
msgid "dest and source1 must be the same register"
msgstr ""
-#: config/tc-arm.c:12102
+#: config/tc-arm.c:12151
msgid ""
"selected architecture does not support wide conditional branch instruction"
msgstr ""
-#: config/tc-arm.c:12135
+#: config/tc-arm.c:12184
msgid "instruction is always unconditional"
msgstr ""
-#: config/tc-arm.c:12310
+#: config/tc-arm.c:12359
msgid "selected processor does not support 'A' form of this instruction"
msgstr ""
-#: config/tc-arm.c:12313
+#: config/tc-arm.c:12362
msgid "Thumb does not support the 2-argument form of this instruction"
msgstr ""
-#: config/tc-arm.c:12438
+#: config/tc-arm.c:12487
msgid "SP not allowed in register list"
msgstr ""
-#: config/tc-arm.c:12442 config/tc-arm.c:12549
+#: config/tc-arm.c:12491 config/tc-arm.c:12598
msgid ""
"having the base register in the register list when using write back is "
"UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:12450
+#: config/tc-arm.c:12499
msgid "LR and PC should not both be in register list"
msgstr ""
-#: config/tc-arm.c:12458
+#: config/tc-arm.c:12507
msgid "PC not allowed in register list"
msgstr ""
-#: config/tc-arm.c:12501
+#: config/tc-arm.c:12550
msgid "Thumb load/store multiple does not support {reglist}^"
msgstr ""
-#: config/tc-arm.c:12526 config/tc-arm.c:12604
+#: config/tc-arm.c:12575 config/tc-arm.c:12653
#, c-format
msgid "value stored for r%d is UNKNOWN"
msgstr ""
-#: config/tc-arm.c:12597
+#: config/tc-arm.c:12646
msgid "Thumb-2 instruction only valid in unified syntax"
msgstr ""
-#: config/tc-arm.c:12601 config/tc-arm.c:12611
+#: config/tc-arm.c:12650 config/tc-arm.c:12660
msgid "this instruction will write back the base register"
msgstr ""
-#: config/tc-arm.c:12614
+#: config/tc-arm.c:12663
msgid "this instruction will not write back the base register"
msgstr ""
-#: config/tc-arm.c:12645
+#: config/tc-arm.c:12694
msgid "r14 not allowed as first register when second register is omitted"
msgstr ""
-#: config/tc-arm.c:12745
+#: config/tc-arm.c:12794
msgid ""
"This instruction may be unpredictable if executed on M-profile cores with "
"interrupts enabled."
msgstr ""
-#: config/tc-arm.c:12774 config/tc-arm.c:12787 config/tc-arm.c:12823
+#: config/tc-arm.c:12823 config/tc-arm.c:12836 config/tc-arm.c:12872
msgid "Thumb does not support this addressing mode"
msgstr ""
-#: config/tc-arm.c:12791
+#: config/tc-arm.c:12840
msgid "byte or halfword not valid for base register"
msgstr ""
-#: config/tc-arm.c:12794
+#: config/tc-arm.c:12843
msgid "r15 based store not allowed"
msgstr ""
-#: config/tc-arm.c:12796
+#: config/tc-arm.c:12845
msgid "invalid base register for register offset"
msgstr ""
-#: config/tc-arm.c:12853
+#: config/tc-arm.c:12902
msgid "r12 not allowed here"
msgstr ""
-#: config/tc-arm.c:12859
+#: config/tc-arm.c:12908
msgid "base register written back, and overlaps one of transfer registers"
msgstr ""
-#: config/tc-arm.c:12987
+#: config/tc-arm.c:13036
#, c-format
msgid ""
"Use of r%u as a source register is deprecated when r%u is the destination "
"register."
msgstr ""
-#: config/tc-arm.c:13182
+#: config/tc-arm.c:13231
msgid "shifts in CMP/MOV instructions are only supported in unified syntax"
msgstr ""
-#: config/tc-arm.c:13210
+#: config/tc-arm.c:13259
msgid "only lo regs allowed with immediate"
msgstr ""
-#: config/tc-arm.c:13387
+#: config/tc-arm.c:13436
msgid "Thumb encoding does not support an immediate here"
msgstr ""
-#: config/tc-arm.c:13474
+#: config/tc-arm.c:13523
msgid "Thumb-2 MUL must not set flags"
msgstr ""
-#: config/tc-arm.c:13539
+#: config/tc-arm.c:13588
msgid "Thumb does not support NOP with hints"
msgstr ""
-#: config/tc-arm.c:13699 config/tc-arm.c:13711
+#: config/tc-arm.c:13748 config/tc-arm.c:13760
msgid "invalid register list to push/pop instruction"
msgstr ""
-#: config/tc-arm.c:13974
+#: config/tc-arm.c:14023
msgid "source1 and dest must be same register"
msgstr ""
-#: config/tc-arm.c:13999
+#: config/tc-arm.c:14048
msgid "ror #imm not supported"
msgstr ""
-#: config/tc-arm.c:14050
+#: config/tc-arm.c:14099
msgid "SMC is not permitted on this architecture"
msgstr ""
-#: config/tc-arm.c:14216
+#: config/tc-arm.c:14265
msgid "Thumb encoding does not support rotation"
msgstr ""
-#: config/tc-arm.c:14236
+#: config/tc-arm.c:14285
msgid "instruction requires register index"
msgstr ""
-#: config/tc-arm.c:14246
+#: config/tc-arm.c:14295
msgid "instruction does not allow shifted index"
msgstr ""
-#: config/tc-arm.c:14402 config/tc-arm.c:29281
+#: config/tc-arm.c:14451 config/tc-arm.c:29822
msgid "out of range label-relative fixup value"
msgstr ""
-#: config/tc-arm.c:14726
+#: config/tc-arm.c:14775
msgid "invalid neon suffix for non neon instruction"
msgstr ""
-#: config/tc-arm.c:15105 config/tc-arm.c:15458 config/tc-arm.c:16941
-#: config/tc-arm.c:17021 config/tc-arm.c:17078 config/tc-arm.c:18965
-#: config/tc-arm.c:21143 config/tc-arm.c:21330
+#: config/tc-arm.c:15170 config/tc-arm.c:15523 config/tc-arm.c:17008
+#: config/tc-arm.c:17088 config/tc-arm.c:17145 config/tc-arm.c:19026
+#: config/tc-arm.c:21202 config/tc-arm.c:21389
msgid "invalid instruction shape"
msgstr ""
-#: config/tc-arm.c:15357
+#: config/tc-arm.c:15422
msgid "types specified in both the mnemonic and operands"
msgstr ""
-#: config/tc-arm.c:15394
+#: config/tc-arm.c:15459
msgid "operand types can't be inferred"
msgstr ""
-#: config/tc-arm.c:15400
+#: config/tc-arm.c:15465
msgid "type specifier has the wrong number of parts"
msgstr ""
-#: config/tc-arm.c:15486 config/tc-arm.c:19234 config/tc-arm.c:19241
+#: config/tc-arm.c:15551 config/tc-arm.c:19295 config/tc-arm.c:19302
msgid "operand size must match register width"
msgstr ""
-#: config/tc-arm.c:15508
+#: config/tc-arm.c:15573
msgid "inconsistent types in Neon instruction"
msgstr ""
-#: config/tc-arm.c:15927
+#: config/tc-arm.c:15994
msgid "Type is not allowed for this instruction"
msgstr ""
-#: config/tc-arm.c:16002
+#: config/tc-arm.c:16069
msgid "MVE vector or ARM register expected"
msgstr ""
-#: config/tc-arm.c:16119
+#: config/tc-arm.c:16186
msgid "immediate must be either 1, 2, 4 or 8"
msgstr ""
-#: config/tc-arm.c:16276
+#: config/tc-arm.c:16343
msgid "immediate operand expected in the range [1,8]"
msgstr ""
-#: config/tc-arm.c:16277
+#: config/tc-arm.c:16344
msgid "immediate operand expected in the range [1,16]"
msgstr ""
-#: config/tc-arm.c:16419
+#: config/tc-arm.c:16486
msgid "expected LR"
msgstr ""
-#: config/tc-arm.c:16918 config/tc-arm.c:16998 config/tc-arm.c:18601
-#: config/tc-arm.c:20432
+#: config/tc-arm.c:16985 config/tc-arm.c:17065 config/tc-arm.c:18662
+#: config/tc-arm.c:20491
msgid "immediate out of range for shift"
msgstr ""
-#: config/tc-arm.c:17212
+#: config/tc-arm.c:17279
msgid "first and second operands shall be the same register"
msgstr ""
-#: config/tc-arm.c:17326 config/tc-arm.c:17388
+#: config/tc-arm.c:17393 config/tc-arm.c:17455
msgid "destination register and offset register may not be the same"
msgstr ""
-#: config/tc-arm.c:17338 config/tc-arm.c:17457
+#: config/tc-arm.c:17405 config/tc-arm.c:17524
msgid "immediate must be a multiple of 4 in the range of +/-[0,508]"
msgstr ""
-#: config/tc-arm.c:17340
+#: config/tc-arm.c:17407
msgid "immediate must be a multiple of 8 in the range of +/-[0,1016]"
msgstr ""
-#: config/tc-arm.c:17361
+#: config/tc-arm.c:17428
msgid "can not shift offsets when accessing less than half-word"
msgstr ""
-#: config/tc-arm.c:17363
+#: config/tc-arm.c:17430
msgid ""
"shift immediate must be 1, 2 or 3 for half-word, word or double-word "
"accesses respectively"
msgstr ""
-#: config/tc-arm.c:17450
+#: config/tc-arm.c:17517
msgid "immediate must be in the range of +/-[0,127]"
msgstr ""
-#: config/tc-arm.c:17453
+#: config/tc-arm.c:17520
msgid "immediate must be a multiple of 2 in the range of +/-[0,254]"
msgstr ""
-#: config/tc-arm.c:17467 config/tc-arm.c:18299
+#: config/tc-arm.c:17534 config/tc-arm.c:18360
msgid "MVE vector register in the range [Q0..Q7] expected"
msgstr ""
-#: config/tc-arm.c:17783 config/tc-arm.c:19652
+#: config/tc-arm.c:17850 config/tc-arm.c:19713
msgid "scalar out of range for multiply instruction"
msgstr ""
-#: config/tc-arm.c:17871
+#: config/tc-arm.c:17938
msgid "index must be in the range 0 to 3"
msgstr ""
-#: config/tc-arm.c:17874
+#: config/tc-arm.c:17941
msgid "indexed register must be less than 8"
msgstr ""
-#: config/tc-arm.c:18075 config/tc-arm.c:21394
+#: config/tc-arm.c:18142 config/tc-arm.c:21453
msgid ""
"Warning: 32-bit element size and same first and third operand makes "
"instruction UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:18440
+#: config/tc-arm.c:18501
msgid "instruction form not available on this architecture."
msgstr ""
-#: config/tc-arm.c:18443
+#: config/tc-arm.c:18504
msgid "this instruction implies use of ARMv8.1 AdvSIMD."
msgstr ""
-#: config/tc-arm.c:18550 config/tc-arm.c:18575
+#: config/tc-arm.c:18611 config/tc-arm.c:18636
msgid "immediate out of range for insert"
msgstr ""
-#: config/tc-arm.c:18722
+#: config/tc-arm.c:18783
msgid "immediate out of range for narrowing operation"
msgstr ""
-#: config/tc-arm.c:18869
+#: config/tc-arm.c:18930
msgid "operands 0 and 1 must be the same register"
msgstr ""
-#: config/tc-arm.c:18975 config/tc-arm.c:21242
+#: config/tc-arm.c:19036 config/tc-arm.c:21301
msgid "invalid rounding mode"
msgstr ""
-#: config/tc-arm.c:19445
+#: config/tc-arm.c:19506
msgid "operand size must be specified for immediate VMOV"
msgstr ""
-#: config/tc-arm.c:19455
+#: config/tc-arm.c:19516
msgid "immediate has bits set outside the operand size"
msgstr ""
-#: config/tc-arm.c:19687
+#: config/tc-arm.c:19748
msgid ""
"vfmal/vfmsl with FP16 type cannot be conditional, the behaviour is "
"UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:19797
+#: config/tc-arm.c:19856
msgid "Instruction form not available on this architecture."
msgstr ""
-#: config/tc-arm.c:19851
+#: config/tc-arm.c:19910
msgid ""
"Warning: 64-bit element size and same destination and source operands makes "
"instruction UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:19856
+#: config/tc-arm.c:19915
msgid "elements must be smaller than reversal region"
msgstr ""
-#: config/tc-arm.c:19948
+#: config/tc-arm.c:20007
msgid "Index one must be [2,3] and index two must be two less than index one."
msgstr ""
-#: config/tc-arm.c:19951
+#: config/tc-arm.c:20010
msgid "General purpose registers may not be the same"
msgstr ""
-#: config/tc-arm.c:20149 config/tc-arm.c:20232
+#: config/tc-arm.c:20208 config/tc-arm.c:20291
msgid "bad type for scalar"
msgstr ""
-#: config/tc-arm.c:20288
+#: config/tc-arm.c:20347
msgid ""
"immediate constant is valid both as a bit-pattern and a floating point value "
"(using the fp value)"
msgstr ""
-#: config/tc-arm.c:20340 config/tc-arm.c:20351
+#: config/tc-arm.c:20399 config/tc-arm.c:20410
msgid "VFP registers must be adjacent"
msgstr ""
-#: config/tc-arm.c:20441
+#: config/tc-arm.c:20500
msgid "invalid suffix"
msgstr ""
-#: config/tc-arm.c:20593
+#: config/tc-arm.c:20652
msgid "bad list length for table lookup"
msgstr ""
-#: config/tc-arm.c:20626
+#: config/tc-arm.c:20685
msgid "writeback (!) must be used for VLDMDB and VSTMDB"
msgstr ""
-#: config/tc-arm.c:20629 config/tc-arm.c:20654 config/tc-arm.c:20675
+#: config/tc-arm.c:20688 config/tc-arm.c:20713 config/tc-arm.c:20734
msgid "register list must contain at least 1 and at most 16 registers"
msgstr ""
-#: config/tc-arm.c:20697 config/tc-arm.c:20730
+#: config/tc-arm.c:20756 config/tc-arm.c:20789
msgid "Use of PC here is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:20699
+#: config/tc-arm.c:20758
msgid "Use of PC here is deprecated"
msgstr ""
-#: config/tc-arm.c:20733
+#: config/tc-arm.c:20792
msgid "instruction does not accept register index"
msgstr ""
-#: config/tc-arm.c:20736
+#: config/tc-arm.c:20795
msgid "instruction does not accept PC-relative addressing"
msgstr ""
-#: config/tc-arm.c:20758 config/tc-arm.c:20767
+#: config/tc-arm.c:20817 config/tc-arm.c:20826
msgid "Instruction not permitted on this architecture"
msgstr ""
-#: config/tc-arm.c:20816
+#: config/tc-arm.c:20875
msgid "bad alignment"
msgstr ""
-#: config/tc-arm.c:20833
+#: config/tc-arm.c:20892
msgid "bad list type for instruction"
msgstr ""
-#: config/tc-arm.c:20877
+#: config/tc-arm.c:20936
msgid "unsupported alignment for instruction"
msgstr ""
-#: config/tc-arm.c:20896 config/tc-arm.c:20990 config/tc-arm.c:21002
-#: config/tc-arm.c:21012 config/tc-arm.c:21026
+#: config/tc-arm.c:20955 config/tc-arm.c:21049 config/tc-arm.c:21061
+#: config/tc-arm.c:21071 config/tc-arm.c:21085
msgid "bad list length"
msgstr ""
-#: config/tc-arm.c:20901
+#: config/tc-arm.c:20960
msgid "stride of 2 unavailable when element size is 8"
msgstr ""
-#: config/tc-arm.c:20934 config/tc-arm.c:21010
+#: config/tc-arm.c:20993 config/tc-arm.c:21069
msgid "can't use alignment with this instruction"
msgstr ""
-#: config/tc-arm.c:21082
+#: config/tc-arm.c:21141
msgid "post-index must be a register"
msgstr ""
-#: config/tc-arm.c:21084
+#: config/tc-arm.c:21143
msgid "bad register for post-index"
msgstr ""
-#: config/tc-arm.c:21306
+#: config/tc-arm.c:21365
msgid "scalar out of range"
msgstr ""
-#: config/tc-arm.c:21439
+#: config/tc-arm.c:21498
msgid ""
"Dot Product instructions cannot be conditional, the behaviour is "
"UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:21514 config/tc-arm.c:21542 config/tc-arm.c:21777
+#: config/tc-arm.c:21573 config/tc-arm.c:21601 config/tc-arm.c:22283
msgid "index must be 0 or 1"
msgstr ""
-#: config/tc-arm.c:21517 config/tc-arm.c:21545 config/tc-arm.c:21780
+#: config/tc-arm.c:21576 config/tc-arm.c:21604 config/tc-arm.c:22286
msgid "indexed register must be less than 16"
msgstr ""
-#: config/tc-arm.c:22130 config/tc-arm.c:22234
+#: config/tc-arm.c:21642
+msgid "Register must be r0-r14 except r13, or APSR_nzcv."
+msgstr ""
+
+#: config/tc-arm.c:21645
+msgid "Register must be an even register between r0-r10."
+msgstr ""
+
+#: config/tc-arm.c:21670
+msgid "CDE Coprocessor must be in range 0-7"
+msgstr ""
+
+#: config/tc-arm.c:21704
+msgid "cx1d requires consecutive destination registers."
+msgstr ""
+
+#: config/tc-arm.c:21734
+msgid "cx2d requires consecutive destination registers."
+msgstr ""
+
+#: config/tc-arm.c:21773
+msgid "cx3d requires consecutive destination registers."
+msgstr ""
+
+#: config/tc-arm.c:21965
+msgid "'q' register must be in range 0-7"
+msgstr ""
+
+#: config/tc-arm.c:21968
+msgid "'d' register must be in range 0-15"
+msgstr ""
+
+#: config/tc-arm.c:21970
+msgid "'s' register must be in range 0-31"
+msgstr ""
+
+#: config/tc-arm.c:22025
+msgid "vcx instructions with Q registers require MVE"
+msgstr ""
+
+#: config/tc-arm.c:22030
+msgid ""
+"vcx instructions with S or D registers require either MVE or Armv8-M "
+"floating point etension."
+msgstr ""
+
+#: config/tc-arm.c:22046
+msgid "vcx1 with S or D registers takes immediate within 0-2047"
+msgstr ""
+
+#: config/tc-arm.c:22062
+msgid "vcx2 with S or D registers takes immediate within 0-63"
+msgstr ""
+
+#: config/tc-arm.c:22077
+msgid "vcx2 with S or D registers takes immediate within 0-7"
+msgstr ""
+
+#: config/tc-arm.c:22636 config/tc-arm.c:22740
msgid "conditional infixes are deprecated in unified syntax"
msgstr ""
-#: config/tc-arm.c:22445
+#: config/tc-arm.c:22951
msgid "Warning: conditional outside an IT block for Thumb."
msgstr ""
-#: config/tc-arm.c:22771
+#: config/tc-arm.c:23278
msgid "Short branches, Undefined, SVC, LDM/STM"
msgstr ""
-#: config/tc-arm.c:22772
+#: config/tc-arm.c:23279
msgid "Miscellaneous 16-bit instructions"
msgstr ""
-#: config/tc-arm.c:22773
+#: config/tc-arm.c:23280
msgid "ADR"
msgstr ""
-#: config/tc-arm.c:22774
+#: config/tc-arm.c:23281
msgid "Literal loads"
msgstr ""
-#: config/tc-arm.c:22775
+#: config/tc-arm.c:23282
msgid "Hi-register ADD, MOV, CMP, BX, BLX using pc"
msgstr ""
-#: config/tc-arm.c:22776
+#: config/tc-arm.c:23283
msgid "Hi-register ADD, MOV, CMP using pc"
msgstr ""
#. NOTE: 0x00dd is not the real encoding, instead, it is the 'tvalue'
#. field in asm_opcode. 'tvalue' is used at the stage this check happen.
-#: config/tc-arm.c:22779
+#: config/tc-arm.c:23286
msgid "ADD/SUB sp, sp #imm"
msgstr ""
-#: config/tc-arm.c:22800
+#: config/tc-arm.c:23308
msgid ""
"IT blocks containing 32-bit Thumb instructions are performance deprecated in "
"ARMv8-A and ARMv8-R"
msgstr ""
-#: config/tc-arm.c:22812
+#: config/tc-arm.c:23320
#, c-format
msgid ""
"IT blocks containing 16-bit Thumb instructions of the following class are "
"performance deprecated in ARMv8-A and ARMv8-R: %s"
msgstr ""
-#: config/tc-arm.c:22826
+#: config/tc-arm.c:23334
msgid ""
"IT blocks containing more than one conditional instruction are performance "
"deprecated in ARMv8-A and ARMv8-R"
msgstr ""
-#: config/tc-arm.c:22944
+#: config/tc-arm.c:23452
#, c-format
msgid "bad instruction `%s'"
msgstr ""
-#: config/tc-arm.c:22950
+#: config/tc-arm.c:23458
msgid "s suffix on comparison instruction is deprecated"
msgstr ""
-#: config/tc-arm.c:22970
+#: config/tc-arm.c:23478
msgid "SVC is not permitted on this architecture"
msgstr ""
-#: config/tc-arm.c:22972
+#: config/tc-arm.c:23480
#, c-format
msgid "selected processor does not support `%s' in Thumb mode"
msgstr ""
-#: config/tc-arm.c:22978
+#: config/tc-arm.c:23486
msgid "Thumb does not support conditional execution"
msgstr ""
-#: config/tc-arm.c:22998
+#: config/tc-arm.c:23506
#, c-format
msgid ""
"selected processor does not support 32bit wide variant of instruction `%s'"
msgstr ""
-#: config/tc-arm.c:23001
+#: config/tc-arm.c:23509
#, c-format
msgid "selected processor does not support `%s' in Thumb-2 mode"
msgstr ""
-#: config/tc-arm.c:23026
+#: config/tc-arm.c:23534
#, c-format
msgid "cannot honor width suffix -- `%s'"
msgstr ""
-#: config/tc-arm.c:23068
+#: config/tc-arm.c:23576
#, c-format
msgid "selected processor does not support `%s' in ARM mode"
msgstr ""
-#: config/tc-arm.c:23073
+#: config/tc-arm.c:23581
#, c-format
msgid "width suffixes are invalid in ARM mode -- `%s'"
msgstr ""
-#: config/tc-arm.c:23106
+#: config/tc-arm.c:23614
#, c-format
msgid "attempt to use an ARM instruction on a Thumb-only processor -- `%s'"
msgstr ""
-#: config/tc-arm.c:23124
+#: config/tc-arm.c:23632
#, c-format
msgid "section '%s' finished with an open IT block."
msgstr ""
-#: config/tc-arm.c:23127
+#: config/tc-arm.c:23635
#, c-format
msgid "section '%s' finished with an open VPT/VPST block."
msgstr ""
-#: config/tc-arm.c:23134
+#: config/tc-arm.c:23642
msgid "file finished with an open IT block."
msgstr ""
-#: config/tc-arm.c:23136
+#: config/tc-arm.c:23644
msgid "file finished with an open VPT/VPST block."
msgstr ""
-#: config/tc-arm.c:26787
+#: config/tc-arm.c:27325
#, c-format
msgid "alignments greater than %d bytes not supported in .text sections."
msgstr ""
-#: config/tc-arm.c:27054 config/tc-ia64.c:3594
+#: config/tc-arm.c:27592 config/tc-ia64.c:3594
#, c-format
msgid "Group section `%s' has no group signature"
msgstr ""
-#: config/tc-arm.c:27100
+#: config/tc-arm.c:27638
msgid "handlerdata in cantunwind frame"
msgstr ""
-#: config/tc-arm.c:27117
+#: config/tc-arm.c:27655
msgid "too many unwind opcodes for personality routine 0"
msgstr ""
-#: config/tc-arm.c:27148
+#: config/tc-arm.c:27686
msgid "attempt to recreate an unwind entry"
msgstr ""
-#: config/tc-arm.c:27158
+#: config/tc-arm.c:27696
msgid "too many unwind opcodes"
msgstr ""
-#: config/tc-arm.c:27457
+#: config/tc-arm.c:27995
#, c-format
msgid "[-mwarn-syms]: Assignment makes a symbol match an ARM instruction: %s"
msgstr ""
-#: config/tc-arm.c:27819 config/tc-arm.c:27887
+#: config/tc-arm.c:28357 config/tc-arm.c:28425
#, c-format
msgid "symbol %s is in a different section"
msgstr ""
-#: config/tc-arm.c:27821 config/tc-arm.c:27889
+#: config/tc-arm.c:28359 config/tc-arm.c:28427
#, c-format
msgid "symbol %s is weak and may be overridden later"
msgstr ""
-#: config/tc-arm.c:27866 config/tc-arm.c:28238
+#: config/tc-arm.c:28404 config/tc-arm.c:28776
#, c-format
msgid "invalid constant (%lx) after fixup"
msgstr ""
-#: config/tc-arm.c:27922
+#: config/tc-arm.c:28460
#, c-format
msgid "unable to compute ADRL instructions for PC offset of 0x%lx"
msgstr ""
-#: config/tc-arm.c:27958 config/tc-arm.c:27988
+#: config/tc-arm.c:28496 config/tc-arm.c:28526
msgid "invalid literal constant: pool needs to be closer"
msgstr ""
-#: config/tc-arm.c:27961 config/tc-arm.c:28010
+#: config/tc-arm.c:28499 config/tc-arm.c:28548
#, c-format
msgid "bad immediate value for offset (%ld)"
msgstr ""
-#: config/tc-arm.c:27991
+#: config/tc-arm.c:28529
#, c-format
msgid "bad immediate value for 8-bit offset (%ld)"
msgstr ""
-#: config/tc-arm.c:28051
+#: config/tc-arm.c:28589
msgid "offset not a multiple of 4"
msgstr ""
-#: config/tc-arm.c:28254
+#: config/tc-arm.c:28792
msgid "invalid smc expression"
msgstr ""
-#: config/tc-arm.c:28264
+#: config/tc-arm.c:28802
msgid "invalid hvc expression"
msgstr ""
-#: config/tc-arm.c:28275 config/tc-arm.c:28284
+#: config/tc-arm.c:28813 config/tc-arm.c:28822
msgid "invalid swi expression"
msgstr ""
-#: config/tc-arm.c:28294
+#: config/tc-arm.c:28832
msgid "invalid expression in load/store multiple"
msgstr ""
-#: config/tc-arm.c:28356
+#: config/tc-arm.c:28894
#, c-format
msgid "blx to '%s' an ARM ISA state function changed to bl"
msgstr ""
-#: config/tc-arm.c:28375
+#: config/tc-arm.c:28913
msgid "misaligned branch destination"
msgstr ""
-#: config/tc-arm.c:28496
+#: config/tc-arm.c:29034
#, c-format
msgid "blx to Thumb func '%s' from Thumb ISA state changed to bl"
msgstr ""
-#: config/tc-arm.c:28545
+#: config/tc-arm.c:29083
msgid "Thumb2 branch out of range"
msgstr ""
-#: config/tc-arm.c:28597 config/tc-arm.c:28630
+#: config/tc-arm.c:29135 config/tc-arm.c:29168
msgid "Relocation supported only in FDPIC mode"
msgstr ""
-#: config/tc-arm.c:28660
+#: config/tc-arm.c:29198
msgid "rel31 relocation overflow"
msgstr ""
-#: config/tc-arm.c:28682 config/tc-arm.c:28688 config/tc-arm.c:28692
-#: config/tc-arm.c:28739
+#: config/tc-arm.c:29220 config/tc-arm.c:29226 config/tc-arm.c:29230
+#: config/tc-arm.c:29277
msgid "co-processor offset out of range"
msgstr ""
-#: config/tc-arm.c:28756
+#: config/tc-arm.c:29294
#, c-format
msgid "invalid offset, target not word aligned (0x%08lX)"
msgstr ""
-#: config/tc-arm.c:28763 config/tc-arm.c:28772 config/tc-arm.c:28780
-#: config/tc-arm.c:28788 config/tc-arm.c:28796
+#: config/tc-arm.c:29300
+msgid "section does not have enough alignment to ensure safe PC-relative loads"
+msgstr ""
+
+#: config/tc-arm.c:29304 config/tc-arm.c:29313 config/tc-arm.c:29321
+#: config/tc-arm.c:29329 config/tc-arm.c:29337
#, c-format
msgid "invalid offset, value too big (0x%08lX)"
msgstr ""
-#: config/tc-arm.c:28837
+#: config/tc-arm.c:29378
msgid "invalid Hi register with immediate"
msgstr ""
-#: config/tc-arm.c:28853
+#: config/tc-arm.c:29394
msgid "invalid immediate for stack address calculation"
msgstr ""
-#: config/tc-arm.c:28872
+#: config/tc-arm.c:29413
msgid "address calculation needs a strongly defined nearby symbol"
msgstr ""
-#: config/tc-arm.c:28888
+#: config/tc-arm.c:29429
msgid "symbol too far away"
msgstr ""
-#: config/tc-arm.c:28900
+#: config/tc-arm.c:29441
#, c-format
msgid "invalid immediate for address calculation (value = 0x%08lX)"
msgstr ""
-#: config/tc-arm.c:28930
+#: config/tc-arm.c:29471
#, c-format
msgid "invalid immediate: %ld is out of range"
msgstr ""
-#: config/tc-arm.c:28942
+#: config/tc-arm.c:29483
#, c-format
msgid "invalid shift value: %ld"
msgstr ""
-#: config/tc-arm.c:29012 config/tc-arm.c:29083
+#: config/tc-arm.c:29553 config/tc-arm.c:29624
#, c-format
msgid "the offset 0x%08lX is not representable"
msgstr ""
-#: config/tc-arm.c:29044
+#: config/tc-arm.c:29585
#, c-format
msgid "Unable to process relocation for thumb opcode: %lx"
msgstr ""
-#: config/tc-arm.c:29123
+#: config/tc-arm.c:29664
#, c-format
msgid "bad offset 0x%08lX (only 12 bits available for the magnitude)"
msgstr ""
-#: config/tc-arm.c:29162
+#: config/tc-arm.c:29703
#, c-format
msgid "bad offset 0x%08lX (only 8 bits available for the magnitude)"
msgstr ""
-#: config/tc-arm.c:29202
+#: config/tc-arm.c:29743
#, c-format
msgid "bad offset 0x%08lX (must be word-aligned)"
msgstr ""
-#: config/tc-arm.c:29207
+#: config/tc-arm.c:29748
#, c-format
msgid "bad offset 0x%08lX (must be an 8-bit number of words)"
msgstr ""
-#: config/tc-arm.c:29428 config/tc-score.c:7379
+#: config/tc-arm.c:29969 config/tc-score.c:7361
#, c-format
msgid "bad relocation fixup type (%d)"
msgstr ""
-#: config/tc-arm.c:29546
+#: config/tc-arm.c:30087
msgid "literal referenced across section boundary"
msgstr ""
-#: config/tc-arm.c:29626
+#: config/tc-arm.c:30167
msgid "internal relocation (type: IMMEDIATE) not fixed up"
msgstr ""
-#: config/tc-arm.c:29631
+#: config/tc-arm.c:30172
msgid "ADRL used for a symbol not defined in the same file"
msgstr ""
-#: config/tc-arm.c:29638
+#: config/tc-arm.c:30179
#, c-format
msgid "%s used for a symbol not defined in the same file"
msgstr ""
-#: config/tc-arm.c:29654
+#: config/tc-arm.c:30195
#, c-format
msgid "undefined local label `%s'"
msgstr ""
-#: config/tc-arm.c:29660
+#: config/tc-arm.c:30201
msgid "internal_relocation (type: OFFSET_IMM) not fixed up"
msgstr ""
-#: config/tc-arm.c:29682 config/tc-cris.c:4006 config/tc-csky.c:877
+#: config/tc-arm.c:30223 config/tc-cris.c:4006 config/tc-csky.c:877
#: config/tc-ft32.c:709 config/tc-mcore.c:1928 config/tc-microblaze.c:1995
-#: config/tc-mmix.c:2894 config/tc-moxie.c:825 config/tc-ns32k.c:2248
-#: config/tc-score.c:7466
+#: config/tc-mmix.c:2894 config/tc-moxie.c:823 config/tc-ns32k.c:2248
+#: config/tc-score.c:7448
msgid "<unknown>"
msgstr ""
-#: config/tc-arm.c:30084
+#: config/tc-arm.c:30625
#, c-format
msgid "%s: unexpected function type: %d"
msgstr ""
-#: config/tc-arm.c:30224
+#: config/tc-arm.c:30765
msgid "use of old and new-style options to set CPU type"
msgstr ""
-#: config/tc-arm.c:30243
+#: config/tc-arm.c:30784
msgid "use of old and new-style options to set FPU type"
msgstr ""
-#: config/tc-arm.c:30322
+#: config/tc-arm.c:30863
msgid "hard-float conflicts with specified fpu"
msgstr ""
-#: config/tc-arm.c:30513
+#: config/tc-arm.c:31054
msgid "generate PIC code"
msgstr ""
-#: config/tc-arm.c:30514
+#: config/tc-arm.c:31055
msgid "assemble Thumb code"
msgstr ""
-#: config/tc-arm.c:30515
+#: config/tc-arm.c:31056
msgid "support ARM/Thumb interworking"
msgstr ""
-#: config/tc-arm.c:30517
+#: config/tc-arm.c:31058
msgid "code uses 32-bit program counter"
msgstr ""
-#: config/tc-arm.c:30518
+#: config/tc-arm.c:31059
msgid "code uses 26-bit program counter"
msgstr ""
-#: config/tc-arm.c:30519
+#: config/tc-arm.c:31060
msgid "floating point args are in fp regs"
msgstr ""
-#: config/tc-arm.c:30521
+#: config/tc-arm.c:31062
msgid "re-entrant code"
msgstr ""
-#: config/tc-arm.c:30522
+#: config/tc-arm.c:31063
msgid "code is ATPCS conformant"
msgstr ""
#. These are recognized by the assembler, but have no affect on code.
-#: config/tc-arm.c:30528
+#: config/tc-arm.c:31069
msgid "use frame pointer"
msgstr ""
-#: config/tc-arm.c:30529
+#: config/tc-arm.c:31070
msgid "use stack size checking"
msgstr ""
-#: config/tc-arm.c:30532
+#: config/tc-arm.c:31073
msgid "do not warn on use of deprecated feature"
msgstr ""
-#: config/tc-arm.c:30535
+#: config/tc-arm.c:31076
msgid ""
"warn about performance deprecated IT instructions in ARMv8-A and ARMv8-R"
msgstr ""
-#: config/tc-arm.c:30539
+#: config/tc-arm.c:31080
msgid "warn about symbols that match instruction names [default]"
msgstr ""
-#: config/tc-arm.c:30540
+#: config/tc-arm.c:31081
msgid "disable warnings about symobls that match instructions"
msgstr ""
#. DON'T add any new processors to this list -- we want the whole list
#. to go away... Add them to the processors table instead.
-#: config/tc-arm.c:30556 config/tc-arm.c:30557
+#: config/tc-arm.c:31097 config/tc-arm.c:31098
msgid "use -mcpu=arm1"
msgstr ""
-#: config/tc-arm.c:30558 config/tc-arm.c:30559
+#: config/tc-arm.c:31099 config/tc-arm.c:31100
msgid "use -mcpu=arm2"
msgstr ""
-#: config/tc-arm.c:30560 config/tc-arm.c:30561
+#: config/tc-arm.c:31101 config/tc-arm.c:31102
msgid "use -mcpu=arm250"
msgstr ""
-#: config/tc-arm.c:30562 config/tc-arm.c:30563
+#: config/tc-arm.c:31103 config/tc-arm.c:31104
msgid "use -mcpu=arm3"
msgstr ""
-#: config/tc-arm.c:30564 config/tc-arm.c:30565
+#: config/tc-arm.c:31105 config/tc-arm.c:31106
msgid "use -mcpu=arm6"
msgstr ""
-#: config/tc-arm.c:30566 config/tc-arm.c:30567
+#: config/tc-arm.c:31107 config/tc-arm.c:31108
msgid "use -mcpu=arm600"
msgstr ""
-#: config/tc-arm.c:30568 config/tc-arm.c:30569
+#: config/tc-arm.c:31109 config/tc-arm.c:31110
msgid "use -mcpu=arm610"
msgstr ""
-#: config/tc-arm.c:30570 config/tc-arm.c:30571
+#: config/tc-arm.c:31111 config/tc-arm.c:31112
msgid "use -mcpu=arm620"
msgstr ""
-#: config/tc-arm.c:30572 config/tc-arm.c:30573
+#: config/tc-arm.c:31113 config/tc-arm.c:31114
msgid "use -mcpu=arm7"
msgstr ""
-#: config/tc-arm.c:30574 config/tc-arm.c:30575
+#: config/tc-arm.c:31115 config/tc-arm.c:31116
msgid "use -mcpu=arm70"
msgstr ""
-#: config/tc-arm.c:30576 config/tc-arm.c:30577
+#: config/tc-arm.c:31117 config/tc-arm.c:31118
msgid "use -mcpu=arm700"
msgstr ""
-#: config/tc-arm.c:30578 config/tc-arm.c:30579
+#: config/tc-arm.c:31119 config/tc-arm.c:31120
msgid "use -mcpu=arm700i"
msgstr ""
-#: config/tc-arm.c:30580 config/tc-arm.c:30581
+#: config/tc-arm.c:31121 config/tc-arm.c:31122
msgid "use -mcpu=arm710"
msgstr ""
-#: config/tc-arm.c:30582 config/tc-arm.c:30583
+#: config/tc-arm.c:31123 config/tc-arm.c:31124
msgid "use -mcpu=arm710c"
msgstr ""
-#: config/tc-arm.c:30584 config/tc-arm.c:30585
+#: config/tc-arm.c:31125 config/tc-arm.c:31126
msgid "use -mcpu=arm720"
msgstr ""
-#: config/tc-arm.c:30586 config/tc-arm.c:30587
+#: config/tc-arm.c:31127 config/tc-arm.c:31128
msgid "use -mcpu=arm7d"
msgstr ""
-#: config/tc-arm.c:30588 config/tc-arm.c:30589
+#: config/tc-arm.c:31129 config/tc-arm.c:31130
msgid "use -mcpu=arm7di"
msgstr ""
-#: config/tc-arm.c:30590 config/tc-arm.c:30591
+#: config/tc-arm.c:31131 config/tc-arm.c:31132
msgid "use -mcpu=arm7m"
msgstr ""
-#: config/tc-arm.c:30592 config/tc-arm.c:30593
+#: config/tc-arm.c:31133 config/tc-arm.c:31134
msgid "use -mcpu=arm7dm"
msgstr ""
-#: config/tc-arm.c:30594 config/tc-arm.c:30595
+#: config/tc-arm.c:31135 config/tc-arm.c:31136
msgid "use -mcpu=arm7dmi"
msgstr ""
-#: config/tc-arm.c:30596 config/tc-arm.c:30597
+#: config/tc-arm.c:31137 config/tc-arm.c:31138
msgid "use -mcpu=arm7100"
msgstr ""
-#: config/tc-arm.c:30598 config/tc-arm.c:30599
+#: config/tc-arm.c:31139 config/tc-arm.c:31140
msgid "use -mcpu=arm7500"
msgstr ""
-#: config/tc-arm.c:30600 config/tc-arm.c:30601
+#: config/tc-arm.c:31141 config/tc-arm.c:31142
msgid "use -mcpu=arm7500fe"
msgstr ""
-#: config/tc-arm.c:30602 config/tc-arm.c:30603 config/tc-arm.c:30604
-#: config/tc-arm.c:30605
+#: config/tc-arm.c:31143 config/tc-arm.c:31144 config/tc-arm.c:31145
+#: config/tc-arm.c:31146
msgid "use -mcpu=arm7tdmi"
msgstr ""
-#: config/tc-arm.c:30606 config/tc-arm.c:30607
+#: config/tc-arm.c:31147 config/tc-arm.c:31148
msgid "use -mcpu=arm710t"
msgstr ""
-#: config/tc-arm.c:30608 config/tc-arm.c:30609
+#: config/tc-arm.c:31149 config/tc-arm.c:31150
msgid "use -mcpu=arm720t"
msgstr ""
-#: config/tc-arm.c:30610 config/tc-arm.c:30611
+#: config/tc-arm.c:31151 config/tc-arm.c:31152
msgid "use -mcpu=arm740t"
msgstr ""
-#: config/tc-arm.c:30612 config/tc-arm.c:30613
+#: config/tc-arm.c:31153 config/tc-arm.c:31154
msgid "use -mcpu=arm8"
msgstr ""
-#: config/tc-arm.c:30614 config/tc-arm.c:30615
+#: config/tc-arm.c:31155 config/tc-arm.c:31156
msgid "use -mcpu=arm810"
msgstr ""
-#: config/tc-arm.c:30616 config/tc-arm.c:30617
+#: config/tc-arm.c:31157 config/tc-arm.c:31158
msgid "use -mcpu=arm9"
msgstr ""
-#: config/tc-arm.c:30618 config/tc-arm.c:30619
+#: config/tc-arm.c:31159 config/tc-arm.c:31160
msgid "use -mcpu=arm9tdmi"
msgstr ""
-#: config/tc-arm.c:30620 config/tc-arm.c:30621
+#: config/tc-arm.c:31161 config/tc-arm.c:31162
msgid "use -mcpu=arm920"
msgstr ""
-#: config/tc-arm.c:30622 config/tc-arm.c:30623
+#: config/tc-arm.c:31163 config/tc-arm.c:31164
msgid "use -mcpu=arm940"
msgstr ""
-#: config/tc-arm.c:30624
+#: config/tc-arm.c:31165
msgid "use -mcpu=strongarm"
msgstr ""
-#: config/tc-arm.c:30626
+#: config/tc-arm.c:31167
msgid "use -mcpu=strongarm110"
msgstr ""
-#: config/tc-arm.c:30628
+#: config/tc-arm.c:31169
msgid "use -mcpu=strongarm1100"
msgstr ""
-#: config/tc-arm.c:30630
+#: config/tc-arm.c:31171
msgid "use -mcpu=strongarm1110"
msgstr ""
-#: config/tc-arm.c:30631
+#: config/tc-arm.c:31172
msgid "use -mcpu=xscale"
msgstr ""
-#: config/tc-arm.c:30632
+#: config/tc-arm.c:31173
msgid "use -mcpu=iwmmxt"
msgstr ""
-#: config/tc-arm.c:30633
+#: config/tc-arm.c:31174
msgid "use -mcpu=all"
msgstr ""
#. Architecture variants -- don't add any more to this list either.
-#: config/tc-arm.c:30636 config/tc-arm.c:30637
+#: config/tc-arm.c:31177 config/tc-arm.c:31178
msgid "use -march=armv2"
msgstr ""
-#: config/tc-arm.c:30638 config/tc-arm.c:30639
+#: config/tc-arm.c:31179 config/tc-arm.c:31180
msgid "use -march=armv2a"
msgstr ""
-#: config/tc-arm.c:30640 config/tc-arm.c:30641
+#: config/tc-arm.c:31181 config/tc-arm.c:31182
msgid "use -march=armv3"
msgstr ""
-#: config/tc-arm.c:30642 config/tc-arm.c:30643
+#: config/tc-arm.c:31183 config/tc-arm.c:31184
msgid "use -march=armv3m"
msgstr ""
-#: config/tc-arm.c:30644 config/tc-arm.c:30645
+#: config/tc-arm.c:31185 config/tc-arm.c:31186
msgid "use -march=armv4"
msgstr ""
-#: config/tc-arm.c:30646 config/tc-arm.c:30647
+#: config/tc-arm.c:31187 config/tc-arm.c:31188
msgid "use -march=armv4t"
msgstr ""
-#: config/tc-arm.c:30648 config/tc-arm.c:30649
+#: config/tc-arm.c:31189 config/tc-arm.c:31190
msgid "use -march=armv5"
msgstr ""
-#: config/tc-arm.c:30650 config/tc-arm.c:30651
+#: config/tc-arm.c:31191 config/tc-arm.c:31192
msgid "use -march=armv5t"
msgstr ""
-#: config/tc-arm.c:30652 config/tc-arm.c:30653
+#: config/tc-arm.c:31193 config/tc-arm.c:31194
msgid "use -march=armv5te"
msgstr ""
#. Floating point variants -- don't add any more to this list either.
-#: config/tc-arm.c:30656
+#: config/tc-arm.c:31197
msgid "use -mfpu=fpe"
msgstr ""
-#: config/tc-arm.c:30657
+#: config/tc-arm.c:31198
msgid "use -mfpu=fpa10"
msgstr ""
-#: config/tc-arm.c:30658
+#: config/tc-arm.c:31199
msgid "use -mfpu=fpa11"
msgstr ""
-#: config/tc-arm.c:30660
+#: config/tc-arm.c:31201
msgid "use either -mfpu=softfpa or -mfpu=softvfp"
msgstr ""
-#: config/tc-arm.c:31706
+#: config/tc-arm.c:32263
msgid "extension does not apply to the base architecture"
msgstr ""
-#: config/tc-arm.c:31735
+#: config/tc-arm.c:32292
msgid "architectural extensions must be specified in alphabetical order"
msgstr ""
-#: config/tc-arm.c:31874 config/tc-arm.c:32815
+#: config/tc-arm.c:32431 config/tc-arm.c:33374
#, c-format
msgid "unknown floating point format `%s'\n"
msgstr ""
-#: config/tc-arm.c:31890
+#: config/tc-arm.c:32447
#, c-format
msgid "unknown floating point abi `%s'\n"
msgstr ""
-#: config/tc-arm.c:31906
+#: config/tc-arm.c:32463
#, c-format
msgid "unknown EABI `%s'\n"
msgstr ""
-#: config/tc-arm.c:31926
+#: config/tc-arm.c:32483
#, c-format
msgid "unknown implicit IT mode `%s', should be arm, thumb, always, or never."
msgstr ""
-#: config/tc-arm.c:31949 config/tc-metag.c:5913
+#: config/tc-arm.c:32506 config/tc-metag.c:5913
msgid "<fpu name>\t assemble for FPU architecture <fpu name>"
msgstr ""
-#: config/tc-arm.c:31951
+#: config/tc-arm.c:32508
msgid "<abi>\t assemble for floating point ABI <abi>"
msgstr ""
-#: config/tc-arm.c:31954
+#: config/tc-arm.c:32511
msgid "<ver>\t\t assemble for eabi version <ver>"
msgstr ""
-#: config/tc-arm.c:31957
+#: config/tc-arm.c:32514
msgid "<mode>\t controls implicit insertion of IT instructions"
msgstr ""
-#: config/tc-arm.c:31959
+#: config/tc-arm.c:32516
msgid "\t\t\t TI CodeComposer Studio syntax compatibility mode"
msgstr ""
-#: config/tc-arm.c:31962
+#: config/tc-arm.c:32519
msgid ""
"[ieee|alternative]\n"
" set the encoding for half precision floating point "
@@ -5317,32 +5432,32 @@ msgid ""
" or Arm alternative format."
msgstr ""
-#: config/tc-arm.c:32073
+#: config/tc-arm.c:32630
#, c-format
msgid " ARM-specific assembler options:\n"
msgstr ""
-#: config/tc-arm.c:32093
+#: config/tc-arm.c:32650
#, c-format
msgid " --fix-v4bx Allow BX in ARMv4 code\n"
msgstr ""
-#: config/tc-arm.c:32097
+#: config/tc-arm.c:32654
#, c-format
msgid " --fdpic generate an FDPIC object file\n"
msgstr ""
-#: config/tc-arm.c:32403
+#: config/tc-arm.c:32962
msgid "no architecture contains all the instructions used\n"
msgstr ""
-#: config/tc-arm.c:32755
+#: config/tc-arm.c:33314
#, c-format
msgid ""
"architectural extension `%s' is not allowed for the current base architecture"
msgstr ""
-#: config/tc-arm.c:32778
+#: config/tc-arm.c:33337
#, c-format
msgid "unknown architecture extension `%s'\n"
msgstr ""
@@ -5418,7 +5533,7 @@ msgstr ""
msgid "constant out of 8-bit range: %d"
msgstr ""
-#: config/tc-avr.c:954 config/tc-score.c:1198 read.c:3798
+#: config/tc-avr.c:954 config/tc-score.c:1198 read.c:3799
msgid "illegal expression"
msgstr ""
@@ -5527,16 +5642,16 @@ msgstr ""
#. xgettext:c-format.
#: config/tc-avr.c:1853 config/tc-bfin.c:824 config/tc-d10v.c:1462
#: config/tc-d30v.c:1771 config/tc-metag.c:7019 config/tc-mn10200.c:779
-#: config/tc-mn10300.c:2177 config/tc-msp430.c:4644 config/tc-ppc.c:7949
+#: config/tc-mn10300.c:2177 config/tc-msp430.c:4644 config/tc-ppc.c:7962
#: config/tc-spu.c:894 config/tc-spu.c:1105 config/tc-v850.c:3367
-#: config/tc-z80.c:3452
+#: config/tc-z80.c:3811
#, c-format
msgid "reloc %d not supported by object file format"
msgstr ""
#: config/tc-avr.c:1875 config/tc-ft32.c:232 config/tc-h8300.c:1930
-#: config/tc-mcore.c:880 config/tc-microblaze.c:941 config/tc-moxie.c:182
-#: config/tc-pj.c:253 config/tc-sh.c:2196 config/tc-wasm32.c:747
+#: config/tc-mcore.c:880 config/tc-microblaze.c:941 config/tc-moxie.c:180
+#: config/tc-pj.c:253 config/tc-sh.c:2197 config/tc-wasm32.c:747
#: config/tc-z8k.c:1223
msgid "can't find opcode "
msgstr ""
@@ -5672,7 +5787,7 @@ msgstr ""
msgid "convert_frag called"
msgstr ""
-#: config/tc-bpf.c:286 config/tc-sparc.h:68 config/tc-z80.h:56
+#: config/tc-bpf.c:286 config/tc-sparc.h:68 config/tc-z80.h:55
msgid "estimate_size_before_relax called"
msgstr ""
@@ -5707,7 +5822,7 @@ msgstr ""
msgid "internal error: reloc %d (`%s') not supported by object file format"
msgstr ""
-#: config/tc-cr16.c:696 config/tc-i386.c:12966 config/tc-s390.c:2121
+#: config/tc-cr16.c:696 config/tc-i386.c:13591 config/tc-s390.c:2121
msgid "GOT already in symbol table"
msgstr ""
@@ -6120,13 +6235,13 @@ msgstr ""
msgid "invalid <arch> in --march=<arch>: %s"
msgstr ""
-#: config/tc-cris.c:3958 config/tc-ft32.c:689 config/tc-moxie.c:778
+#: config/tc-cris.c:3958 config/tc-ft32.c:689 config/tc-moxie.c:776
msgid ""
"Semantics error. This type of operand can not be relocated, it must be an "
"assembly-time constant"
msgstr ""
-#: config/tc-cris.c:4007 config/tc-ft32.c:710 config/tc-moxie.c:826
+#: config/tc-cris.c:4007 config/tc-ft32.c:710 config/tc-moxie.c:824
#, c-format
msgid "Cannot generate relocation type for symbol %s, code %s"
msgstr ""
@@ -6526,7 +6641,7 @@ msgstr ""
msgid "more than 65K literal pools"
msgstr ""
-#: config/tc-csky.c:1804 read.c:3558 read.c:4867
+#: config/tc-csky.c:1804 read.c:3559 read.c:4868
#, c-format
msgid "bad floating literal: %s"
msgstr ""
@@ -6535,8 +6650,8 @@ msgstr ""
msgid "missing ']'"
msgstr ""
-#: config/tc-csky.c:1951 config/tc-mips.c:14328 config/tc-mips.c:14392
-#: config/tc-mips.c:14403 config/tc-score.c:2690 config/tc-score.c:2736
+#: config/tc-csky.c:1951 config/tc-mips.c:14367 config/tc-mips.c:14431
+#: config/tc-mips.c:14442 config/tc-score.c:2690 config/tc-score.c:2736
msgid "unrecognized opcode"
msgstr ""
@@ -6557,7 +6672,7 @@ msgstr ""
msgid "second operand must be 1"
msgstr ""
-#: config/tc-csky.c:5505 config/tc-xtensa.c:1974
+#: config/tc-csky.c:5505 config/tc-xtensa.c:1980
msgid "register number out of range"
msgstr ""
@@ -6849,9 +6964,10 @@ msgstr ""
msgid ".endfunc missing for previous .proc"
msgstr ""
-#: config/tc-dlx.c:295 config/tc-mips.c:3703 config/tc-nios2.c:3637
+#: config/tc-dlx.c:295 config/tc-mips.c:3706 config/tc-nios2.c:3637
#: config/tc-nios2.c:3651 config/tc-nios2.c:3666 config/tc-pru.c:1574
-#: config/tc-pru.c:1588 config/tc-riscv.c:726
+#: config/tc-pru.c:1588 config/tc-riscv.c:279 config/tc-riscv.c:707
+#: config/tc-riscv.c:1055
#, c-format
msgid "internal error: can't hash `%s': %s\n"
msgstr ""
@@ -6859,8 +6975,9 @@ msgstr ""
#. Probably a memory allocation problem? Give up now.
#: config/tc-dlx.c:302 config/tc-hppa.c:8269 config/tc-nios2.c:1438
#: config/tc-nios2.c:3640 config/tc-nios2.c:3654 config/tc-nios2.c:3669
-#: config/tc-pru.c:1577 config/tc-pru.c:1591 config/tc-riscv.c:729
-#: config/tc-riscv.c:741 config/tc-sparc.c:1008
+#: config/tc-pru.c:1577 config/tc-pru.c:1591 config/tc-riscv.c:282
+#: config/tc-riscv.c:710 config/tc-riscv.c:1058 config/tc-riscv.c:1070
+#: config/tc-sparc.c:1008
msgid "Broken assembler. No assembly attempted."
msgstr ""
@@ -6930,7 +7047,7 @@ msgstr ""
msgid "Invalid expression after # number\n"
msgstr ""
-#: config/tc-dlx.c:1189 config/tc-m32r.c:2273 config/tc-nds32.c:7879
+#: config/tc-dlx.c:1189 config/tc-m32r.c:2275 config/tc-nds32.c:7879
#: config/tc-sparc.c:4020
#, c-format
msgid "internal error: can't export reloc type %d (`%s')"
@@ -6966,7 +7083,7 @@ msgstr ""
msgid "ldrd/strd requires even:odd register pair"
msgstr ""
-#: config/tc-epiphany.c:820 config/tc-m32r.c:1784
+#: config/tc-epiphany.c:820 config/tc-m32r.c:1786
msgid "Addend to unresolved symbol not on word boundary."
msgstr ""
@@ -7125,16 +7242,16 @@ msgstr ""
msgid "Relocation %s is not safe for %s"
msgstr ""
-#: config/tc-ft32.c:146 config/tc-moxie.c:104
+#: config/tc-ft32.c:146 config/tc-moxie.c:102
msgid "expecting register"
msgstr ""
-#: config/tc-ft32.c:167 config/tc-ft32.c:183 config/tc-moxie.c:123
-#: config/tc-moxie.c:139
+#: config/tc-ft32.c:167 config/tc-ft32.c:183 config/tc-moxie.c:121
+#: config/tc-moxie.c:137
msgid "illegal register number"
msgstr ""
-#: config/tc-ft32.c:239 config/tc-moxie.c:188 config/tc-pj.c:260
+#: config/tc-ft32.c:239 config/tc-moxie.c:186 config/tc-pj.c:260
#, c-format
msgid "unknown opcode %s"
msgstr ""
@@ -7152,15 +7269,15 @@ msgstr ""
msgid "expected comma separator"
msgstr ""
-#: config/tc-ft32.c:412 config/tc-moxie.c:232 config/tc-moxie.c:292
-#: config/tc-moxie.c:304 config/tc-moxie.c:337 config/tc-moxie.c:369
-#: config/tc-moxie.c:402 config/tc-moxie.c:456 config/tc-moxie.c:510
-#: config/tc-moxie.c:520 config/tc-moxie.c:543 config/tc-moxie.c:556
+#: config/tc-ft32.c:412 config/tc-moxie.c:230 config/tc-moxie.c:290
+#: config/tc-moxie.c:302 config/tc-moxie.c:335 config/tc-moxie.c:367
+#: config/tc-moxie.c:400 config/tc-moxie.c:454 config/tc-moxie.c:508
+#: config/tc-moxie.c:518 config/tc-moxie.c:541 config/tc-moxie.c:554
#: config/tc-pj.c:308
msgid "extra stuff on line ignored"
msgstr ""
-#: config/tc-ft32.c:472 config/tc-lm32.c:236 config/tc-moxie.c:587
+#: config/tc-ft32.c:472 config/tc-lm32.c:236 config/tc-moxie.c:585
#: config/tc-nios2.c:284
msgid "bad call to md_atof"
msgstr ""
@@ -7314,7 +7431,7 @@ msgstr ""
#. This seems more sane than saying "too many operands". We'll
#. get here only if the trailing trash starts with a comma.
-#: config/tc-h8300.c:1816 config/tc-mips.c:14344 config/tc-mips.c:14412
+#: config/tc-h8300.c:1816 config/tc-mips.c:14383 config/tc-mips.c:14451
#: config/tc-mmix.c:479 config/tc-mmix.c:491 config/tc-mmix.c:2532
#: config/tc-mmix.c:2556 config/tc-mmix.c:2829
msgid "invalid operands"
@@ -7324,7 +7441,7 @@ msgstr ""
msgid "operand/size mis-match"
msgstr ""
-#: config/tc-h8300.c:1947 config/tc-sh.c:2551 config/tc-z8k.c:1233
+#: config/tc-h8300.c:1947 config/tc-sh.c:2552 config/tc-z8k.c:1233
msgid "unknown opcode"
msgstr ""
@@ -7383,7 +7500,7 @@ msgid "Difference of symbols in different sections is not supported"
msgstr ""
#: config/tc-h8300.c:2325 config/tc-mcore.c:2204 config/tc-microblaze.c:2481
-#: config/tc-pj.c:491 config/tc-sh.c:3900 config/tc-tic6x.c:4520
+#: config/tc-pj.c:491 config/tc-sh.c:3901 config/tc-tic6x.c:4520
#: config/tc-xc16x.c:315
#, c-format
msgid "Cannot represent relocation type %s"
@@ -7805,811 +7922,854 @@ msgstr ""
msgid "internal error: losing opcode: `%s' \"%s\"\n"
msgstr ""
-#: config/tc-i386.c:1388
+#: config/tc-i386.c:1446
#, c-format
msgid "i386_output_nops called to generate nops of at most %d bytes!"
msgstr ""
-#: config/tc-i386.c:1597
+#: config/tc-i386.c:1655
#, c-format
msgid "invalid single nop size: %d (expect within [0, %d])"
msgstr ""
-#: config/tc-i386.c:1638
+#: config/tc-i386.c:1696
msgid "jump over nop padding out of range"
msgstr ""
-#: config/tc-i386.c:2472
+#: config/tc-i386.c:2533
#, c-format
msgid "%s shortened to %s"
msgstr ""
-#: config/tc-i386.c:2563
+#: config/tc-i386.c:2624
msgid "same type of prefix used twice"
msgstr ""
-#: config/tc-i386.c:2590
+#: config/tc-i386.c:2651
#, c-format
msgid "64bit mode not supported on `%s'."
msgstr ""
-#: config/tc-i386.c:2599
+#: config/tc-i386.c:2660
#, c-format
msgid "32bit mode not supported on `%s'."
msgstr ""
-#: config/tc-i386.c:2639
+#: config/tc-i386.c:2700
msgid "bad argument to syntax directive."
msgstr ""
-#: config/tc-i386.c:2702
+#: config/tc-i386.c:2763
#, c-format
msgid "bad argument to %s_check directive."
msgstr ""
-#: config/tc-i386.c:2706
+#: config/tc-i386.c:2767
#, c-format
msgid "missing argument for %s_check directive"
msgstr ""
-#: config/tc-i386.c:2746
+#: config/tc-i386.c:2807
#, c-format
msgid "`%s' is not supported on `%s'"
msgstr ""
-#: config/tc-i386.c:2852
+#: config/tc-i386.c:2913
#, c-format
msgid "no such architecture: `%s'"
msgstr ""
-#: config/tc-i386.c:2857
+#: config/tc-i386.c:2918
msgid "missing cpu architecture"
msgstr ""
-#: config/tc-i386.c:2874
+#: config/tc-i386.c:2935
#, c-format
msgid "no such architecture modifier: `%s'"
msgstr ""
-#: config/tc-i386.c:2889 config/tc-i386.c:2919
+#: config/tc-i386.c:2950 config/tc-i386.c:2980
msgid "Intel L1OM is 64bit ELF only"
msgstr ""
-#: config/tc-i386.c:2896 config/tc-i386.c:2926
+#: config/tc-i386.c:2957 config/tc-i386.c:2987
msgid "Intel K1OM is 64bit ELF only"
msgstr ""
-#: config/tc-i386.c:2903 config/tc-i386.c:2940
+#: config/tc-i386.c:2964 config/tc-i386.c:3001
msgid "Intel MCU is 32bit ELF only"
msgstr ""
-#: config/tc-i386.c:2947 config/tc-i386.c:12855
+#: config/tc-i386.c:3008 config/tc-i386.c:13480
msgid "unknown architecture"
msgstr ""
-#: config/tc-i386.c:2984 config/tc-i386.c:3006
+#: config/tc-i386.c:3045 config/tc-i386.c:3067
#, c-format
msgid "can't hash %s: %s"
msgstr ""
-#: config/tc-i386.c:3303
+#: config/tc-i386.c:3364
msgid "there are no pc-relative size relocations"
msgstr ""
-#: config/tc-i386.c:3315
+#: config/tc-i386.c:3376
#, c-format
msgid "unknown relocation (%u)"
msgstr ""
-#: config/tc-i386.c:3317
+#: config/tc-i386.c:3378
#, c-format
msgid "%u-byte relocation cannot be applied to %u-byte field"
msgstr ""
-#: config/tc-i386.c:3321
+#: config/tc-i386.c:3382
msgid "non-pc-relative relocation for pc-relative field"
msgstr ""
-#: config/tc-i386.c:3326
+#: config/tc-i386.c:3387
msgid "relocated field and relocation type differ in signedness"
msgstr ""
-#: config/tc-i386.c:3335
+#: config/tc-i386.c:3396
msgid "there are no unsigned pc-relative relocations"
msgstr ""
-#: config/tc-i386.c:3343
+#: config/tc-i386.c:3404
#, c-format
msgid "cannot do %u byte pc-relative relocation"
msgstr ""
-#: config/tc-i386.c:3360
+#: config/tc-i386.c:3421
#, c-format
msgid "cannot do %s %u byte relocation"
msgstr ""
-#: config/tc-i386.c:3958 config/tc-i386.c:4404
+#: config/tc-i386.c:4017 config/tc-i386.c:4767
#, c-format
msgid "invalid instruction `%s' after `%s'"
msgstr ""
-#: config/tc-i386.c:3964
+#: config/tc-i386.c:4023
#, c-format
msgid "missing `lock' with `%s'"
msgstr ""
-#: config/tc-i386.c:3971
+#: config/tc-i386.c:4030
#, c-format
msgid "instruction `%s' after `xacquire' not allowed"
msgstr ""
-#: config/tc-i386.c:3977
+#: config/tc-i386.c:4036
#, c-format
msgid "memory destination needed for instruction `%s' after `xrelease'"
msgstr ""
-#: config/tc-i386.c:4378
+#: config/tc-i386.c:4529
#, c-format
-msgid "SSE instruction `%s' is used"
+msgid "`%s` changes flags which would affect control flow behavior"
msgstr ""
-#: config/tc-i386.c:4392 config/tc-i386.c:6482
+#: config/tc-i386.c:4571
#, c-format
-msgid "ambiguous operand size for `%s'"
+msgid "indirect `%s` with memory operand should be avoided"
msgstr ""
-#: config/tc-i386.c:4417
+#: config/tc-i386.c:4582
+#, c-format
+msgid "`%s` skips -mlfence-before-indirect-branch on `%s`"
+msgstr ""
+
+#: config/tc-i386.c:4603
+#, c-format
+msgid "`%s` skips -mlfence-before-ret on `%s`"
+msgstr ""
+
+#: config/tc-i386.c:4757
+#, c-format
+msgid "SSE instruction `%s' is used"
+msgstr ""
+
+#: config/tc-i386.c:4780
msgid "expecting lockable instruction after `lock'"
msgstr ""
-#: config/tc-i386.c:4424
+#: config/tc-i386.c:4787
#, c-format
msgid "data size prefix invalid with `%s'"
msgstr ""
-#: config/tc-i386.c:4434
+#: config/tc-i386.c:4797
msgid "expecting valid branch instruction after `bnd'"
msgstr ""
-#: config/tc-i386.c:4438
+#: config/tc-i386.c:4801
msgid "expecting indirect branch instruction after `notrack'"
msgstr ""
-#: config/tc-i386.c:4443
+#: config/tc-i386.c:4806
msgid "32-bit address isn't allowed in 64-bit MPX instructions."
msgstr ""
-#: config/tc-i386.c:4447
+#: config/tc-i386.c:4810
msgid "16-bit address isn't allowed in MPX instructions"
msgstr ""
-#: config/tc-i386.c:4457
+#: config/tc-i386.c:4820
msgid "replacing `rep'/`repe' prefix by `bnd'"
msgstr ""
#. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc.
-#: config/tc-i386.c:4511
+#: config/tc-i386.c:4874
#, c-format
msgid "translating to `%sp'"
msgstr ""
-#: config/tc-i386.c:4518
+#: config/tc-i386.c:4881
#, c-format
msgid "instruction `%s' isn't supported outside of protected mode."
msgstr ""
-#: config/tc-i386.c:4579
+#: config/tc-i386.c:4939
#, c-format
msgid "can't encode register '%s%s' in an instruction requiring REX prefix."
msgstr ""
-#: config/tc-i386.c:4651 config/tc-i386.c:4850
+#: config/tc-i386.c:5015 config/tc-i386.c:5214
#, c-format
msgid "no such instruction: `%s'"
msgstr ""
-#: config/tc-i386.c:4662 config/tc-i386.c:4883
+#: config/tc-i386.c:5026 config/tc-i386.c:5247
#, c-format
msgid "invalid character %s in mnemonic"
msgstr ""
-#: config/tc-i386.c:4669
+#: config/tc-i386.c:5033
msgid "expecting prefix; got nothing"
msgstr ""
-#: config/tc-i386.c:4671
+#: config/tc-i386.c:5035
msgid "expecting mnemonic; got nothing"
msgstr ""
-#: config/tc-i386.c:4686 config/tc-i386.c:4905
+#: config/tc-i386.c:5050 config/tc-i386.c:5269
#, c-format
msgid "`%s' is only supported in 64-bit mode"
msgstr ""
-#: config/tc-i386.c:4687 config/tc-i386.c:4904
+#: config/tc-i386.c:5051 config/tc-i386.c:5268
#, c-format
msgid "`%s' is not supported in 64-bit mode"
msgstr ""
-#: config/tc-i386.c:4699
+#: config/tc-i386.c:5063
#, c-format
msgid "redundant %s prefix"
msgstr ""
-#: config/tc-i386.c:4896
+#: config/tc-i386.c:5260
msgid "use .code16 to ensure correct addressing mode"
msgstr ""
-#: config/tc-i386.c:4908
+#: config/tc-i386.c:5272
#, c-format
msgid "`%s' is not supported on `%s%s'"
msgstr ""
-#: config/tc-i386.c:4934
+#: config/tc-i386.c:5298
#, c-format
msgid "invalid character %s before operand %d"
msgstr ""
-#: config/tc-i386.c:4948
+#: config/tc-i386.c:5312
#, c-format
msgid "unbalanced parenthesis in operand %d."
msgstr ""
-#: config/tc-i386.c:4951
+#: config/tc-i386.c:5315
#, c-format
msgid "unbalanced brackets in operand %d."
msgstr ""
-#: config/tc-i386.c:4960
+#: config/tc-i386.c:5324
#, c-format
msgid "invalid character %s in operand %d"
msgstr ""
-#: config/tc-i386.c:4987
+#: config/tc-i386.c:5351
#, c-format
msgid "spurious operands; (%d operands/instruction max)"
msgstr ""
-#: config/tc-i386.c:4997 config/tc-i386.c:10624
+#: config/tc-i386.c:5361 config/tc-i386.c:11153
#, c-format
msgid "too many memory references for `%s'"
msgstr ""
-#: config/tc-i386.c:5018
+#: config/tc-i386.c:5382
msgid "expecting operand after ','; got nothing"
msgstr ""
-#: config/tc-i386.c:5023
+#: config/tc-i386.c:5387
msgid "expecting operand before ','; got nothing"
msgstr ""
-#: config/tc-i386.c:5453
+#: config/tc-i386.c:5816
msgid "mask, index, and destination registers should be distinct"
msgstr ""
-#: config/tc-i386.c:5470
+#: config/tc-i386.c:5833
msgid "index and destination registers should be distinct"
msgstr ""
-#: config/tc-i386.c:6144
+#: config/tc-i386.c:6526
msgid "operand size mismatch"
msgstr ""
-#: config/tc-i386.c:6147
+#: config/tc-i386.c:6529
msgid "operand type mismatch"
msgstr ""
-#: config/tc-i386.c:6150
+#: config/tc-i386.c:6532
msgid "register type mismatch"
msgstr ""
-#: config/tc-i386.c:6153
+#: config/tc-i386.c:6535
msgid "number of operands mismatch"
msgstr ""
-#: config/tc-i386.c:6156
+#: config/tc-i386.c:6538
msgid "invalid instruction suffix"
msgstr ""
-#: config/tc-i386.c:6159
+#: config/tc-i386.c:6541
msgid "constant doesn't fit in 4 bits"
msgstr ""
-#: config/tc-i386.c:6162
+#: config/tc-i386.c:6544
msgid "unsupported with Intel mnemonic"
msgstr ""
-#: config/tc-i386.c:6165
+#: config/tc-i386.c:6547
msgid "unsupported syntax"
msgstr ""
-#: config/tc-i386.c:6168
+#: config/tc-i386.c:6550
#, c-format
msgid "unsupported instruction `%s'"
msgstr ""
-#: config/tc-i386.c:6172
+#: config/tc-i386.c:6554
msgid "invalid VSIB address"
msgstr ""
-#: config/tc-i386.c:6175
+#: config/tc-i386.c:6557
msgid "mask, index, and destination registers must be distinct"
msgstr ""
-#: config/tc-i386.c:6178
+#: config/tc-i386.c:6560
msgid "unsupported vector index register"
msgstr ""
-#: config/tc-i386.c:6181
+#: config/tc-i386.c:6563
msgid "unsupported broadcast"
msgstr ""
-#: config/tc-i386.c:6184
+#: config/tc-i386.c:6566
msgid "broadcast is needed for operand of such type"
msgstr ""
-#: config/tc-i386.c:6187
+#: config/tc-i386.c:6569
msgid "unsupported masking"
msgstr ""
-#: config/tc-i386.c:6190
+#: config/tc-i386.c:6572
msgid "mask not on destination operand"
msgstr ""
-#: config/tc-i386.c:6193
+#: config/tc-i386.c:6575
msgid "default mask isn't allowed"
msgstr ""
-#: config/tc-i386.c:6196
+#: config/tc-i386.c:6578
msgid "unsupported static rounding/sae"
msgstr ""
-#: config/tc-i386.c:6200
+#: config/tc-i386.c:6582
msgid "RC/SAE operand must precede immediate operands"
msgstr ""
-#: config/tc-i386.c:6202
+#: config/tc-i386.c:6584
msgid "RC/SAE operand must follow immediate operands"
msgstr ""
-#: config/tc-i386.c:6205 config/tc-metag.c:4789 config/tc-metag.c:5530
+#: config/tc-i386.c:6587 config/tc-metag.c:4789 config/tc-metag.c:5530
#: config/tc-metag.c:5552
msgid "invalid register operand"
msgstr ""
-#: config/tc-i386.c:6208
+#: config/tc-i386.c:6590
#, c-format
msgid "%s for `%s'"
msgstr ""
-#: config/tc-i386.c:6217
+#: config/tc-i386.c:6599
#, c-format
msgid "indirect %s without `*'"
msgstr ""
#. Warn them that a data or address size prefix doesn't
#. affect assembly of the next line of code.
-#: config/tc-i386.c:6224
+#: config/tc-i386.c:6606
#, c-format
msgid "stand-alone `%s' prefix"
msgstr ""
-#: config/tc-i386.c:6266
+#: config/tc-i386.c:6648
#, c-format
msgid "`%s' operand %u must use `%ses' segment"
msgstr ""
-#. We have to know the operand size for crc32.
-#: config/tc-i386.c:6324
-#, c-format
-msgid "ambiguous memory operand size for `%s`"
-msgstr ""
-
-#: config/tc-i386.c:6413
+#: config/tc-i386.c:6792
msgid "generating 16-bit `iret' for .code16gcc directive"
msgstr ""
-#: config/tc-i386.c:6417
+#: config/tc-i386.c:6796
#, c-format
msgid "generating 32-bit `%s', unlike earlier gas versions"
msgstr ""
-#: config/tc-i386.c:6455
+#: config/tc-i386.c:6909
+#, c-format
+msgid "ambiguous operand size for `%s'"
+msgstr ""
+
+#: config/tc-i386.c:6914
+#, c-format
msgid ""
-"no instruction mnemonic suffix given and no register operands; can't size "
-"instruction"
+"no instruction mnemonic suffix given and no register operands; can't size `"
+"%s'"
msgstr ""
-#: config/tc-i386.c:6593
+#: config/tc-i386.c:6919
#, c-format
-msgid "invalid register operand size for `%s'"
+msgid "%s; using default for `%s'"
+msgstr ""
+
+#: config/tc-i386.c:6921
+msgid "ambiguous operand size"
+msgstr ""
+
+#: config/tc-i386.c:6922
+msgid "no instruction mnemonic suffix given and no register operands"
msgstr ""
-#: config/tc-i386.c:6638 config/tc-i386.c:6710 config/tc-i386.c:6832
+#: config/tc-i386.c:7048
#, c-format
-msgid "using `%s%s' instead of `%s%s' due to `%c' suffix"
+msgid "16-bit addressing unavailable for `%s'"
+msgstr ""
+
+#: config/tc-i386.c:7094
+#, c-format
+msgid "invalid register operand size for `%s'"
msgstr ""
-#: config/tc-i386.c:6658 config/tc-i386.c:6686 config/tc-i386.c:6757
-#: config/tc-i386.c:6807
+#: config/tc-i386.c:7139 config/tc-i386.c:7167 config/tc-i386.c:7226
+#: config/tc-i386.c:7276
#, c-format
msgid "`%s%s' not allowed with `%s%c'"
msgstr ""
-#: config/tc-i386.c:6704 config/tc-i386.c:6731 config/tc-i386.c:6782
-#: config/tc-i386.c:6826
+#: config/tc-i386.c:7180 config/tc-i386.c:7200 config/tc-i386.c:7251
+#: config/tc-i386.c:7290
#, c-format
msgid "incorrect register `%s%s' used with `%c' suffix"
msgstr ""
-#: config/tc-i386.c:6895
+#: config/tc-i386.c:7352
msgid "no instruction mnemonic suffix given; can't determine immediate size"
msgstr ""
-#: config/tc-i386.c:7047
+#: config/tc-i386.c:7504
#, c-format
msgid ""
"source register `%s%s' implicitly denotes `%s%.3s%u' to `%s%.3s%u' source "
"group in `%s'"
msgstr ""
-#: config/tc-i386.c:7091
+#: config/tc-i386.c:7548
#, c-format
msgid "you can't `%s %s%s'"
msgstr ""
#. Reversed arguments on faddp, fsubp, etc.
-#: config/tc-i386.c:7129
+#: config/tc-i386.c:7586
#, c-format
msgid "translating to `%s %s%s,%s%s'"
msgstr ""
#. Extraneous `l' suffix on fp insn.
-#: config/tc-i386.c:7136
+#: config/tc-i386.c:7593
#, c-format
msgid "translating to `%s %s%s'"
msgstr ""
-#: config/tc-i386.c:7145
+#: config/tc-i386.c:7604
#, c-format
msgid "segment override on `%s' is ineffectual"
msgstr ""
-#: config/tc-i386.c:7912 config/tc-i386.c:8055 config/tc-i386.c:8116
+#: config/tc-i386.c:8379 config/tc-i386.c:8522 config/tc-i386.c:8583
#, c-format
msgid "skipping prefixes on `%s'"
msgstr ""
-#: config/tc-i386.c:8136
+#: config/tc-i386.c:8603
msgid "16-bit jump out of range"
msgstr ""
-#: config/tc-i386.c:8145
+#: config/tc-i386.c:8612
#, c-format
msgid "can't handle non absolute segment in `%s'"
msgstr ""
-#: config/tc-i386.c:8357 config/tc-i386.c:8389 config/tc-i386.c:8475
+#: config/tc-i386.c:8854 config/tc-i386.c:8886 config/tc-i386.c:8976
#, c-format
msgid "`%s` skips -malign-branch-boundary on `%s`"
msgstr ""
-#: config/tc-i386.c:8707
+#: config/tc-i386.c:9217
msgid "pseudo prefix without instruction"
msgstr ""
-#: config/tc-i386.c:8823
+#: config/tc-i386.c:9336
#, c-format
msgid "instruction length of %u bytes exceeds the limit of 15"
msgstr ""
-#: config/tc-i386.c:9404 config/tc-i386.c:9506
+#: config/tc-i386.c:9918 config/tc-i386.c:10020
#, c-format
msgid "@%s reloc is not supported with %d-bit output format"
msgstr ""
-#: config/tc-i386.c:9557
+#: config/tc-i386.c:10071
#, c-format
msgid "missing or invalid expression `%s'"
msgstr ""
-#: config/tc-i386.c:9566
+#: config/tc-i386.c:10080
#, c-format
msgid "invalid PLT expression `%s'"
msgstr ""
-#: config/tc-i386.c:9652
+#: config/tc-i386.c:10166
#, c-format
msgid "Unsupported broadcast: `%s'"
msgstr ""
-#: config/tc-i386.c:9668
+#: config/tc-i386.c:10182
#, c-format
msgid "`%s%s' can't be used for write mask"
msgstr ""
-#: config/tc-i386.c:9691
+#: config/tc-i386.c:10205
#, c-format
msgid "invalid write mask `%s'"
msgstr ""
-#: config/tc-i386.c:9713 config/tc-i386.c:10403
+#: config/tc-i386.c:10227 config/tc-i386.c:10932
#, c-format
msgid "duplicated `%s'"
msgstr ""
-#: config/tc-i386.c:9723
+#: config/tc-i386.c:10237
#, c-format
msgid "invalid zeroing-masking `%s'"
msgstr ""
-#: config/tc-i386.c:9736
+#: config/tc-i386.c:10250
#, c-format
msgid "missing `}' in `%s'"
msgstr ""
#. We don't know this one.
-#: config/tc-i386.c:9750
+#: config/tc-i386.c:10264
#, c-format
msgid "unknown vector operation: `%s'"
msgstr ""
-#: config/tc-i386.c:9756
+#: config/tc-i386.c:10270
msgid "zeroing-masking only allowed with write mask"
msgstr ""
-#: config/tc-i386.c:9776
+#: config/tc-i386.c:10290
#, c-format
msgid "at most %d immediate operands are allowed"
msgstr ""
-#: config/tc-i386.c:9808 config/tc-i386.c:10076
+#: config/tc-i386.c:10322 config/tc-i386.c:10590
#, c-format
msgid "junk `%s' after expression"
msgstr ""
-#: config/tc-i386.c:9829
+#: config/tc-i386.c:10343
#, c-format
msgid "missing or invalid immediate expression `%s'"
msgstr ""
-#: config/tc-i386.c:9852 config/tc-i386.c:10166
+#: config/tc-i386.c:10366 config/tc-i386.c:10680
#, c-format
msgid "unimplemented segment %s in operand"
msgstr ""
-#: config/tc-i386.c:9859
+#: config/tc-i386.c:10373
#, c-format
msgid "illegal immediate register operand %s"
msgstr ""
-#: config/tc-i386.c:9907
+#: config/tc-i386.c:10421
#, c-format
msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'"
msgstr ""
-#: config/tc-i386.c:9916
+#: config/tc-i386.c:10430
#, c-format
msgid "scale factor of %d without an index register"
msgstr ""
-#: config/tc-i386.c:9938
+#: config/tc-i386.c:10452
#, c-format
msgid "at most %d displacement operands are allowed"
msgstr ""
-#: config/tc-i386.c:10132
+#: config/tc-i386.c:10646
#, c-format
msgid "missing or invalid displacement expression `%s'"
msgstr ""
-#: config/tc-i386.c:10149
+#: config/tc-i386.c:10663
#, c-format
msgid "0x%lx out range of signed 32bit displacement"
msgstr ""
-#: config/tc-i386.c:10304
+#: config/tc-i386.c:10833
#, c-format
msgid "`%s' is not valid here (expected `%c%s%s%c')"
msgstr ""
-#: config/tc-i386.c:10316
+#: config/tc-i386.c:10845
#, c-format
msgid "`%s' is not a valid %s expression"
msgstr ""
-#: config/tc-i386.c:10348
+#: config/tc-i386.c:10877
#, c-format
msgid "`%s' cannot be used here"
msgstr ""
-#: config/tc-i386.c:10355
+#: config/tc-i386.c:10884
msgid "register scaling is being ignored here"
msgstr ""
-#: config/tc-i386.c:10416
+#: config/tc-i386.c:10945
#, c-format
msgid "Missing '}': '%s'"
msgstr ""
-#: config/tc-i386.c:10422
+#: config/tc-i386.c:10951
#, c-format
msgid "Junk after '}': '%s'"
msgstr ""
-#: config/tc-i386.c:10548
+#: config/tc-i386.c:11077
#, c-format
msgid "bad memory operand `%s'"
msgstr ""
-#: config/tc-i386.c:10572
+#: config/tc-i386.c:11101
#, c-format
msgid "junk `%s' after register"
msgstr ""
-#: config/tc-i386.c:10585 config/tc-i386.c:10722 config/tc-i386.c:10766
+#: config/tc-i386.c:11114 config/tc-i386.c:11251 config/tc-i386.c:11295
#, c-format
msgid "bad register name `%s'"
msgstr ""
-#: config/tc-i386.c:10593
+#: config/tc-i386.c:11122
msgid "immediate operand illegal with absolute jump"
msgstr ""
-#: config/tc-i386.c:10711
+#: config/tc-i386.c:11240
#, c-format
msgid "expecting `,' or `)' after index register in `%s'"
msgstr ""
-#: config/tc-i386.c:10739
+#: config/tc-i386.c:11268
#, c-format
msgid "expecting `)' after scale factor in `%s'"
msgstr ""
-#: config/tc-i386.c:10747
+#: config/tc-i386.c:11276
#, c-format
msgid "expecting index register or scale factor after `,'; got '%c'"
msgstr ""
-#: config/tc-i386.c:10755
+#: config/tc-i386.c:11284
#, c-format
msgid "expecting `,' or `)' after base register in `%s'"
msgstr ""
#. It's not a memory operand; argh!
-#: config/tc-i386.c:10804
+#: config/tc-i386.c:11333
#, c-format
msgid "invalid char %s beginning operand %d `%s'"
msgstr ""
-#: config/tc-i386.c:11418
+#: config/tc-i386.c:11986
#, c-format
msgid "%s:%u: add %d%s at 0x%llx to align %s within %d-byte boundary\n"
msgstr ""
-#: config/tc-i386.c:11421
+#: config/tc-i386.c:11989
#, c-format
msgid ""
"%s:%u: add additional %d%s at 0x%llx to align %s within %d-byte boundary\n"
msgstr ""
-#: config/tc-i386.c:11427
+#: config/tc-i386.c:11995
#, c-format
msgid ""
"%s:%u: add %d%s-byte nop at 0x%llx to align %s within %d-byte boundary\n"
msgstr ""
-#: config/tc-i386.c:11494
+#: config/tc-i386.c:12062
msgid "long jump required"
msgstr ""
-#: config/tc-i386.c:11549
+#: config/tc-i386.c:12117
msgid "jump target out of range"
msgstr ""
-#: config/tc-i386.c:12127
+#: config/tc-i386.c:12702
#, c-format
msgid "invalid -mx86-used-note= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12150
+#: config/tc-i386.c:12725
msgid "no compiled in support for x86_64"
msgstr ""
-#: config/tc-i386.c:12170
+#: config/tc-i386.c:12745
msgid "no compiled in support for 32bit x86_64"
msgstr ""
-#: config/tc-i386.c:12174
+#: config/tc-i386.c:12749
msgid "32bit x86_64 is only supported for ELF"
msgstr ""
-#: config/tc-i386.c:12208 config/tc-i386.c:12296
+#: config/tc-i386.c:12783 config/tc-i386.c:12871
#, c-format
msgid "invalid -march= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12306 config/tc-i386.c:12318
+#: config/tc-i386.c:12881 config/tc-i386.c:12893
#, c-format
msgid "invalid -mtune= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12327
+#: config/tc-i386.c:12902
#, c-format
msgid "invalid -mmnemonic= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12336
+#: config/tc-i386.c:12911
#, c-format
msgid "invalid -msyntax= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12359
+#: config/tc-i386.c:12934
#, c-format
msgid "invalid -msse-check= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12370
+#: config/tc-i386.c:12945
#, c-format
msgid "invalid -moperand-check= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12379
+#: config/tc-i386.c:12954
#, c-format
msgid "invalid -mavxscalar= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12388
+#: config/tc-i386.c:12963
#, c-format
msgid "invalid -mvexwig= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12403
+#: config/tc-i386.c:12978
#, c-format
msgid "invalid -mevexlig= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12416
+#: config/tc-i386.c:12991
#, c-format
msgid "invalid -mevexrcig= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12425
+#: config/tc-i386.c:13000
#, c-format
msgid "invalid -mevexwig= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12440
+#: config/tc-i386.c:13015
#, c-format
msgid "invalid -momit-lock-prefix= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12449
+#: config/tc-i386.c:13024
#, c-format
msgid "invalid -mfence-as-lock-add= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12458
+#: config/tc-i386.c:13033
+#, c-format
+msgid "invalid -mlfence-after-load= option: `%s'"
+msgstr ""
+
+#: config/tc-i386.c:13050
+#, c-format
+msgid "invalid -mlfence-before-indirect-branch= option: `%s'"
+msgstr ""
+
+#: config/tc-i386.c:13064
+#, c-format
+msgid "invalid -mlfence-before-ret= option: `%s'"
+msgstr ""
+
+#: config/tc-i386.c:13074
#, c-format
msgid "invalid -mrelax-relocations= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12487
+#: config/tc-i386.c:13103
#, c-format
msgid "invalid -malign-branch-boundary= value: %s"
msgstr ""
-#: config/tc-i386.c:12501
+#: config/tc-i386.c:13117
#, c-format
msgid "invalid -malign-branch-prefix-size= value: %s"
msgstr ""
-#: config/tc-i386.c:12528
+#: config/tc-i386.c:13144
#, c-format
msgid "invalid -malign-branch= option: `%s'"
msgstr ""
-#: config/tc-i386.c:12684
+#: config/tc-i386.c:13300
#, c-format
msgid ""
" -Qy, -Qn ignored\n"
@@ -8617,34 +8777,34 @@ msgid ""
" -k ignored\n"
msgstr ""
-#: config/tc-i386.c:12689
+#: config/tc-i386.c:13305
#, c-format
msgid ""
" -n Do not optimize code alignment\n"
" -q quieten some warnings\n"
msgstr ""
-#: config/tc-i386.c:12693
+#: config/tc-i386.c:13309
#, c-format
msgid " -s ignored\n"
msgstr ""
-#: config/tc-i386.c:12698
+#: config/tc-i386.c:13314
#, c-format
msgid " --32/--64/--x32 generate 32bit/64bit/x32 code\n"
msgstr ""
-#: config/tc-i386.c:12702
+#: config/tc-i386.c:13318
#, c-format
msgid " --divide do not treat `/' as a comment character\n"
msgstr ""
-#: config/tc-i386.c:12705
+#: config/tc-i386.c:13321
#, c-format
msgid " --divide ignored\n"
msgstr ""
-#: config/tc-i386.c:12708
+#: config/tc-i386.c:13324
#, c-format
msgid ""
" -march=CPU[,+EXTENSION...]\n"
@@ -8652,36 +8812,36 @@ msgid ""
"of:\n"
msgstr ""
-#: config/tc-i386.c:12712
+#: config/tc-i386.c:13328
#, c-format
msgid " EXTENSION is combination of:\n"
msgstr ""
-#: config/tc-i386.c:12715
+#: config/tc-i386.c:13331
#, c-format
msgid " -mtune=CPU optimize for CPU, CPU is one of:\n"
msgstr ""
-#: config/tc-i386.c:12718
+#: config/tc-i386.c:13334
#, c-format
msgid " -msse2avx encode SSE instructions with VEX prefix\n"
msgstr ""
-#: config/tc-i386.c:12720
+#: config/tc-i386.c:13336
#, c-format
msgid ""
" -msse-check=[none|error|warning] (default: warning)\n"
" check SSE instructions\n"
msgstr ""
-#: config/tc-i386.c:12723
+#: config/tc-i386.c:13339
#, c-format
msgid ""
" -moperand-check=[none|error|warning] (default: warning)\n"
" check operand combinations for validity\n"
msgstr ""
-#: config/tc-i386.c:12726
+#: config/tc-i386.c:13342
#, c-format
msgid ""
" -mavxscalar=[128|256] (default: 128)\n"
@@ -8690,7 +8850,7 @@ msgid ""
" length\n"
msgstr ""
-#: config/tc-i386.c:12730
+#: config/tc-i386.c:13346
#, c-format
msgid ""
" -mvexwig=[0|1] (default: 0)\n"
@@ -8698,7 +8858,7 @@ msgid ""
" for VEX.W bit ignored instructions\n"
msgstr ""
-#: config/tc-i386.c:12734
+#: config/tc-i386.c:13350
#, c-format
msgid ""
" -mevexlig=[128|256|512] (default: 128)\n"
@@ -8707,7 +8867,7 @@ msgid ""
" length\n"
msgstr ""
-#: config/tc-i386.c:12738
+#: config/tc-i386.c:13354
#, c-format
msgid ""
" -mevexwig=[0|1] (default: 0)\n"
@@ -8716,7 +8876,7 @@ msgid ""
" for EVEX.W bit ignored instructions\n"
msgstr ""
-#: config/tc-i386.c:12742
+#: config/tc-i386.c:13358
#, c-format
msgid ""
" -mevexrcig=[rne|rd|ru|rz] (default: rne)\n"
@@ -8725,77 +8885,77 @@ msgid ""
" for SAE-only ignored instructions\n"
msgstr ""
-#: config/tc-i386.c:12746
+#: config/tc-i386.c:13362
#, c-format
msgid " -mmnemonic=[att|intel] "
msgstr ""
-#: config/tc-i386.c:12749
+#: config/tc-i386.c:13365
#, c-format
msgid "(default: att)\n"
msgstr ""
-#: config/tc-i386.c:12751
+#: config/tc-i386.c:13367
#, c-format
msgid "(default: intel)\n"
msgstr ""
-#: config/tc-i386.c:12752
+#: config/tc-i386.c:13368
#, c-format
msgid " use AT&T/Intel mnemonic\n"
msgstr ""
-#: config/tc-i386.c:12754
+#: config/tc-i386.c:13370
#, c-format
msgid ""
" -msyntax=[att|intel] (default: att)\n"
" use AT&T/Intel syntax\n"
msgstr ""
-#: config/tc-i386.c:12757
+#: config/tc-i386.c:13373
#, c-format
msgid " -mindex-reg support pseudo index registers\n"
msgstr ""
-#: config/tc-i386.c:12759
+#: config/tc-i386.c:13375
#, c-format
msgid " -mnaked-reg don't require `%%' prefix for registers\n"
msgstr ""
-#: config/tc-i386.c:12761
+#: config/tc-i386.c:13377
#, c-format
msgid " -madd-bnd-prefix add BND prefix for all valid branches\n"
msgstr ""
-#: config/tc-i386.c:12764
+#: config/tc-i386.c:13380
#, c-format
msgid " -mshared disable branch optimization for shared code\n"
msgstr ""
-#: config/tc-i386.c:12766
+#: config/tc-i386.c:13382
#, c-format
msgid " -mx86-used-note=[no|yes] "
msgstr ""
-#: config/tc-i386.c:12772
+#: config/tc-i386.c:13388
#, c-format
msgid ""
" generate x86 used ISA and feature properties\n"
msgstr ""
-#: config/tc-i386.c:12776
+#: config/tc-i386.c:13392
#, c-format
msgid " -mbig-obj generate big object files\n"
msgstr ""
-#: config/tc-i386.c:12779
+#: config/tc-i386.c:13395
#, c-format
msgid ""
" -momit-lock-prefix=[no|yes] (default: no)\n"
" strip all lock prefixes\n"
msgstr ""
-#: config/tc-i386.c:12782
+#: config/tc-i386.c:13398
#, c-format
msgid ""
" -mfence-as-lock-add=[no|yes] (default: no)\n"
@@ -8803,24 +8963,24 @@ msgid ""
" lock addl $0x0, (%%{re}sp)\n"
msgstr ""
-#: config/tc-i386.c:12786
+#: config/tc-i386.c:13402
#, c-format
msgid " -mrelax-relocations=[no|yes] "
msgstr ""
-#: config/tc-i386.c:12792
+#: config/tc-i386.c:13408
#, c-format
msgid " generate relax relocations\n"
msgstr ""
-#: config/tc-i386.c:12794
+#: config/tc-i386.c:13410
#, c-format
msgid ""
" -malign-branch-boundary=NUM (default: 0)\n"
" align branches within NUM byte boundary\n"
msgstr ""
-#: config/tc-i386.c:12797
+#: config/tc-i386.c:13413
#, c-format
msgid ""
" -malign-branch=TYPE[+TYPE...] (default: jcc+fused+jmp)\n"
@@ -8830,80 +8990,116 @@ msgid ""
" specify types of branches to align\n"
msgstr ""
-#: config/tc-i386.c:12802
+#: config/tc-i386.c:13418
#, c-format
msgid ""
" -malign-branch-prefix-size=NUM (default: 5)\n"
" align branches with NUM prefixes per instruction\n"
msgstr ""
-#: config/tc-i386.c:12805
+#: config/tc-i386.c:13421
#, c-format
msgid ""
" -mbranches-within-32B-boundaries\n"
" align branches within 32 byte boundary\n"
msgstr ""
-#: config/tc-i386.c:12808
+#: config/tc-i386.c:13424
+#, c-format
+msgid ""
+" -mlfence-after-load=[no|yes] (default: no)\n"
+" generate lfence after load\n"
+msgstr ""
+
+#: config/tc-i386.c:13427
+#, c-format
+msgid ""
+" -mlfence-before-indirect-branch=[none|all|register|memory] (default: "
+"none)\n"
+" generate lfence before indirect near branch\n"
+msgstr ""
+
+#: config/tc-i386.c:13430
+#, c-format
+msgid ""
+" -mlfence-before-ret=[none|or|not|shl|yes] (default: none)\n"
+" generate lfence before ret\n"
+msgstr ""
+
+#: config/tc-i386.c:13433
#, c-format
msgid " -mamd64 accept only AMD64 ISA [default]\n"
msgstr ""
-#: config/tc-i386.c:12810
+#: config/tc-i386.c:13435
#, c-format
msgid " -mintel64 accept only Intel64 ISA\n"
msgstr ""
-#: config/tc-i386.c:12851
+#: config/tc-i386.c:13476
#, c-format
msgid "Intel MCU doesn't support `%s' architecture"
msgstr ""
-#: config/tc-i386.c:12917
+#: config/tc-i386.c:13542
msgid "Intel L1OM is 64bit only"
msgstr ""
-#: config/tc-i386.c:12923
+#: config/tc-i386.c:13548
msgid "Intel K1OM is 64bit only"
msgstr ""
-#: config/tc-i386.c:12929
+#: config/tc-i386.c:13554
msgid "Intel MCU is 32bit only"
msgstr ""
-#: config/tc-i386.c:13101
+#: config/tc-i386.c:13666
+msgid ""
+"constant directive skips -mlfence-before-ret and -mlfence-before-indirect-"
+"branch"
+msgstr ""
+
+#: config/tc-i386.c:13669
+msgid "constant directive skips -mlfence-before-ret"
+msgstr ""
+
+#: config/tc-i386.c:13672
+msgid "constant directive skips -mlfence-before-indirect-branch"
+msgstr ""
+
+#: config/tc-i386.c:13736
msgid "symbol size computation overflow"
msgstr ""
-#: config/tc-i386.c:13169 config/tc-sparc.c:3861
+#: config/tc-i386.c:13804 config/tc-sparc.c:3861
#, c-format
msgid "can not do %d byte pc-relative relocation"
msgstr ""
-#: config/tc-i386.c:13187
+#: config/tc-i386.c:13822
#, c-format
msgid "can not do %d byte relocation"
msgstr ""
-#: config/tc-i386.c:13255
+#: config/tc-i386.c:13890
#, c-format
msgid "cannot represent relocation type %s in x32 mode"
msgstr ""
-#: config/tc-i386.c:13292 config/tc-s390.c:2613
+#: config/tc-i386.c:13927 config/tc-s390.c:2613
#, c-format
msgid "cannot represent relocation type %s"
msgstr ""
-#: config/tc-i386.c:13409
+#: config/tc-i386.c:14044
msgid "bad .section directive: want a,l,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-i386.c:13412
+#: config/tc-i386.c:14047
msgid "bad .section directive: want a,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-i386.c:13431
+#: config/tc-i386.c:14066
msgid ".largecomm supported only in 64bit mode, producing .comm"
msgstr ""
@@ -9610,8 +9806,8 @@ msgstr ""
msgid "Expected '('"
msgstr ""
-#: config/tc-ia64.c:7917 config/tc-pdp11.c:446 config/tc-pdp11.c:510
-#: config/tc-pdp11.c:544 config/tc-tilegx.c:1048 config/tc-tilepro.c:939
+#: config/tc-ia64.c:7917 config/tc-pdp11.c:450 config/tc-pdp11.c:514
+#: config/tc-pdp11.c:548 config/tc-tilegx.c:1048 config/tc-tilepro.c:939
#: config/tc-xstormy16.c:154
msgid "Missing ')'"
msgstr ""
@@ -9732,7 +9928,7 @@ msgstr ""
msgid "Can't add stop bit to mark end of instruction group"
msgstr ""
-#: config/tc-ia64.c:11775 read.c:2600 read.c:3239 read.c:3643 stabs.c:469
+#: config/tc-ia64.c:11775 read.c:2601 read.c:3240 read.c:3644 stabs.c:469
#, c-format
msgid "expected comma after \"%s\""
msgstr ""
@@ -9810,19 +10006,19 @@ msgstr ""
msgid "Unmatched high relocation"
msgstr ""
-#: config/tc-iq2000.c:826 config/tc-mips.c:19761 config/tc-score.c:5810
+#: config/tc-iq2000.c:826 config/tc-mips.c:19800 config/tc-score.c:5798
msgid ".end not in text section"
msgstr ""
-#: config/tc-iq2000.c:830 config/tc-score.c:5813
+#: config/tc-iq2000.c:830 config/tc-score.c:5801
msgid ".end directive without a preceding .ent directive."
msgstr ""
-#: config/tc-iq2000.c:839 config/tc-score.c:5821
+#: config/tc-iq2000.c:839 config/tc-score.c:5809
msgid ".end symbol does not match .ent symbol."
msgstr ""
-#: config/tc-iq2000.c:842 config/tc-mips.c:19781 config/tc-score.c:5826
+#: config/tc-iq2000.c:842 config/tc-mips.c:19820 config/tc-score.c:5814
msgid ".end directive missing or unknown symbol"
msgstr ""
@@ -9830,7 +10026,7 @@ msgstr ""
msgid "Expected simple number."
msgstr ""
-#: config/tc-iq2000.c:889 config/tc-mips.c:19686 config/tc-score.c:5662
+#: config/tc-iq2000.c:889 config/tc-mips.c:19725 config/tc-score.c:5664
#, c-format
msgid " *input_line_pointer == '%c' 0x%02x\n"
msgstr ""
@@ -9839,7 +10035,7 @@ msgstr ""
msgid "Invalid number"
msgstr ""
-#: config/tc-iq2000.c:925 config/tc-score.c:5700
+#: config/tc-iq2000.c:925 config/tc-score.c:5695
msgid ".ent or .aent not in text section."
msgstr ""
@@ -10008,100 +10204,100 @@ msgstr ""
msgid " -KPIC generate PIC\n"
msgstr ""
-#: config/tc-m32r.c:846
+#: config/tc-m32r.c:848
msgid "instructions write to the same destination register."
msgstr ""
-#: config/tc-m32r.c:854
+#: config/tc-m32r.c:856
msgid "Instructions do not use parallel execution pipelines."
msgstr ""
-#: config/tc-m32r.c:862
+#: config/tc-m32r.c:864
msgid "Instructions share the same execution pipeline"
msgstr ""
-#: config/tc-m32r.c:927 config/tc-m32r.c:1041
+#: config/tc-m32r.c:929 config/tc-m32r.c:1043
#, c-format
msgid "not a 16 bit instruction '%s'"
msgstr ""
-#: config/tc-m32r.c:939 config/tc-m32r.c:1053 config/tc-m32r.c:1237
+#: config/tc-m32r.c:941 config/tc-m32r.c:1055 config/tc-m32r.c:1239
#, c-format
msgid "instruction '%s' is for the M32R2 only"
msgstr ""
-#: config/tc-m32r.c:952 config/tc-m32r.c:1066 config/tc-m32r.c:1250
+#: config/tc-m32r.c:954 config/tc-m32r.c:1068 config/tc-m32r.c:1252
#, c-format
msgid "unknown instruction '%s'"
msgstr ""
-#: config/tc-m32r.c:961 config/tc-m32r.c:1073 config/tc-m32r.c:1257
+#: config/tc-m32r.c:963 config/tc-m32r.c:1075 config/tc-m32r.c:1259
#, c-format
msgid "instruction '%s' is for the M32RX only"
msgstr ""
-#: config/tc-m32r.c:970 config/tc-m32r.c:1082
+#: config/tc-m32r.c:972 config/tc-m32r.c:1084
#, c-format
msgid "instruction '%s' cannot be executed in parallel."
msgstr ""
-#: config/tc-m32r.c:1025 config/tc-m32r.c:1107 config/tc-m32r.c:1314
+#: config/tc-m32r.c:1027 config/tc-m32r.c:1109 config/tc-m32r.c:1316
msgid "internal error: lookup/get operands failed"
msgstr ""
-#: config/tc-m32r.c:1092
+#: config/tc-m32r.c:1094
#, c-format
msgid "'%s': only the NOP instruction can be issued in parallel on the m32r"
msgstr ""
-#: config/tc-m32r.c:1121
+#: config/tc-m32r.c:1123
#, c-format
msgid ""
"%s: output of 1st instruction is the same as an input to 2nd instruction - "
"is this intentional ?"
msgstr ""
-#: config/tc-m32r.c:1125
+#: config/tc-m32r.c:1127
#, c-format
msgid ""
"%s: output of 2nd instruction is the same as an input to 1st instruction - "
"is this intentional ?"
msgstr ""
-#: config/tc-m32r.c:1488 config/tc-microblaze.c:196
+#: config/tc-m32r.c:1490 config/tc-microblaze.c:196
msgid "Expected comma after symbol-name: rest of line ignored."
msgstr ""
-#: config/tc-m32r.c:1498
+#: config/tc-m32r.c:1500
#, c-format
msgid ".SCOMMon length (%ld.) <0! Ignored."
msgstr ""
-#: config/tc-m32r.c:1512 config/tc-microblaze.c:218 config/tc-ppc.c:2428
-#: config/tc-ppc.c:4423 config/tc-ppc.c:4465 config/tc-ppc.c:6022
+#: config/tc-m32r.c:1514 config/tc-microblaze.c:218 config/tc-ppc.c:2438
+#: config/tc-ppc.c:4436 config/tc-ppc.c:4478 config/tc-ppc.c:6035
msgid "ignoring bad alignment"
msgstr ""
-#: config/tc-m32r.c:1524 config/tc-microblaze.c:253 config/tc-v850.c:383
+#: config/tc-m32r.c:1526 config/tc-microblaze.c:253 config/tc-v850.c:383
msgid "Common alignment not a power of 2"
msgstr ""
-#: config/tc-m32r.c:1539 config/tc-microblaze.c:229
+#: config/tc-m32r.c:1541 config/tc-microblaze.c:229
#, c-format
msgid "Ignoring attempt to re-define symbol `%s'."
msgstr ""
-#: config/tc-m32r.c:1548
+#: config/tc-m32r.c:1550
#, c-format
msgid "Length of .scomm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
-#: config/tc-m32r.c:1925 config/tc-m32r.c:1978 config/tc-nds32.c:4797
+#: config/tc-m32r.c:1927 config/tc-m32r.c:1980 config/tc-nds32.c:4797
#: config/tc-nds32.c:4841 config/tc-sh.c:391 config/tc-sh.c:2062
msgid "Invalid PIC expression."
msgstr ""
-#: config/tc-m32r.c:2069
+#: config/tc-m32r.c:2071
msgid "Unmatched high/shigh reloc"
msgstr ""
@@ -10490,7 +10686,7 @@ msgstr ""
msgid "Line %d: unknown relocation type: 0x%x."
msgstr ""
-#: config/tc-m68hc11.c:4494 config/tc-z80.c:3086 config/tc-z80.c:3106
+#: config/tc-m68hc11.c:4494 config/tc-z80.c:3402 config/tc-z80.c:3422
msgid "Invalid directive"
msgstr ""
@@ -10907,7 +11103,7 @@ msgstr ""
msgid "Processor variants are: "
msgstr ""
-#: config/tc-m68k.c:7638 config/tc-xtensa.c:6380
+#: config/tc-m68k.c:7638 config/tc-xtensa.c:6406
#, c-format
msgid "\n"
msgstr ""
@@ -10926,7 +11122,7 @@ msgstr ""
msgid "Not a defined coldfire architecture"
msgstr ""
-#: config/tc-m68k.c:7927 read.c:4549
+#: config/tc-m68k.c:7927 read.c:4550
#, c-format
msgid "%s relocations do not fit in %u byte"
msgid_plural "%s relocations do not fit in %u bytes"
@@ -11757,724 +11953,724 @@ msgstr ""
msgid "Absolute value in relaxation code. Assembler error....."
msgstr ""
-#: config/tc-mips.c:2175
+#: config/tc-mips.c:2178
#, c-format
msgid "the %d-bit %s architecture does not support the `%s' extension"
msgstr ""
-#: config/tc-mips.c:2178
+#: config/tc-mips.c:2181
#, c-format
msgid "the `%s' extension requires %s%d revision %d or greater"
msgstr ""
-#: config/tc-mips.c:2187
+#: config/tc-mips.c:2190
#, c-format
msgid "the `%s' extension was removed in %s%d revision %d"
msgstr ""
-#: config/tc-mips.c:2196
+#: config/tc-mips.c:2199
#, c-format
msgid "the `%s' extension requires 64-bit FPRs"
msgstr ""
-#: config/tc-mips.c:3048 config/tc-mips.c:16618
+#: config/tc-mips.c:3051 config/tc-mips.c:16657
#, c-format
msgid "unrecognized register name `%s'"
msgstr ""
-#: config/tc-mips.c:3275
+#: config/tc-mips.c:3278
msgid "invalid register range"
msgstr ""
-#: config/tc-mips.c:3303
+#: config/tc-mips.c:3306
msgid "vector element must be constant"
msgstr ""
-#: config/tc-mips.c:3313
+#: config/tc-mips.c:3316
msgid "missing `]'"
msgstr ""
-#: config/tc-mips.c:3536
+#: config/tc-mips.c:3539
#, c-format
msgid "internal: bad mips opcode (mask error): %s %s"
msgstr ""
-#: config/tc-mips.c:3563
+#: config/tc-mips.c:3566
#, c-format
msgid "internal: unknown operand type: %s %s"
msgstr ""
-#: config/tc-mips.c:3596
+#: config/tc-mips.c:3599
#, c-format
msgid "internal: bad mips opcode (bits 0x%08lx doubly defined): %s %s"
msgstr ""
-#: config/tc-mips.c:3604
+#: config/tc-mips.c:3607
#, c-format
msgid "internal: bad mips opcode (bits 0x%08lx undefined): %s %s"
msgstr ""
-#: config/tc-mips.c:3611
+#: config/tc-mips.c:3614
#, c-format
msgid "internal: bad mips opcode (bits 0x%08lx defined): %s %s"
msgstr ""
-#: config/tc-mips.c:3646
+#: config/tc-mips.c:3649
#, c-format
msgid "internal error: bad microMIPS opcode (incorrect length: %u): %s %s"
msgstr ""
-#: config/tc-mips.c:3654
+#: config/tc-mips.c:3657
#, c-format
msgid "internal error: bad microMIPS opcode (opcode/length mismatch): %s %s"
msgstr ""
-#: config/tc-mips.c:3680
+#: config/tc-mips.c:3683
msgid "-G may not be used in position-independent code"
msgstr ""
-#: config/tc-mips.c:3686
+#: config/tc-mips.c:3689
msgid "-G may not be used with abicalls"
msgstr ""
#. Probably a memory allocation problem? Give up now.
-#: config/tc-mips.c:3706 config/tc-mips.c:3802
+#: config/tc-mips.c:3709 config/tc-mips.c:3805
msgid "broken assembler, no assembly attempted"
msgstr ""
-#: config/tc-mips.c:3741 config/tc-mips.c:3770
+#: config/tc-mips.c:3744 config/tc-mips.c:3773
#, c-format
msgid "internal: can't hash `%s': %s"
msgstr ""
-#: config/tc-mips.c:3950
+#: config/tc-mips.c:3953
#, c-format
msgid ".gnu_attribute %d,%d is incompatible with `%s'"
msgstr ""
-#: config/tc-mips.c:3957
+#: config/tc-mips.c:3960
#, c-format
msgid ".gnu_attribute %d,%d requires `%s'"
msgstr ""
-#: config/tc-mips.c:4018
+#: config/tc-mips.c:4021
#, c-format
msgid ".gnu_attribute %d,%d is no longer supported"
msgstr ""
-#: config/tc-mips.c:4027
+#: config/tc-mips.c:4030
#, c-format
msgid ".gnu_attribute %d,%d is not a recognized floating-point ABI"
msgstr ""
-#: config/tc-mips.c:4040
+#: config/tc-mips.c:4043
msgid "`gp=64' used with a 32-bit processor"
msgstr ""
-#: config/tc-mips.c:4043
+#: config/tc-mips.c:4046
msgid "`gp=32' used with a 64-bit ABI"
msgstr ""
-#: config/tc-mips.c:4046
+#: config/tc-mips.c:4049
msgid "`gp=64' used with a 32-bit ABI"
msgstr ""
-#: config/tc-mips.c:4053
+#: config/tc-mips.c:4056
msgid "`fp=xx' used with a cpu lacking ldc1/sdc1 instructions"
msgstr ""
-#: config/tc-mips.c:4055
+#: config/tc-mips.c:4058
msgid "`fp=xx' cannot be used with `singlefloat'"
msgstr ""
-#: config/tc-mips.c:4059
+#: config/tc-mips.c:4062
msgid "`fp=64' used with a 32-bit fpu"
msgstr ""
-#: config/tc-mips.c:4063
+#: config/tc-mips.c:4066
msgid "`fp=64' used with a 32-bit ABI"
msgstr ""
-#: config/tc-mips.c:4068
+#: config/tc-mips.c:4071
msgid "`fp=32' used with a 64-bit ABI"
msgstr ""
-#: config/tc-mips.c:4070
+#: config/tc-mips.c:4073
msgid "`fp=32' used with a MIPS R6 cpu"
msgstr ""
-#: config/tc-mips.c:4073
+#: config/tc-mips.c:4076
msgid "Unknown size of floating point registers"
msgstr ""
-#: config/tc-mips.c:4078
+#: config/tc-mips.c:4081
msgid "`nooddspreg` cannot be used with a 64-bit ABI"
msgstr ""
-#: config/tc-mips.c:4081 config/tc-mips.c:4085
+#: config/tc-mips.c:4084 config/tc-mips.c:4088
#, c-format
msgid "`%s' cannot be used with `%s'"
msgstr ""
-#: config/tc-mips.c:4090
+#: config/tc-mips.c:4093
#, c-format
msgid "branch relaxation is not supported in `%s'"
msgstr ""
-#: config/tc-mips.c:4166
+#: config/tc-mips.c:4169
msgid "trap exception not supported at ISA 1"
msgstr ""
-#: config/tc-mips.c:4179 config/tc-mips.c:17501
+#: config/tc-mips.c:4182 config/tc-mips.c:17540
#, c-format
msgid "`%s' does not support legacy NaN"
msgstr ""
-#: config/tc-mips.c:4226
+#: config/tc-mips.c:4229
#, c-format
msgid "returned from mips_ip(%s) insn_opcode = 0x%x\n"
msgstr ""
-#: config/tc-mips.c:4932
+#: config/tc-mips.c:4935
#, c-format
msgid "operand %d out of range"
msgstr ""
-#: config/tc-mips.c:4940
+#: config/tc-mips.c:4943
#, c-format
msgid "operand %d must be constant"
msgstr ""
-#: config/tc-mips.c:4984 read.c:4317 read.c:5163 write.c:263 write.c:1024
+#: config/tc-mips.c:4987 read.c:4318 read.c:5164 write.c:263 write.c:1024
msgid "register value used as expression"
msgstr ""
-#: config/tc-mips.c:4997
+#: config/tc-mips.c:5000
#, c-format
msgid "operand %d must be an immediate expression"
msgstr ""
-#: config/tc-mips.c:5118 config/tc-mips.c:5120
+#: config/tc-mips.c:5121 config/tc-mips.c:5123
#, c-format
msgid "float register should be even, was %d"
msgstr ""
-#: config/tc-mips.c:5133
+#: config/tc-mips.c:5136
#, c-format
msgid "condition code register should be even for %s, was %d"
msgstr ""
-#: config/tc-mips.c:5138
+#: config/tc-mips.c:5141
#, c-format
msgid "condition code register should be 0 or 4 for %s, was %d"
msgstr ""
-#: config/tc-mips.c:5459
+#: config/tc-mips.c:5462
msgid "invalid performance register"
msgstr ""
-#: config/tc-mips.c:5555 config/tc-mips.c:6026
+#: config/tc-mips.c:5558 config/tc-mips.c:6029
msgid "the source register must not be $0"
msgstr ""
-#: config/tc-mips.c:5831
+#: config/tc-mips.c:5834
msgid "missing frame size"
msgstr ""
-#: config/tc-mips.c:5836
+#: config/tc-mips.c:5839
msgid "frame size specified twice"
msgstr ""
-#: config/tc-mips.c:5841
+#: config/tc-mips.c:5844
msgid "invalid frame size"
msgstr ""
-#: config/tc-mips.c:5881
+#: config/tc-mips.c:5884
#, c-format
msgid "operand %d must be an immediate"
msgstr ""
-#: config/tc-mips.c:5896
+#: config/tc-mips.c:5899
msgid "invalid element selector"
msgstr ""
-#: config/tc-mips.c:5909
+#: config/tc-mips.c:5912
#, c-format
msgid "operand %d must be scalar"
msgstr ""
-#: config/tc-mips.c:6089
+#: config/tc-mips.c:6092
msgid "floating-point expression required"
msgstr ""
-#: config/tc-mips.c:6189
+#: config/tc-mips.c:6192
#, c-format
msgid "cannot use `%s' in this section"
msgstr ""
-#: config/tc-mips.c:6336
+#: config/tc-mips.c:6339
msgid "used $at without \".set noat\""
msgstr ""
-#: config/tc-mips.c:6338
+#: config/tc-mips.c:6341
#, c-format
msgid "used $%u with \".set at=$%u\""
msgstr ""
-#: config/tc-mips.c:7485
+#: config/tc-mips.c:7524
#, c-format
msgid "wrong size instruction in a %u-bit branch delay slot"
msgstr ""
-#: config/tc-mips.c:7505 config/tc-mips.c:7515 config/tc-mips.c:15916
+#: config/tc-mips.c:7544 config/tc-mips.c:7554 config/tc-mips.c:15955
#, c-format
msgid "jump to misaligned address (0x%lx)"
msgstr ""
-#: config/tc-mips.c:7530 config/tc-mips.c:7550 config/tc-mips.c:7567
-#: config/tc-mips.c:9117 config/tc-mips.c:15770 config/tc-mips.c:15777
-#: config/tc-mips.c:16170 config/tc-mips.c:19016
+#: config/tc-mips.c:7569 config/tc-mips.c:7589 config/tc-mips.c:7606
+#: config/tc-mips.c:9156 config/tc-mips.c:15809 config/tc-mips.c:15816
+#: config/tc-mips.c:16209 config/tc-mips.c:19055
#, c-format
msgid "branch to misaligned address (0x%lx)"
msgstr ""
-#: config/tc-mips.c:7536 config/tc-mips.c:7554 config/tc-mips.c:7571
-#: config/tc-mips.c:9120
+#: config/tc-mips.c:7575 config/tc-mips.c:7593 config/tc-mips.c:7610
+#: config/tc-mips.c:9159
#, c-format
msgid "branch address range overflow (0x%lx)"
msgstr ""
-#: config/tc-mips.c:7816
+#: config/tc-mips.c:7855
msgid "extended instruction in delay slot"
msgstr ""
-#: config/tc-mips.c:8280
+#: config/tc-mips.c:8319
msgid "source and destination must be different"
msgstr ""
-#: config/tc-mips.c:8283
+#: config/tc-mips.c:8322
msgid "a destination register must be supplied"
msgstr ""
-#: config/tc-mips.c:8288
+#: config/tc-mips.c:8327
msgid "the source register must not be $31"
msgstr ""
-#: config/tc-mips.c:8536 config/tc-mips.c:14506 config/tc-mips.c:19163
+#: config/tc-mips.c:8575 config/tc-mips.c:14545 config/tc-mips.c:19202
msgid "invalid unextended operand value"
msgstr ""
-#: config/tc-mips.c:8654
+#: config/tc-mips.c:8693
#, c-format
msgid "opcode not supported on this processor: %s (%s)"
msgstr ""
-#: config/tc-mips.c:8733
+#: config/tc-mips.c:8772
msgid "opcode not supported in the `insn32' mode"
msgstr ""
-#: config/tc-mips.c:8736
+#: config/tc-mips.c:8775
#, c-format
msgid "unrecognized %d-bit version of microMIPS opcode"
msgstr ""
-#: config/tc-mips.c:8792
+#: config/tc-mips.c:8831
msgid "unrecognized unextended version of MIPS16 opcode"
msgstr ""
-#: config/tc-mips.c:8795
+#: config/tc-mips.c:8834
msgid "unrecognized extended version of MIPS16 opcode"
msgstr ""
-#: config/tc-mips.c:8845 config/tc-mips.c:19034
+#: config/tc-mips.c:8884 config/tc-mips.c:19073
msgid ""
"macro instruction expanded into multiple instructions in a branch delay slot"
msgstr ""
-#: config/tc-mips.c:8848 config/tc-mips.c:19042
+#: config/tc-mips.c:8887 config/tc-mips.c:19081
msgid "macro instruction expanded into multiple instructions"
msgstr ""
-#: config/tc-mips.c:8852
+#: config/tc-mips.c:8891
msgid ""
"macro instruction expanded into a wrong size instruction in a 16-bit branch "
"delay slot"
msgstr ""
-#: config/tc-mips.c:8854
+#: config/tc-mips.c:8893
msgid ""
"macro instruction expanded into a wrong size instruction in a 32-bit branch "
"delay slot"
msgstr ""
-#: config/tc-mips.c:9317
+#: config/tc-mips.c:9356
msgid "operand overflow"
msgstr ""
-#: config/tc-mips.c:9336 config/tc-mips.c:9920 config/tc-mips.c:13987
+#: config/tc-mips.c:9375 config/tc-mips.c:9959 config/tc-mips.c:14026
msgid "macro used $at after \".set noat\""
msgstr ""
-#: config/tc-mips.c:9484 config/tc-mips.c:12298 config/tc-mips.c:12981
+#: config/tc-mips.c:9523 config/tc-mips.c:12337 config/tc-mips.c:13020
#, c-format
msgid "number (0x%s) larger than 32 bits"
msgstr ""
-#: config/tc-mips.c:9504
+#: config/tc-mips.c:9543
msgid "number larger than 64 bits"
msgstr ""
-#: config/tc-mips.c:9798 config/tc-mips.c:9826 config/tc-mips.c:9864
-#: config/tc-mips.c:9909 config/tc-mips.c:12541 config/tc-mips.c:12580
-#: config/tc-mips.c:12619 config/tc-mips.c:13077 config/tc-mips.c:13129
+#: config/tc-mips.c:9837 config/tc-mips.c:9865 config/tc-mips.c:9903
+#: config/tc-mips.c:9948 config/tc-mips.c:12580 config/tc-mips.c:12619
+#: config/tc-mips.c:12658 config/tc-mips.c:13116 config/tc-mips.c:13168
msgid "PIC code offset overflow (max 16 signed bits)"
msgstr ""
-#: config/tc-mips.c:10442
+#: config/tc-mips.c:10481
#, c-format
msgid "BALIGN immediate not 0, 1, 2 or 3 (%lu)"
msgstr ""
#. Result is always true.
-#: config/tc-mips.c:10538
+#: config/tc-mips.c:10577
#, c-format
msgid "branch %s is always true"
msgstr ""
-#: config/tc-mips.c:10766 config/tc-mips.c:10876
+#: config/tc-mips.c:10805 config/tc-mips.c:10915
msgid "divide by zero"
msgstr ""
-#: config/tc-mips.c:10966
+#: config/tc-mips.c:11005
msgid "dla used to load 32-bit register; recommend using la instead"
msgstr ""
-#: config/tc-mips.c:10970
+#: config/tc-mips.c:11009
msgid "la used to load 64-bit address; recommend using dla instead"
msgstr ""
-#: config/tc-mips.c:11079 config/tc-riscv.c:1111 config/tc-z80.c:1150
+#: config/tc-mips.c:11118 config/tc-riscv.c:1443
msgid "offset too large"
msgstr ""
-#: config/tc-mips.c:11253 config/tc-mips.c:11531
+#: config/tc-mips.c:11292 config/tc-mips.c:11570
msgid "PIC code offset overflow (max 32 signed bits)"
msgstr ""
-#: config/tc-mips.c:11601 config/tc-mips.c:11677
+#: config/tc-mips.c:11640 config/tc-mips.c:11716
#, c-format
msgid "opcode not supported in the `insn32' mode `%s'"
msgstr ""
-#: config/tc-mips.c:11629
+#: config/tc-mips.c:11668
msgid "MIPS PIC call to register other than $25"
msgstr ""
-#: config/tc-mips.c:11645 config/tc-mips.c:11656 config/tc-mips.c:11789
-#: config/tc-mips.c:11800
+#: config/tc-mips.c:11684 config/tc-mips.c:11695 config/tc-mips.c:11828
+#: config/tc-mips.c:11839
msgid "no .cprestore pseudo-op used in PIC code"
msgstr ""
-#: config/tc-mips.c:11650 config/tc-mips.c:11794
+#: config/tc-mips.c:11689 config/tc-mips.c:11833
msgid "no .frame pseudo-op used in PIC code"
msgstr ""
-#: config/tc-mips.c:11815
+#: config/tc-mips.c:11854
msgid "non-PIC jump used in PIC library"
msgstr ""
-#: config/tc-mips.c:12798
+#: config/tc-mips.c:12837
#, c-format
msgid "Unable to generate `%s' compliant code without mthc1"
msgstr ""
-#: config/tc-mips.c:13541
+#: config/tc-mips.c:13580
#, c-format
msgid "instruction %s: result is always false"
msgstr ""
-#: config/tc-mips.c:13694
+#: config/tc-mips.c:13733
#, c-format
msgid "instruction %s: result is always true"
msgstr ""
#. FIXME: Check if this is one of the itbl macros, since they
#. are added dynamically.
-#: config/tc-mips.c:13983
+#: config/tc-mips.c:14022
#, c-format
msgid "macro %s not implemented yet"
msgstr ""
-#: config/tc-mips.c:14516
+#: config/tc-mips.c:14555
msgid "extended operand requested but not required"
msgstr ""
-#: config/tc-mips.c:14525
+#: config/tc-mips.c:14564
msgid "operand value out of range for instruction"
msgstr ""
-#: config/tc-mips.c:14624
+#: config/tc-mips.c:14663
#, c-format
msgid "relocation %s isn't supported by the current ABI"
msgstr ""
-#: config/tc-mips.c:14680
+#: config/tc-mips.c:14719
msgid "unclosed '('"
msgstr ""
-#: config/tc-mips.c:14746
+#: config/tc-mips.c:14785
#, c-format
msgid "a different %s was already specified, is now %s"
msgstr ""
-#: config/tc-mips.c:14913
+#: config/tc-mips.c:14952
msgid "-mmicromips cannot be used with -mips16"
msgstr ""
-#: config/tc-mips.c:14928
+#: config/tc-mips.c:14967
msgid "-mips16 cannot be used with -micromips"
msgstr ""
-#: config/tc-mips.c:15097 config/tc-mips.c:15155
+#: config/tc-mips.c:15136 config/tc-mips.c:15194
msgid "no compiled in support for 64 bit object file format"
msgstr ""
-#: config/tc-mips.c:15162
+#: config/tc-mips.c:15201
#, c-format
msgid "invalid abi -mabi=%s"
msgstr ""
-#: config/tc-mips.c:15202
+#: config/tc-mips.c:15241
#, c-format
msgid "invalid NaN setting -mnan=%s"
msgstr ""
-#: config/tc-mips.c:15236
+#: config/tc-mips.c:15275
msgid "-G not supported in this configuration"
msgstr ""
-#: config/tc-mips.c:15262
+#: config/tc-mips.c:15301
#, c-format
msgid "-%s conflicts with the other architecture options, which imply -%s"
msgstr ""
-#: config/tc-mips.c:15278
+#: config/tc-mips.c:15317
#, c-format
msgid "-march=%s is not compatible with the selected ABI"
msgstr ""
-#: config/tc-mips.c:15774 config/tc-mips.c:16164 config/tc-mips.c:19013
+#: config/tc-mips.c:15813 config/tc-mips.c:16203 config/tc-mips.c:19052
msgid "branch to a symbol in another ISA mode"
msgstr ""
-#: config/tc-mips.c:15781 config/tc-mips.c:15921 config/tc-mips.c:16174
+#: config/tc-mips.c:15820 config/tc-mips.c:15960 config/tc-mips.c:16213
#, c-format
msgid "cannot encode misaligned addend in the relocatable field (0x%lx)"
msgstr ""
-#: config/tc-mips.c:15818
+#: config/tc-mips.c:15857
msgid "PC-relative reference to a different section"
msgstr ""
-#: config/tc-mips.c:15890 config/tc-riscv.c:2412
+#: config/tc-mips.c:15929 config/tc-riscv.c:2865
msgid "TLS relocation against a constant"
msgstr ""
-#: config/tc-mips.c:15910
+#: config/tc-mips.c:15949
msgid "jump to a symbol in another ISA mode"
msgstr ""
-#: config/tc-mips.c:15913
+#: config/tc-mips.c:15952
msgid "JALX to a symbol in the same ISA mode"
msgstr ""
-#: config/tc-mips.c:15997
+#: config/tc-mips.c:16036
msgid "unsupported constant in relocation"
msgstr ""
-#: config/tc-mips.c:16069
+#: config/tc-mips.c:16108
#, c-format
msgid "PC-relative access using misaligned symbol (%lx)"
msgstr ""
-#: config/tc-mips.c:16073
+#: config/tc-mips.c:16112
#, c-format
msgid "PC-relative access using misaligned offset (%lx)"
msgstr ""
-#: config/tc-mips.c:16086 config/tc-mips.c:16105
+#: config/tc-mips.c:16125 config/tc-mips.c:16144
msgid "PC-relative access out of range"
msgstr ""
-#: config/tc-mips.c:16092
+#: config/tc-mips.c:16131
#, c-format
msgid "PC-relative access to misaligned address (%lx)"
msgstr ""
-#: config/tc-mips.c:16259
+#: config/tc-mips.c:16298
#, c-format
msgid "alignment too large, %d assumed"
msgstr ""
-#: config/tc-mips.c:16262
+#: config/tc-mips.c:16301
msgid "alignment negative, 0 assumed"
msgstr ""
-#: config/tc-mips.c:16498
+#: config/tc-mips.c:16537
#, c-format
msgid "%s: no such section"
msgstr ""
-#: config/tc-mips.c:16554
+#: config/tc-mips.c:16593
#, c-format
msgid ".option pic%d not supported"
msgstr ""
-#: config/tc-mips.c:16556
+#: config/tc-mips.c:16595
#, c-format
msgid ".option pic%d not supported in VxWorks PIC mode"
msgstr ""
-#: config/tc-mips.c:16568 config/tc-mips.c:16908
+#: config/tc-mips.c:16607 config/tc-mips.c:16947
msgid "-G may not be used with SVR4 PIC code"
msgstr ""
-#: config/tc-mips.c:16574
+#: config/tc-mips.c:16613
#, c-format
msgid "unrecognized option \"%s\""
msgstr ""
-#: config/tc-mips.c:16680
+#: config/tc-mips.c:16719
#, c-format
msgid "unknown architecture %s"
msgstr ""
-#: config/tc-mips.c:16695 config/tc-mips.c:16859
+#: config/tc-mips.c:16734 config/tc-mips.c:16898
#, c-format
msgid "unknown ISA level %s"
msgstr ""
-#: config/tc-mips.c:16705
+#: config/tc-mips.c:16744
#, c-format
msgid "unknown ISA or architecture %s"
msgstr ""
-#: config/tc-mips.c:16764
+#: config/tc-mips.c:16803
msgid "`noreorder' must be set before `nomacro'"
msgstr ""
-#: config/tc-mips.c:16794
+#: config/tc-mips.c:16833
msgid ".set pop with no .set push"
msgstr ""
-#: config/tc-mips.c:16813
+#: config/tc-mips.c:16852
#, c-format
msgid "tried to set unrecognized symbol: %s\n"
msgstr ""
-#: config/tc-mips.c:16886
+#: config/tc-mips.c:16925
#, c-format
msgid ".module used with unrecognized symbol: %s\n"
msgstr ""
-#: config/tc-mips.c:16892
+#: config/tc-mips.c:16931
msgid ".module is not permitted after generating code"
msgstr ""
-#: config/tc-mips.c:16952 config/tc-mips.c:17031 config/tc-mips.c:17135
-#: config/tc-mips.c:17165 config/tc-mips.c:17214
+#: config/tc-mips.c:16991 config/tc-mips.c:17070 config/tc-mips.c:17174
+#: config/tc-mips.c:17204 config/tc-mips.c:17253
#, c-format
msgid "%s not supported in MIPS16 mode"
msgstr ""
-#: config/tc-mips.c:16959
+#: config/tc-mips.c:16998
msgid ".cpload not in noreorder section"
msgstr ""
-#: config/tc-mips.c:17040 config/tc-mips.c:17059
+#: config/tc-mips.c:17079 config/tc-mips.c:17098
msgid "missing argument separator ',' for .cpsetup"
msgstr ""
-#: config/tc-mips.c:17257
+#: config/tc-mips.c:17296
#, c-format
msgid "unsupported use of %s"
msgstr ""
-#: config/tc-mips.c:17348
+#: config/tc-mips.c:17387
msgid "unsupported use of .gpword"
msgstr ""
-#: config/tc-mips.c:17386
+#: config/tc-mips.c:17425
msgid "unsupported use of .gpdword"
msgstr ""
-#: config/tc-mips.c:17418
+#: config/tc-mips.c:17457
msgid "unsupported use of .ehword"
msgstr ""
-#: config/tc-mips.c:17505
+#: config/tc-mips.c:17544
msgid "bad .nan directive"
msgstr ""
-#: config/tc-mips.c:17554
+#: config/tc-mips.c:17593
#, c-format
msgid "ignoring attempt to redefine symbol %s"
msgstr ""
-#: config/tc-mips.c:17569 ecoff.c:3372
+#: config/tc-mips.c:17608 ecoff.c:3372
msgid "bad .weakext directive"
msgstr ""
-#: config/tc-mips.c:18538 config/tc-mips.c:18815
+#: config/tc-mips.c:18577 config/tc-mips.c:18854
msgid "relaxed out-of-range branch into a jump"
msgstr ""
-#: config/tc-mips.c:19038
+#: config/tc-mips.c:19077
msgid "extended instruction in a branch delay slot"
msgstr ""
-#: config/tc-mips.c:19152 config/tc-xtensa.c:1676 config/tc-xtensa.c:1954
+#: config/tc-mips.c:19191 config/tc-xtensa.c:1682 config/tc-xtensa.c:1960
msgid "unsupported relocation"
msgstr ""
-#: config/tc-mips.c:19660 config/tc-score.c:5636
+#: config/tc-mips.c:19699 config/tc-score.c:5638
msgid "expected simple number"
msgstr ""
-#: config/tc-mips.c:19688 config/tc-score.c:5663
+#: config/tc-mips.c:19727 config/tc-score.c:5665
msgid "invalid number"
msgstr ""
-#: config/tc-mips.c:19765 ecoff.c:2999
+#: config/tc-mips.c:19804 ecoff.c:2999
msgid ".end directive without a preceding .ent directive"
msgstr ""
-#: config/tc-mips.c:19774
+#: config/tc-mips.c:19813
msgid ".end symbol does not match .ent symbol"
msgstr ""
-#: config/tc-mips.c:19851
+#: config/tc-mips.c:19890
msgid ".ent or .aent not in text section"
msgstr ""
-#: config/tc-mips.c:19854 config/tc-score.c:5702
+#: config/tc-mips.c:19893 config/tc-score.c:5697
msgid "missing .end"
msgstr ""
-#: config/tc-mips.c:19937
+#: config/tc-mips.c:19976
msgid ".mask/.fmask outside of .ent"
msgstr ""
-#: config/tc-mips.c:19944
+#: config/tc-mips.c:19983
msgid "bad .mask/.fmask directive"
msgstr ""
-#: config/tc-mips.c:20247
+#: config/tc-mips.c:20286
#, c-format
msgid "bad value (%s) for %s"
msgstr ""
-#: config/tc-mips.c:20311
+#: config/tc-mips.c:20350
#, c-format
msgid ""
"MIPS options:\n"
@@ -12485,7 +12681,7 @@ msgid ""
"\t\t\timplicitly with the gp register [default 8]\n"
msgstr ""
-#: config/tc-mips.c:20318
+#: config/tc-mips.c:20357
#, c-format
msgid ""
"-mips1\t\t\tgenerate MIPS ISA I instructions\n"
@@ -12506,7 +12702,7 @@ msgid ""
"-march=CPU/-mtune=CPU\tgenerate code/schedule for CPU, where CPU is one of:\n"
msgstr ""
-#: config/tc-mips.c:20343
+#: config/tc-mips.c:20382
#, c-format
msgid ""
"-mCPU\t\t\tequivalent to -march=CPU -mtune=CPU. Deprecated.\n"
@@ -12514,105 +12710,105 @@ msgid ""
"\t\t\tFor -mCPU and -no-mCPU, CPU must be one of:\n"
msgstr ""
-#: config/tc-mips.c:20356
+#: config/tc-mips.c:20395
#, c-format
msgid ""
"-mips16\t\t\tgenerate mips16 instructions\n"
"-no-mips16\t\tdo not generate mips16 instructions\n"
msgstr ""
-#: config/tc-mips.c:20359
+#: config/tc-mips.c:20398
#, c-format
msgid ""
"-mmips16e2\t\tgenerate MIPS16e2 instructions\n"
"-mno-mips16e2\t\tdo not generate MIPS16e2 instructions\n"
msgstr ""
-#: config/tc-mips.c:20362
+#: config/tc-mips.c:20401
#, c-format
msgid ""
"-mmicromips\t\tgenerate microMIPS instructions\n"
"-mno-micromips\t\tdo not generate microMIPS instructions\n"
msgstr ""
-#: config/tc-mips.c:20365
+#: config/tc-mips.c:20404
#, c-format
msgid ""
"-msmartmips\t\tgenerate smartmips instructions\n"
"-mno-smartmips\t\tdo not generate smartmips instructions\n"
msgstr ""
-#: config/tc-mips.c:20368
+#: config/tc-mips.c:20407
#, c-format
msgid ""
"-mdsp\t\t\tgenerate DSP instructions\n"
"-mno-dsp\t\tdo not generate DSP instructions\n"
msgstr ""
-#: config/tc-mips.c:20371
+#: config/tc-mips.c:20410
#, c-format
msgid ""
"-mdspr2\t\t\tgenerate DSP R2 instructions\n"
"-mno-dspr2\t\tdo not generate DSP R2 instructions\n"
msgstr ""
-#: config/tc-mips.c:20374
+#: config/tc-mips.c:20413
#, c-format
msgid ""
"-mdspr3\t\t\tgenerate DSP R3 instructions\n"
"-mno-dspr3\t\tdo not generate DSP R3 instructions\n"
msgstr ""
-#: config/tc-mips.c:20377
+#: config/tc-mips.c:20416
#, c-format
msgid ""
"-mmt\t\t\tgenerate MT instructions\n"
"-mno-mt\t\t\tdo not generate MT instructions\n"
msgstr ""
-#: config/tc-mips.c:20380
+#: config/tc-mips.c:20419
#, c-format
msgid ""
"-mmcu\t\t\tgenerate MCU instructions\n"
"-mno-mcu\t\tdo not generate MCU instructions\n"
msgstr ""
-#: config/tc-mips.c:20383
+#: config/tc-mips.c:20422
#, c-format
msgid ""
"-mmsa\t\t\tgenerate MSA instructions\n"
"-mno-msa\t\tdo not generate MSA instructions\n"
msgstr ""
-#: config/tc-mips.c:20386
+#: config/tc-mips.c:20425
#, c-format
msgid ""
"-mxpa\t\t\tgenerate eXtended Physical Address (XPA) instructions\n"
"-mno-xpa\t\tdo not generate eXtended Physical Address (XPA) instructions\n"
msgstr ""
-#: config/tc-mips.c:20389
+#: config/tc-mips.c:20428
#, c-format
msgid ""
"-mvirt\t\t\tgenerate Virtualization instructions\n"
"-mno-virt\t\tdo not generate Virtualization instructions\n"
msgstr ""
-#: config/tc-mips.c:20392
+#: config/tc-mips.c:20431
#, c-format
msgid ""
"-mcrc\t\t\tgenerate CRC instructions\n"
"-mno-crc\t\tdo not generate CRC instructions\n"
msgstr ""
-#: config/tc-mips.c:20395
+#: config/tc-mips.c:20434
#, c-format
msgid ""
"-mginv\t\t\tgenerate Global INValidate (GINV) instructions\n"
"-mno-ginv\t\tdo not generate Global INValidate instructions\n"
msgstr ""
-#: config/tc-mips.c:20398
+#: config/tc-mips.c:20437
#, c-format
msgid ""
"-mloongson-mmi\t\tgenerate Loongson MultiMedia extensions Instructions (MMI) "
@@ -12621,7 +12817,7 @@ msgid ""
"Instructions\n"
msgstr ""
-#: config/tc-mips.c:20401
+#: config/tc-mips.c:20440
#, c-format
msgid ""
"-mloongson-cam\t\tgenerate Loongson Content Address Memory (CAM) "
@@ -12630,35 +12826,35 @@ msgid ""
"Instructions\n"
msgstr ""
-#: config/tc-mips.c:20404
+#: config/tc-mips.c:20443
#, c-format
msgid ""
"-mloongson-ext\t\tgenerate Loongson EXTensions (EXT) instructions\n"
"-mno-loongson-ext\tdo not generate Loongson EXTensions Instructions\n"
msgstr ""
-#: config/tc-mips.c:20407
+#: config/tc-mips.c:20446
#, c-format
msgid ""
"-mloongson-ext2\t\tgenerate Loongson EXTensions R2 (EXT2) instructions\n"
"-mno-loongson-ext2\tdo not generate Loongson EXTensions R2 Instructions\n"
msgstr ""
-#: config/tc-mips.c:20410
+#: config/tc-mips.c:20449
#, c-format
msgid ""
"-minsn32\t\tonly generate 32-bit microMIPS instructions\n"
"-mno-insn32\t\tgenerate all microMIPS instructions\n"
msgstr ""
-#: config/tc-mips.c:20414
+#: config/tc-mips.c:20453
#, c-format
msgid ""
"-mfix-loongson3-llsc\twork around Loongson3 LL/SC errata, default\n"
"-mno-fix-loongson3-llsc\tdisable work around Loongson3 LL/SC errata\n"
msgstr ""
-#: config/tc-mips.c:20418
+#: config/tc-mips.c:20457
#, c-format
msgid ""
"-mfix-loongson3-llsc\twork around Loongson3 LL/SC errata\n"
@@ -12666,7 +12862,7 @@ msgid ""
"default\n"
msgstr ""
-#: config/tc-mips.c:20422
+#: config/tc-mips.c:20461
#, c-format
msgid ""
"-mfix-loongson2f-jump\twork around Loongson2F JUMP instructions\n"
@@ -12688,7 +12884,7 @@ msgid ""
"--break, --no-trap\tbreak exception on div by 0 and mult overflow\n"
msgstr ""
-#: config/tc-mips.c:20440
+#: config/tc-mips.c:20479
#, c-format
msgid ""
"-mhard-float\t\tallow floating-point instructions\n"
@@ -12703,7 +12899,7 @@ msgid ""
"-mnan=ENCODING\t\tselect an IEEE 754 NaN encoding convention, either of:\n"
msgstr ""
-#: config/tc-mips.c:20458
+#: config/tc-mips.c:20497
#, c-format
msgid ""
"-KPIC, -call_shared\tgenerate SVR4 position independent code\n"
@@ -12717,26 +12913,26 @@ msgid ""
"-mabi=ABI\t\tcreate ABI conformant object file for:\n"
msgstr ""
-#: config/tc-mips.c:20479
+#: config/tc-mips.c:20518
#, c-format
msgid "-32\t\t\tcreate o32 ABI object file%s\n"
msgstr ""
-#: config/tc-mips.c:20481 config/tc-mips.c:20484 config/tc-mips.c:20487
+#: config/tc-mips.c:20520 config/tc-mips.c:20523 config/tc-mips.c:20526
msgid " (default)"
msgstr ""
-#: config/tc-mips.c:20482
+#: config/tc-mips.c:20521
#, c-format
msgid "-n32\t\t\tcreate n32 ABI object file%s\n"
msgstr ""
-#: config/tc-mips.c:20485
+#: config/tc-mips.c:20524
#, c-format
msgid "-64\t\t\tcreate 64 ABI object file%s\n"
msgstr ""
-#: config/tc-mips.c:20567
+#: config/tc-mips.c:20606
msgid "missing .end at end of assembly"
msgstr ""
@@ -12967,7 +13163,7 @@ msgstr ""
#. We will only get here in rare cases involving #NO_APP,
#. where the unterminated string is not recognized by the
#. preformatting pass.
-#: config/tc-mmix.c:4136 config/tc-mmix.c:4294 config/tc-z80.c:2836
+#: config/tc-mmix.c:4136 config/tc-mmix.c:4294 config/tc-z80.c:3152
msgid "unterminated string"
msgstr ""
@@ -13005,7 +13201,7 @@ msgid "Unrecognized opcode: `%s'"
msgstr ""
#. xgettext:c-format.
-#: config/tc-mn10200.c:1139 config/tc-mn10300.c:1821 config/tc-ppc.c:4069
+#: config/tc-mn10200.c:1139 config/tc-mn10300.c:1821 config/tc-ppc.c:4082
#: config/tc-s390.c:1612 config/tc-v850.c:3043
#, c-format
msgid "junk at end of line: `%s'"
@@ -13031,41 +13227,41 @@ msgstr ""
msgid "Bad relocation fixup type (%d)"
msgstr ""
-#: config/tc-moxie.c:206 config/tc-moxie.c:225 config/tc-moxie.c:316
-#: config/tc-moxie.c:362
+#: config/tc-moxie.c:204 config/tc-moxie.c:223 config/tc-moxie.c:314
+#: config/tc-moxie.c:360
msgid "expecting comma delimited register operands"
msgstr ""
-#: config/tc-moxie.c:252 config/tc-moxie.c:392 config/tc-moxie.c:422
-#: config/tc-moxie.c:497
+#: config/tc-moxie.c:250 config/tc-moxie.c:390 config/tc-moxie.c:420
+#: config/tc-moxie.c:495
msgid "expecting comma delimited operands"
msgstr ""
-#: config/tc-moxie.c:320 config/tc-moxie.c:348
+#: config/tc-moxie.c:318 config/tc-moxie.c:346
msgid "expecting indirect register `($rA)'"
msgstr ""
-#: config/tc-moxie.c:328 config/tc-moxie.c:356 config/tc-moxie.c:447
-#: config/tc-moxie.c:489
+#: config/tc-moxie.c:326 config/tc-moxie.c:354 config/tc-moxie.c:445
+#: config/tc-moxie.c:487
msgid "missing closing parenthesis"
msgstr ""
-#: config/tc-moxie.c:439 config/tc-moxie.c:481
+#: config/tc-moxie.c:437 config/tc-moxie.c:479
msgid "expecting indirect register `($rX)'"
msgstr ""
-#: config/tc-moxie.c:559 config/tc-pj.c:313
+#: config/tc-moxie.c:557 config/tc-pj.c:313
msgid "Something forgot to clean up\n"
msgstr ""
-#: config/tc-moxie.c:643
+#: config/tc-moxie.c:641
#, c-format
msgid ""
" -EB assemble for a big endian system (default)\n"
" -EL assemble for a little endian system\n"
msgstr ""
-#: config/tc-moxie.c:703
+#: config/tc-moxie.c:701
msgid "pcrel too far BFD_RELOC_MOXIE_10"
msgstr ""
@@ -14144,7 +14340,7 @@ msgid "badly formed expression near %s"
msgstr ""
#: config/tc-nios2.c:3108 config/tc-nios2.c:3135 config/tc-pru.c:1413
-#: config/tc-pru.c:1438 config/tc-xtensa.c:2128
+#: config/tc-pru.c:1438 config/tc-xtensa.c:2134
msgid "too many arguments"
msgstr ""
@@ -14183,19 +14379,24 @@ msgstr ""
msgid "Bad .section directive: want a,s,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-nios2.c:4026
+#: config/tc-nios2.c:4029
#, c-format
msgid "Illegal operands: %%tls_ldo in %d-byte data field"
msgstr ""
-#: config/tc-nios2.c:4038 config/tc-nios2.c:4056 config/tc-nios2.c:4063
+#: config/tc-nios2.c:4041
#, c-format
-msgid "Illegal operands: %%tls_ldo requires arguments in ()"
+msgid "Illegal operands: %%gotoff in %d-byte data field"
msgstr ""
-#: config/tc-nios2.c:4070
+#: config/tc-nios2.c:4054 config/tc-nios2.c:4073 config/tc-nios2.c:4081
#, c-format
-msgid "Illegal operands: garbage after %%tls_ldo()"
+msgid "Illegal operands: %s requires arguments in ()"
+msgstr ""
+
+#: config/tc-nios2.c:4089
+#, c-format
+msgid "Illegal operands: garbage after %s()"
msgstr ""
#: config/tc-ns32k.c:437
@@ -14376,81 +14577,81 @@ msgstr ""
msgid "Cannot find relocation type for symbol %s, code %d"
msgstr ""
-#: config/tc-pdp11.c:340 config/tc-pdp11.c:357 config/tc-pdp11.c:380
-#: config/tc-pdp11.c:386 config/tc-pdp11.c:399
+#: config/tc-pdp11.c:344 config/tc-pdp11.c:361 config/tc-pdp11.c:384
+#: config/tc-pdp11.c:390 config/tc-pdp11.c:403
msgid "Bad register name"
msgstr ""
-#: config/tc-pdp11.c:418 config/tc-pdp11.c:482 config/tc-pdp11.c:493
+#: config/tc-pdp11.c:422 config/tc-pdp11.c:486 config/tc-pdp11.c:497
msgid "Error in expression"
msgstr ""
-#: config/tc-pdp11.c:490
+#: config/tc-pdp11.c:494
msgid "Low order bits truncated in immediate float operand"
msgstr ""
-#: config/tc-pdp11.c:634
+#: config/tc-pdp11.c:638
msgid "Float AC not legal as integer operand"
msgstr ""
-#: config/tc-pdp11.c:654
+#: config/tc-pdp11.c:658
msgid "General register not legal as float operand"
msgstr ""
-#: config/tc-pdp11.c:687
+#: config/tc-pdp11.c:691
msgid "No instruction found"
msgstr ""
-#: config/tc-pdp11.c:697 config/tc-z80.c:3277 config/tc-z80.c:3298
+#: config/tc-pdp11.c:701 config/tc-z80.c:3617
#, c-format
msgid "Unknown instruction '%s'"
msgstr ""
-#: config/tc-pdp11.c:703
+#: config/tc-pdp11.c:707
#, c-format
msgid "Unsupported instruction set extension: %s"
msgstr ""
-#: config/tc-pdp11.c:737
+#: config/tc-pdp11.c:741
msgid "operand is not an absolute constant"
msgstr ""
-#: config/tc-pdp11.c:745
+#: config/tc-pdp11.c:749
msgid "3-bit immediate out of range"
msgstr ""
-#: config/tc-pdp11.c:752
+#: config/tc-pdp11.c:756
msgid "6-bit immediate out of range"
msgstr ""
-#: config/tc-pdp11.c:759
+#: config/tc-pdp11.c:763
msgid "8-bit immediate out of range"
msgstr ""
-#: config/tc-pdp11.c:776 config/tc-pdp11.c:969
+#: config/tc-pdp11.c:780 config/tc-pdp11.c:973
msgid "Symbol expected"
msgstr ""
-#: config/tc-pdp11.c:781
+#: config/tc-pdp11.c:785
msgid "8-bit displacement out of range"
msgstr ""
-#: config/tc-pdp11.c:823 config/tc-pdp11.c:844 config/tc-pdp11.c:861
-#: config/tc-pdp11.c:882 config/tc-pdp11.c:899 config/tc-pdp11.c:920
-#: config/tc-pdp11.c:939 config/tc-pdp11.c:960
+#: config/tc-pdp11.c:827 config/tc-pdp11.c:848 config/tc-pdp11.c:865
+#: config/tc-pdp11.c:886 config/tc-pdp11.c:903 config/tc-pdp11.c:924
+#: config/tc-pdp11.c:943 config/tc-pdp11.c:964
msgid "Missing ','"
msgstr ""
-#: config/tc-pdp11.c:974
+#: config/tc-pdp11.c:978
msgid "6-bit displacement out of range"
msgstr ""
-#: config/tc-pdp11.c:995 config/tc-tilegx.c:1216 config/tc-tilepro.c:1102
+#: config/tc-pdp11.c:999 config/tc-tilegx.c:1216 config/tc-tilepro.c:1102
#: config/tc-vax.c:1950
msgid "Too many operands"
msgstr ""
-#: config/tc-pdp11.c:1445
+#: config/tc-pdp11.c:1449
#, c-format
msgid "Can not represent %s relocation in this object file format"
msgstr ""
@@ -14475,704 +14676,704 @@ msgid ""
"-big\t\t\tgenerate big endian code\n"
msgstr ""
-#: config/tc-pj.c:380 config/tc-sh.c:3594 config/tc-sh.c:3601
-#: config/tc-sh.c:3608 config/tc-sh.c:3615
+#: config/tc-pj.c:380 config/tc-sh.c:3595 config/tc-sh.c:3602
+#: config/tc-sh.c:3609 config/tc-sh.c:3616
msgid "pcrel too far"
msgstr ""
-#: config/tc-ppc.c:977 config/tc-ppc.c:985 config/tc-ppc.c:3573
+#: config/tc-ppc.c:987 config/tc-ppc.c:995 config/tc-ppc.c:3586
msgid "invalid register expression"
msgstr ""
-#: config/tc-ppc.c:1145 config/tc-ppc.c:1203 config/tc-ppc.c:1251
+#: config/tc-ppc.c:1155 config/tc-ppc.c:1213 config/tc-ppc.c:1261
msgid "the use of -mvle requires big endian."
msgstr ""
-#: config/tc-ppc.c:1183 config/tc-ppc.c:1205
+#: config/tc-ppc.c:1193 config/tc-ppc.c:1215
msgid "the use of -mvle requires -a32."
msgstr ""
-#: config/tc-ppc.c:1185
+#: config/tc-ppc.c:1195
#, c-format
msgid "%s unsupported"
msgstr ""
-#: config/tc-ppc.c:1278 config/tc-s390.c:433 config/tc-s390.c:440
+#: config/tc-ppc.c:1288 config/tc-s390.c:433 config/tc-s390.c:440
#, c-format
msgid "invalid switch -m%s"
msgstr ""
-#: config/tc-ppc.c:1309
+#: config/tc-ppc.c:1319
msgid "--nops needs a numeric argument"
msgstr ""
-#: config/tc-ppc.c:1345
+#: config/tc-ppc.c:1355
#, c-format
msgid "PowerPC options:\n"
msgstr ""
-#: config/tc-ppc.c:1347
+#: config/tc-ppc.c:1357
#, c-format
msgid "-a32 generate ELF32/XCOFF32\n"
msgstr ""
-#: config/tc-ppc.c:1350
+#: config/tc-ppc.c:1360
#, c-format
msgid "-a64 generate ELF64/XCOFF64\n"
msgstr ""
-#: config/tc-ppc.c:1352
+#: config/tc-ppc.c:1362
#, c-format
msgid "-u ignored\n"
msgstr ""
-#: config/tc-ppc.c:1354
+#: config/tc-ppc.c:1364
#, c-format
msgid "-mpwrx, -mpwr2 generate code for POWER/2 (RIOS2)\n"
msgstr ""
-#: config/tc-ppc.c:1356
+#: config/tc-ppc.c:1366
#, c-format
msgid "-mpwr generate code for POWER (RIOS1)\n"
msgstr ""
-#: config/tc-ppc.c:1358
+#: config/tc-ppc.c:1368
#, c-format
msgid "-m601 generate code for PowerPC 601\n"
msgstr ""
-#: config/tc-ppc.c:1360
+#: config/tc-ppc.c:1370
#, c-format
msgid ""
"-mppc, -mppc32, -m603, -m604\n"
" generate code for PowerPC 603/604\n"
msgstr ""
-#: config/tc-ppc.c:1363
+#: config/tc-ppc.c:1373
#, c-format
msgid "-m403 generate code for PowerPC 403\n"
msgstr ""
-#: config/tc-ppc.c:1365
+#: config/tc-ppc.c:1375
#, c-format
msgid "-m405 generate code for PowerPC 405\n"
msgstr ""
-#: config/tc-ppc.c:1367
+#: config/tc-ppc.c:1377
#, c-format
msgid "-m440 generate code for PowerPC 440\n"
msgstr ""
-#: config/tc-ppc.c:1369
+#: config/tc-ppc.c:1379
#, c-format
msgid "-m464 generate code for PowerPC 464\n"
msgstr ""
-#: config/tc-ppc.c:1371
+#: config/tc-ppc.c:1381
#, c-format
msgid "-m476 generate code for PowerPC 476\n"
msgstr ""
-#: config/tc-ppc.c:1373
+#: config/tc-ppc.c:1383
#, c-format
msgid ""
"-m7400, -m7410, -m7450, -m7455\n"
" generate code for PowerPC 7400/7410/7450/7455\n"
msgstr ""
-#: config/tc-ppc.c:1376
+#: config/tc-ppc.c:1386
#, c-format
msgid ""
"-m750cl, -mgekko, -mbroadway\n"
" generate code for PowerPC 750cl/Gekko/Broadway\n"
msgstr ""
-#: config/tc-ppc.c:1379
+#: config/tc-ppc.c:1389
#, c-format
msgid "-m821, -m850, -m860 generate code for PowerPC 821/850/860\n"
msgstr ""
-#: config/tc-ppc.c:1381
+#: config/tc-ppc.c:1391
#, c-format
msgid "-mppc64, -m620 generate code for PowerPC 620/625/630\n"
msgstr ""
-#: config/tc-ppc.c:1383
+#: config/tc-ppc.c:1393
#, c-format
msgid ""
"-mppc64bridge generate code for PowerPC 64, including bridge "
"insns\n"
msgstr ""
-#: config/tc-ppc.c:1385
+#: config/tc-ppc.c:1395
#, c-format
msgid "-mbooke generate code for 32-bit PowerPC BookE\n"
msgstr ""
-#: config/tc-ppc.c:1387
+#: config/tc-ppc.c:1397
#, c-format
msgid "-ma2 generate code for A2 architecture\n"
msgstr ""
-#: config/tc-ppc.c:1389
+#: config/tc-ppc.c:1399
#, c-format
msgid "-mpower4, -mpwr4 generate code for Power4 architecture\n"
msgstr ""
-#: config/tc-ppc.c:1391
+#: config/tc-ppc.c:1401
#, c-format
msgid ""
"-mpower5, -mpwr5, -mpwr5x\n"
" generate code for Power5 architecture\n"
msgstr ""
-#: config/tc-ppc.c:1394
+#: config/tc-ppc.c:1404
#, c-format
msgid "-mpower6, -mpwr6 generate code for Power6 architecture\n"
msgstr ""
-#: config/tc-ppc.c:1396
+#: config/tc-ppc.c:1406
#, c-format
msgid "-mpower7, -mpwr7 generate code for Power7 architecture\n"
msgstr ""
-#: config/tc-ppc.c:1398
+#: config/tc-ppc.c:1408
#, c-format
msgid "-mpower8, -mpwr8 generate code for Power8 architecture\n"
msgstr ""
-#: config/tc-ppc.c:1400
+#: config/tc-ppc.c:1410
#, c-format
msgid "-mpower9, -mpwr9 generate code for Power9 architecture\n"
msgstr ""
-#: config/tc-ppc.c:1402
+#: config/tc-ppc.c:1412
#, c-format
msgid ""
"-mcell generate code for Cell Broadband Engine "
"architecture\n"
msgstr ""
-#: config/tc-ppc.c:1404
+#: config/tc-ppc.c:1414
#, c-format
msgid ""
"-mcom generate code for Power/PowerPC common instructions\n"
msgstr ""
-#: config/tc-ppc.c:1406
+#: config/tc-ppc.c:1416
#, c-format
msgid ""
"-many generate code for any architecture (PWR/PWRX/PPC)\n"
msgstr ""
-#: config/tc-ppc.c:1408
+#: config/tc-ppc.c:1418
#, c-format
msgid "-maltivec generate code for AltiVec\n"
msgstr ""
-#: config/tc-ppc.c:1410
+#: config/tc-ppc.c:1420
#, c-format
msgid ""
"-mvsx generate code for Vector-Scalar (VSX) instructions\n"
msgstr ""
-#: config/tc-ppc.c:1412
+#: config/tc-ppc.c:1422
#, c-format
msgid "-me300 generate code for PowerPC e300 family\n"
msgstr ""
-#: config/tc-ppc.c:1414
+#: config/tc-ppc.c:1424
#, c-format
msgid "-me500, -me500x2 generate code for Motorola e500 core complex\n"
msgstr ""
-#: config/tc-ppc.c:1416
+#: config/tc-ppc.c:1426
#, c-format
msgid ""
"-me500mc, generate code for Freescale e500mc core complex\n"
msgstr ""
-#: config/tc-ppc.c:1418
+#: config/tc-ppc.c:1428
#, c-format
msgid ""
"-me500mc64, generate code for Freescale e500mc64 core complex\n"
msgstr ""
-#: config/tc-ppc.c:1420
+#: config/tc-ppc.c:1430
#, c-format
msgid ""
"-me5500, generate code for Freescale e5500 core complex\n"
msgstr ""
-#: config/tc-ppc.c:1422
+#: config/tc-ppc.c:1432
#, c-format
msgid ""
"-me6500, generate code for Freescale e6500 core complex\n"
msgstr ""
-#: config/tc-ppc.c:1424
+#: config/tc-ppc.c:1434
#, c-format
msgid "-mspe generate code for Motorola SPE instructions\n"
msgstr ""
-#: config/tc-ppc.c:1426
+#: config/tc-ppc.c:1436
#, c-format
msgid "-mspe2 generate code for Freescale SPE2 instructions\n"
msgstr ""
-#: config/tc-ppc.c:1428
+#: config/tc-ppc.c:1438
#, c-format
msgid "-mvle generate code for Freescale VLE instructions\n"
msgstr ""
-#: config/tc-ppc.c:1430
+#: config/tc-ppc.c:1440
#, c-format
msgid ""
"-mtitan generate code for AppliedMicro Titan core complex\n"
msgstr ""
-#: config/tc-ppc.c:1432
+#: config/tc-ppc.c:1442
#, c-format
msgid "-mregnames Allow symbolic names for registers\n"
msgstr ""
-#: config/tc-ppc.c:1434
+#: config/tc-ppc.c:1444
#, c-format
msgid "-mno-regnames Do not allow symbolic names for registers\n"
msgstr ""
-#: config/tc-ppc.c:1437
+#: config/tc-ppc.c:1447
#, c-format
msgid "-mrelocatable support for GCC's -mrelocatble option\n"
msgstr ""
-#: config/tc-ppc.c:1439
+#: config/tc-ppc.c:1449
#, c-format
msgid "-mrelocatable-lib support for GCC's -mrelocatble-lib option\n"
msgstr ""
-#: config/tc-ppc.c:1441
+#: config/tc-ppc.c:1451
#, c-format
msgid "-memb set PPC_EMB bit in ELF flags\n"
msgstr ""
-#: config/tc-ppc.c:1443
+#: config/tc-ppc.c:1453
#, c-format
msgid ""
"-mlittle, -mlittle-endian, -le\n"
" generate code for a little endian machine\n"
msgstr ""
-#: config/tc-ppc.c:1446
+#: config/tc-ppc.c:1456
#, c-format
msgid ""
"-mbig, -mbig-endian, -be\n"
" generate code for a big endian machine\n"
msgstr ""
-#: config/tc-ppc.c:1449
+#: config/tc-ppc.c:1459
#, c-format
msgid "-msolaris generate code for Solaris\n"
msgstr ""
-#: config/tc-ppc.c:1451
+#: config/tc-ppc.c:1461
#, c-format
msgid "-mno-solaris do not generate code for Solaris\n"
msgstr ""
-#: config/tc-ppc.c:1453
+#: config/tc-ppc.c:1463
#, c-format
msgid "-K PIC set EF_PPC_RELOCATABLE_LIB in ELF flags\n"
msgstr ""
-#: config/tc-ppc.c:1455
+#: config/tc-ppc.c:1465
#, c-format
msgid "-V print assembler version number\n"
msgstr ""
-#: config/tc-ppc.c:1457
+#: config/tc-ppc.c:1467
#, c-format
msgid "-Qy, -Qn ignored\n"
msgstr ""
-#: config/tc-ppc.c:1460
+#: config/tc-ppc.c:1470
#, c-format
msgid ""
"-nops=count when aligning, more than COUNT nops uses a branch\n"
msgstr ""
-#: config/tc-ppc.c:1462
+#: config/tc-ppc.c:1472
#, c-format
msgid "-ppc476-workaround warn if emitting data to code sections\n"
msgstr ""
-#: config/tc-ppc.c:1492
+#: config/tc-ppc.c:1502
#, c-format
msgid "unknown default cpu = %s, os = %s"
msgstr ""
-#: config/tc-ppc.c:1520
+#: config/tc-ppc.c:1530
msgid "neither Power nor PowerPC opcodes were selected."
msgstr ""
-#: config/tc-ppc.c:1580
+#: config/tc-ppc.c:1590
#, c-format
msgid "mask trims opcode bits for %s"
msgstr ""
-#: config/tc-ppc.c:1590
+#: config/tc-ppc.c:1600
#, c-format
msgid "operand index error for %s"
msgstr ""
-#: config/tc-ppc.c:1616
+#: config/tc-ppc.c:1626
#, c-format
msgid "operand %d overlap in %s"
msgstr ""
-#: config/tc-ppc.c:1625
+#: config/tc-ppc.c:1635
#, c-format
msgid "non-optional operand %d follows optional operand in %s"
msgstr ""
-#: config/tc-ppc.c:1675
+#: config/tc-ppc.c:1685
#, c-format
msgid "powerpc_operands[%d].bitm invalid"
msgstr ""
-#: config/tc-ppc.c:1682
+#: config/tc-ppc.c:1692
#, c-format
msgid "powerpc_operands[%d] duplicates powerpc_operands[%d]"
msgstr ""
-#: config/tc-ppc.c:1708 config/tc-ppc.c:1765 config/tc-ppc.c:1809
-#: config/tc-ppc.c:1853
+#: config/tc-ppc.c:1718 config/tc-ppc.c:1775 config/tc-ppc.c:1819
+#: config/tc-ppc.c:1863
#, c-format
msgid "major opcode is not sorted for %s"
msgstr ""
-#: config/tc-ppc.c:1714
+#: config/tc-ppc.c:1724
#, c-format
msgid "%s is enabled by vle flag"
msgstr ""
-#: config/tc-ppc.c:1721
+#: config/tc-ppc.c:1731
#, c-format
msgid "%s not disabled by vle flag"
msgstr ""
-#: config/tc-ppc.c:1735 config/tc-ppc.c:1779 config/tc-ppc.c:1824
-#: config/tc-ppc.c:1868
+#: config/tc-ppc.c:1745 config/tc-ppc.c:1789 config/tc-ppc.c:1834
+#: config/tc-ppc.c:1878
#, c-format
msgid "duplicate instruction %s"
msgstr ""
-#: config/tc-ppc.c:1892
+#: config/tc-ppc.c:1902
#, c-format
msgid "duplicate macro %s"
msgstr ""
-#: config/tc-ppc.c:2268
+#: config/tc-ppc.c:2278
#, c-format
msgid "symbol+offset@%s means symbol@%s+offset"
msgstr ""
-#: config/tc-ppc.c:2288
+#: config/tc-ppc.c:2298
#, c-format
msgid "symbol+offset@%s not supported"
msgstr ""
-#: config/tc-ppc.c:2365 config/tc-ppc.c:4361 config/tc-ppc.c:7888
+#: config/tc-ppc.c:2375 config/tc-ppc.c:4374 config/tc-ppc.c:7901
msgid "data in executable section"
msgstr ""
-#: config/tc-ppc.c:2406 config/tc-ppc.c:5998
+#: config/tc-ppc.c:2416 config/tc-ppc.c:6011
msgid "expected comma after symbol-name: rest of line ignored."
msgstr ""
-#: config/tc-ppc.c:2439 config/tc-ppc.c:6034
+#: config/tc-ppc.c:2449 config/tc-ppc.c:6047
#, c-format
msgid "ignoring attempt to re-define symbol `%s'."
msgstr ""
-#: config/tc-ppc.c:2447
+#: config/tc-ppc.c:2457
#, c-format
msgid "length of .lcomm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
-#: config/tc-ppc.c:2465
+#: config/tc-ppc.c:2475
msgid "common alignment not a power of 2"
msgstr ""
-#: config/tc-ppc.c:2507
+#: config/tc-ppc.c:2517
#, c-format
msgid "expected comma after name `%s' in .localentry directive"
msgstr ""
-#: config/tc-ppc.c:2517
+#: config/tc-ppc.c:2527
msgid "missing expression in .localentry directive"
msgstr ""
-#: config/tc-ppc.c:2538
+#: config/tc-ppc.c:2548
#, c-format
msgid ".localentry expression for `%s' is not a valid power of 2"
msgstr ""
-#: config/tc-ppc.c:2555
+#: config/tc-ppc.c:2565
#, c-format
msgid ".localentry expression for `%s' does not evaluate to a constant"
msgstr ""
-#: config/tc-ppc.c:2570
+#: config/tc-ppc.c:2580
msgid "missing expression in .abiversion directive"
msgstr ""
-#: config/tc-ppc.c:2579
+#: config/tc-ppc.c:2589
msgid ".abiversion expression does not evaluate to a constant"
msgstr ""
-#: config/tc-ppc.c:2601
+#: config/tc-ppc.c:2611
msgid "unknown .gnu_attribute value"
msgstr ""
-#: config/tc-ppc.c:2659
+#: config/tc-ppc.c:2669
msgid "relocation cannot be done when using -mrelocatable"
msgstr ""
-#: config/tc-ppc.c:2705
+#: config/tc-ppc.c:2715
msgid "TOC section size exceeds 64k"
msgstr ""
-#: config/tc-ppc.c:2800
+#: config/tc-ppc.c:2810
#, c-format
msgid "syntax error: invalid toc specifier `%s'"
msgstr ""
-#: config/tc-ppc.c:2814
+#: config/tc-ppc.c:2824
#, c-format
msgid "syntax error: expected `]', found `%c'"
msgstr ""
-#: config/tc-ppc.c:3234
+#: config/tc-ppc.c:3244
#, c-format
msgid "%s howto doesn't match size/pcrel in gas"
msgstr ""
-#: config/tc-ppc.c:3314
+#: config/tc-ppc.c:3327
#, c-format
msgid "unrecognized opcode: `%s'"
msgstr ""
-#: config/tc-ppc.c:3490
+#: config/tc-ppc.c:3503
msgid "[tocv] symbol is not a toc symbol"
msgstr ""
-#: config/tc-ppc.c:3501
+#: config/tc-ppc.c:3514
msgid "unimplemented toc32 expression modifier"
msgstr ""
-#: config/tc-ppc.c:3506
+#: config/tc-ppc.c:3519
msgid "unimplemented toc64 expression modifier"
msgstr ""
-#: config/tc-ppc.c:3510
+#: config/tc-ppc.c:3523
#, c-format
msgid "Unexpected return value [%d] from parse_toc_entry!\n"
msgstr ""
-#: config/tc-ppc.c:3759
+#: config/tc-ppc.c:3772
#, c-format
msgid "@tls may not be used with \"%s\" operands"
msgstr ""
-#: config/tc-ppc.c:3762
+#: config/tc-ppc.c:3775
msgid "@tls may only be used in last operand"
msgstr ""
-#: config/tc-ppc.c:3800 config/tc-ppc.c:3810 config/tc-ppc.c:3820
-#: config/tc-ppc.c:3835
+#: config/tc-ppc.c:3813 config/tc-ppc.c:3823 config/tc-ppc.c:3833
+#: config/tc-ppc.c:3848
#, c-format
msgid "%s unsupported on this instruction"
msgstr ""
-#: config/tc-ppc.c:3879
+#: config/tc-ppc.c:3892
#, c-format
msgid "assuming %s on symbol"
msgstr ""
-#: config/tc-ppc.c:4002
+#: config/tc-ppc.c:4015
msgid "unsupported relocation for DS offset field"
msgstr ""
-#: config/tc-ppc.c:4055
+#: config/tc-ppc.c:4068
#, c-format
msgid "syntax error; found `%c', expected `%c'"
msgstr ""
-#: config/tc-ppc.c:4060
+#: config/tc-ppc.c:4073
#, c-format
msgid "syntax error; end of line, expected `%c'"
msgstr ""
-#: config/tc-ppc.c:4125 config/tc-ppc.c:7097
+#: config/tc-ppc.c:4138 config/tc-ppc.c:7110
#, c-format
msgid "instruction address is not a multiple of %d"
msgstr ""
-#: config/tc-ppc.c:4245
+#: config/tc-ppc.c:4258
msgid "wrong number of operands"
msgstr ""
-#: config/tc-ppc.c:4318
+#: config/tc-ppc.c:4331
msgid "bad .section directive: want a,e,v,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-ppc.c:4398
+#: config/tc-ppc.c:4411
msgid "missing size"
msgstr ""
-#: config/tc-ppc.c:4407
+#: config/tc-ppc.c:4420
msgid "negative size"
msgstr ""
-#: config/tc-ppc.c:4439
+#: config/tc-ppc.c:4452
msgid "missing real symbol name"
msgstr ""
-#: config/tc-ppc.c:4478
+#: config/tc-ppc.c:4491
msgid "attempt to redefine symbol"
msgstr ""
-#: config/tc-ppc.c:4741
+#: config/tc-ppc.c:4754
#, c-format
msgid "no known dwarf XCOFF section for flag 0x%08x\n"
msgstr ""
-#: config/tc-ppc.c:4754
+#: config/tc-ppc.c:4767
#, c-format
msgid "label %s was not defined in this dwarf section"
msgstr ""
-#: config/tc-ppc.c:4868
+#: config/tc-ppc.c:4881
msgid "the XCOFF file format does not support arbitrary sections"
msgstr ""
-#: config/tc-ppc.c:4939
+#: config/tc-ppc.c:4952
msgid ".ref outside .csect"
msgstr ""
-#: config/tc-ppc.c:4960 config/tc-ppc.c:5160
+#: config/tc-ppc.c:4973 config/tc-ppc.c:5173
msgid "missing symbol name"
msgstr ""
-#: config/tc-ppc.c:4990
+#: config/tc-ppc.c:5003
msgid "missing rename string"
msgstr ""
-#: config/tc-ppc.c:5020 config/tc-ppc.c:5559 read.c:3519
+#: config/tc-ppc.c:5033 config/tc-ppc.c:5572 read.c:3520
msgid "missing value"
msgstr ""
-#: config/tc-ppc.c:5038
+#: config/tc-ppc.c:5051
msgid "illegal .stabx expression; zero assumed"
msgstr ""
-#: config/tc-ppc.c:5070
+#: config/tc-ppc.c:5083
msgid "missing class"
msgstr ""
-#: config/tc-ppc.c:5079
+#: config/tc-ppc.c:5092
msgid "missing type"
msgstr ""
-#: config/tc-ppc.c:5106
+#: config/tc-ppc.c:5119
msgid ".stabx of storage class stsym must be within .bs/.es"
msgstr ""
-#: config/tc-ppc.c:5347
+#: config/tc-ppc.c:5360
msgid "nested .bs blocks"
msgstr ""
-#: config/tc-ppc.c:5378
+#: config/tc-ppc.c:5391
msgid ".es without preceding .bs"
msgstr ""
-#: config/tc-ppc.c:5551
+#: config/tc-ppc.c:5564
msgid "non-constant byte count"
msgstr ""
-#: config/tc-ppc.c:5626
+#: config/tc-ppc.c:5639
msgid ".tc not in .toc section"
msgstr ""
-#: config/tc-ppc.c:5644
+#: config/tc-ppc.c:5657
msgid ".tc with no label"
msgstr ""
-#: config/tc-ppc.c:5728 config/tc-s390.c:1968
+#: config/tc-ppc.c:5741 config/tc-s390.c:1968
msgid ".machine stack overflow"
msgstr ""
-#: config/tc-ppc.c:5735 config/tc-s390.c:1979
+#: config/tc-ppc.c:5748 config/tc-s390.c:1979
msgid ".machine stack underflow"
msgstr ""
-#: config/tc-ppc.c:5742 config/tc-s390.c:1991
+#: config/tc-ppc.c:5755 config/tc-s390.c:1991
#, c-format
msgid "invalid machine `%s'"
msgstr ""
-#: config/tc-ppc.c:5774
+#: config/tc-ppc.c:5787
msgid "no previous section to return to, ignored."
msgstr ""
-#: config/tc-ppc.c:6043
+#: config/tc-ppc.c:6056
#, c-format
msgid "length of .comm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
#. Section Contents
#. unknown
-#: config/tc-ppc.c:6171
+#: config/tc-ppc.c:6184
msgid "unsupported section attribute -- 'a'"
msgstr ""
-#: config/tc-ppc.c:6353
+#: config/tc-ppc.c:6366
msgid "bad symbol suffix"
msgstr ""
-#: config/tc-ppc.c:6446
+#: config/tc-ppc.c:6459
msgid "unrecognized symbol suffix"
msgstr ""
-#: config/tc-ppc.c:6509
+#: config/tc-ppc.c:6522
msgid "two .function pseudo-ops with no intervening .ef"
msgstr ""
-#: config/tc-ppc.c:6522
+#: config/tc-ppc.c:6535
msgid ".ef with no preceding .function"
msgstr ""
-#: config/tc-ppc.c:6649
+#: config/tc-ppc.c:6662
#, c-format
msgid "warning: symbol %s has no csect"
msgstr ""
-#: config/tc-ppc.c:6911
+#: config/tc-ppc.c:6924
msgid "symbol in .toc does not match any .tc"
msgstr ""
-#: config/tc-ppc.c:7626
+#: config/tc-ppc.c:7639
#, c-format
msgid "%s unsupported as instruction fixup"
msgstr ""
-#: config/tc-ppc.c:7725
+#: config/tc-ppc.c:7738
#, c-format
msgid "unsupported relocation against %s"
msgstr ""
-#: config/tc-ppc.c:7871
+#: config/tc-ppc.c:7884
#, c-format
msgid "Gas failure, reloc value %d\n"
msgstr ""
@@ -15274,212 +15475,258 @@ msgstr ""
msgid "Label \"%s\" matches a CPU register name"
msgstr ""
-#: config/tc-riscv.c:412 config/tc-riscv.c:471
+#: config/tc-riscv.c:141
+#, c-format
+msgid ""
+"Unknown default privilege spec `%s' set by -mpriv-spec or --with-priv-spec"
+msgstr ""
+
+#. Still can not find the priv spec class.
+#: config/tc-riscv.c:183
+#, c-format
+msgid "Unknown default privilege spec `%d.%d.%d' set by privilege attributes"
+msgstr ""
+
+#: config/tc-riscv.c:591 config/tc-riscv.c:652
#, c-format
msgid "internal error: can't hash `%s': %s"
msgstr ""
-#: config/tc-riscv.c:568
+#: config/tc-riscv.c:741
+#, c-format
+msgid "internal: bad RISC-V CSR class (0x%x)"
+msgstr ""
+
+#: config/tc-riscv.c:745
+#, c-format
+msgid "Invalid CSR `%s' for the current ISA"
+msgstr ""
+
+#: config/tc-riscv.c:777
+#, c-format
+msgid "Invalid CSR `%s' for the privilege spec `%s'"
+msgstr ""
+
+#: config/tc-riscv.c:897
#, c-format
msgid "internal: bad RISC-V opcode (mask error): %s %s"
msgstr ""
-#: config/tc-riscv.c:617
+#: config/tc-riscv.c:946
#, c-format
msgid "internal: bad RISC-V opcode (unknown operand type `CF%c'): %s %s"
msgstr ""
-#: config/tc-riscv.c:624
+#: config/tc-riscv.c:953
#, c-format
msgid "internal: bad RISC-V opcode (unknown operand type `C%c'): %s %s"
msgstr ""
-#: config/tc-riscv.c:668 config/tc-riscv.c:680
+#: config/tc-riscv.c:997 config/tc-riscv.c:1009
#, c-format
msgid "internal: bad RISC-V opcode (unknown operand type `F%c'): %s %s"
msgstr ""
-#: config/tc-riscv.c:687
+#: config/tc-riscv.c:1016
#, c-format
msgid "internal: bad RISC-V opcode (unknown operand type `%c'): %s %s"
msgstr ""
-#: config/tc-riscv.c:695
+#: config/tc-riscv.c:1024
#, c-format
msgid "internal: bad RISC-V opcode (bits 0x%lx undefined): %s %s"
msgstr ""
-#: config/tc-riscv.c:841
+#: config/tc-riscv.c:1173
#, c-format
msgid "Unsupported RISC-V relocation number %d"
msgstr ""
-#: config/tc-riscv.c:928
+#: config/tc-riscv.c:1260
msgid "internal error: invalid macro"
msgstr ""
-#: config/tc-riscv.c:953
+#: config/tc-riscv.c:1285
msgid "internal error: vasprintf failed"
msgstr ""
-#: config/tc-riscv.c:982 config/tc-riscv.c:1053
+#: config/tc-riscv.c:1314 config/tc-riscv.c:1385
msgid "unsupported large constant"
msgstr ""
-#: config/tc-riscv.c:984
+#: config/tc-riscv.c:1316
#, c-format
msgid "unknown CSR `%s'"
msgstr ""
-#: config/tc-riscv.c:987
+#: config/tc-riscv.c:1319
#, c-format
msgid "Instruction %s requires absolute expression"
msgstr ""
-#: config/tc-riscv.c:1213
+#: config/tc-riscv.c:1545
#, c-format
msgid "Macro %s not implemented"
msgstr ""
-#: config/tc-riscv.c:1700
+#: config/tc-riscv.c:1860
+#, c-format
+msgid "Read-only CSR is written `%s'"
+msgstr ""
+
+#: config/tc-riscv.c:2100
msgid "bad value for funct6 field, value must be 0...64"
msgstr ""
-#: config/tc-riscv.c:1715
+#: config/tc-riscv.c:2115
msgid "bad value for funct4 field, value must be 0...15"
msgstr ""
-#: config/tc-riscv.c:1730 config/tc-riscv.c:2087
+#: config/tc-riscv.c:2130 config/tc-riscv.c:2488
msgid "bad value for funct3 field, value must be 0...7"
msgstr ""
-#: config/tc-riscv.c:1744 config/tc-riscv.c:2102
+#: config/tc-riscv.c:2144 config/tc-riscv.c:2503
msgid "bad value for funct2 field, value must be 0...3"
msgstr ""
-#: config/tc-riscv.c:1753
+#: config/tc-riscv.c:2153
#, c-format
msgid "bad compressed FUNCT field specifier 'CF%c'\n"
msgstr ""
-#: config/tc-riscv.c:1760
+#: config/tc-riscv.c:2160
#, c-format
msgid "bad RVC field specifier 'C%c'\n"
msgstr ""
-#: config/tc-riscv.c:1783 config/tc-riscv.c:1794
+#: config/tc-riscv.c:2183 config/tc-riscv.c:2194
#, c-format
msgid "Improper shift amount (%lu)"
msgstr ""
-#: config/tc-riscv.c:1805
+#: config/tc-riscv.c:2205
#, c-format
msgid "Improper CSRxI immediate (%lu)"
msgstr ""
-#: config/tc-riscv.c:1820
+#: config/tc-riscv.c:2221
#, c-format
msgid "Improper CSR address (%lu)"
msgstr ""
-#: config/tc-riscv.c:1997
+#: config/tc-riscv.c:2398
msgid "lui expression not in range 0..1048575"
msgstr ""
-#: config/tc-riscv.c:2033
+#: config/tc-riscv.c:2434
msgid ""
"bad value for opcode field, value must be 0...127 and lower 2 bits must be "
"0x3"
msgstr ""
-#: config/tc-riscv.c:2049
+#: config/tc-riscv.c:2450
msgid "bad value for opcode field, value must be 0...2"
msgstr ""
-#: config/tc-riscv.c:2059
+#: config/tc-riscv.c:2460
#, c-format
msgid "bad Opcode field specifier 'O%c'\n"
msgstr ""
-#: config/tc-riscv.c:2072
+#: config/tc-riscv.c:2473
msgid "bad value for funct7 field, value must be 0...127"
msgstr ""
-#: config/tc-riscv.c:2113
+#: config/tc-riscv.c:2514
#, c-format
msgid "bad FUNCT field specifier 'F%c'\n"
msgstr ""
-#: config/tc-riscv.c:2127
+#: config/tc-riscv.c:2528
#, c-format
msgid "internal error: bad argument type %c"
msgstr ""
-#: config/tc-riscv.c:2132
+#: config/tc-riscv.c:2533
msgid "illegal operands"
msgstr ""
-#: config/tc-riscv.c:2508
+#: config/tc-riscv.c:2961
#, c-format
msgid "internal error: bad CFA value #%d"
msgstr ""
-#: config/tc-riscv.c:2589
+#: config/tc-riscv.c:3042
#, c-format
msgid "internal error: bad relocation #%d"
msgstr ""
-#: config/tc-riscv.c:2594
+#: config/tc-riscv.c:3047
msgid "unsupported symbol subtraction"
msgstr ""
-#: config/tc-riscv.c:2689
+#: config/tc-riscv.c:3146
msgid ".option pop with no .option push"
msgstr ""
-#: config/tc-riscv.c:2699
+#: config/tc-riscv.c:3156
#, c-format
msgid "Unrecognized .option directive: %s\n"
msgstr ""
-#: config/tc-riscv.c:2719
+#: config/tc-riscv.c:3176
#, c-format
msgid "Unsupported use of %s"
msgstr ""
-#: config/tc-riscv.c:2874
+#: config/tc-riscv.c:3331
#, c-format
msgid "cannot represent %s relocation in object file"
msgstr ""
-#: config/tc-riscv.c:3015
+#: config/tc-riscv.c:3472
#, c-format
msgid ""
"RISC-V options:\n"
-" -fpic generate position-independent code\n"
-" -fno-pic don't generate position-independent code (default)\n"
-" -march=ISA set the RISC-V architecture\n"
-" -mabi=ABI set the RISC-V ABI\n"
-" -mrelax enable relax (default)\n"
-" -mno-relax disable relax\n"
-" -march-attr generate RISC-V arch attribute\n"
-" -mno-arch-attr don't generate RISC-V arch attribute\n"
+" -fpic generate position-independent code\n"
+" -fno-pic don't generate position-independent code "
+"(default)\n"
+" -march=ISA set the RISC-V architecture\n"
+" -misa-spec=ISAspec set the RISC-V ISA spec (2.2, 20190608, "
+"20191213)\n"
+" -mpriv-spec=PRIVspec set the RISC-V privilege spec (1.9, 1.9.1, "
+"1.10, 1.11)\n"
+" -mabi=ABI set the RISC-V ABI\n"
+" -mrelax enable relax (default)\n"
+" -mno-relax disable relax\n"
+" -march-attr generate RISC-V arch attribute\n"
+" -mno-arch-attr don't generate RISC-V arch attribute\n"
msgstr ""
-#: config/tc-riscv.c:3050
+#: config/tc-riscv.c:3509
#, c-format
msgid "unknown register `%s'"
msgstr ""
-#: config/tc-riscv.c:3071
+#: config/tc-riscv.c:3530
#, c-format
msgid "non-constant .%cleb128 is not supported"
msgstr ""
-#: config/tc-riscv.c:3196
+#: config/tc-riscv.c:3610
+#, c-format
+msgid "internal: bad RISC-V priv spec string (%s)"
+msgstr ""
+
+#: config/tc-riscv.c:3696
msgid ".attribute arch must set before any instructions"
msgstr ""
+#: config/tc-riscv.c:3713
+msgid ".attribute priv spec must set before any instructions"
+msgstr ""
+
#: config/tc-rl78.c:213
msgid "16-bit relocation used in 8-bit operand"
msgstr ""
@@ -15488,12 +15735,12 @@ msgstr ""
msgid "8-bit relocation used in 16-bit operand"
msgstr ""
-#: config/tc-rl78.c:243 config/tc-rx.c:889
+#: config/tc-rl78.c:243 config/tc-rx.c:888
#, c-format
msgid "Value %d doesn't fit in unsigned %d-bit field"
msgstr ""
-#: config/tc-rl78.c:249 config/tc-rx.c:895
+#: config/tc-rl78.c:249 config/tc-rx.c:894
#, c-format
msgid "Value %d doesn't fit in signed %d-bit field"
msgstr ""
@@ -15543,7 +15790,7 @@ msgstr ""
msgid "%%%s() must be outermost term in expression"
msgstr ""
-#: config/tc-rl78.c:678 config/tc-rx.c:2256
+#: config/tc-rl78.c:678 config/tc-rx.c:2255
#, c-format
msgid "unsupported constant size %d\n"
msgstr ""
@@ -15558,11 +15805,11 @@ msgstr ""
msgid "%%hi8 only applies to .byte"
msgstr ""
-#: config/tc-rl78.c:716 config/tc-rx.c:2263
+#: config/tc-rl78.c:716 config/tc-rx.c:2262
msgid "difference of two symbols only supported with .long, .short, or .byte"
msgstr ""
-#: config/tc-rl78.c:1237 config/tc-rx.c:2190
+#: config/tc-rl78.c:1237 config/tc-rx.c:2189
#, c-format
msgid "bad frag at %p : fix %ld addr %ld %ld \n"
msgstr ""
@@ -15577,140 +15824,140 @@ msgstr ""
msgid "value of %ld too large for 16-bit branch"
msgstr ""
-#: config/tc-rl78.c:1513 config/tc-rx.c:2455
+#: config/tc-rl78.c:1513 config/tc-rx.c:2454
#, c-format
msgid "Unknown reloc in md_apply_fix: %s"
msgstr ""
-#: config/tc-rx.c:195
+#: config/tc-rx.c:194
#, c-format
msgid "unrecognised RX CPU type %s"
msgstr ""
-#: config/tc-rx.c:210
+#: config/tc-rx.c:209
#, c-format
msgid " RX specific command line options:\n"
msgstr ""
-#: config/tc-rx.c:211
+#: config/tc-rx.c:210
#, c-format
msgid " --mbig-endian-data\n"
msgstr ""
-#: config/tc-rx.c:212
+#: config/tc-rx.c:211
#, c-format
msgid " --mlittle-endian-data [default]\n"
msgstr ""
-#: config/tc-rx.c:213
+#: config/tc-rx.c:212
#, c-format
msgid " --m32bit-doubles [default]\n"
msgstr ""
-#: config/tc-rx.c:214
+#: config/tc-rx.c:213
#, c-format
msgid " --m64bit-doubles\n"
msgstr ""
-#: config/tc-rx.c:215
+#: config/tc-rx.c:214
#, c-format
msgid " --muse-conventional-section-names\n"
msgstr ""
-#: config/tc-rx.c:216
+#: config/tc-rx.c:215
#, c-format
msgid " --muse-renesas-section-names [default]\n"
msgstr ""
-#: config/tc-rx.c:217
+#: config/tc-rx.c:216
#, c-format
msgid " --msmall-data-limit\n"
msgstr ""
-#: config/tc-rx.c:218
+#: config/tc-rx.c:217
#, c-format
msgid " --mrelax\n"
msgstr ""
-#: config/tc-rx.c:219
+#: config/tc-rx.c:218
#, c-format
msgid " --mpid\n"
msgstr ""
-#: config/tc-rx.c:220
+#: config/tc-rx.c:219
#, c-format
msgid " --mint-register=<value>\n"
msgstr ""
-#: config/tc-rx.c:221
+#: config/tc-rx.c:220
#, c-format
msgid " --mcpu=<rx100|rx200|rx600|rx610|rxv2|rxv3|rxv3-dfpu>\n"
msgstr ""
-#: config/tc-rx.c:222
+#: config/tc-rx.c:221
#, c-format
msgid " --mno-allow-string-insns"
msgstr ""
-#: config/tc-rx.c:302
+#: config/tc-rx.c:301
msgid "no filename following .INCLUDE pseudo-op"
msgstr ""
-#: config/tc-rx.c:405
+#: config/tc-rx.c:404
#, c-format
msgid "unable to locate include file: %s"
msgstr ""
-#: config/tc-rx.c:456
+#: config/tc-rx.c:455
#, c-format
msgid "unrecognised alignment value in .SECTION directive: %s"
msgstr ""
-#: config/tc-rx.c:473
+#: config/tc-rx.c:472
#, c-format
msgid "unknown parameter following .SECTION directive: %s"
msgstr ""
-#: config/tc-rx.c:559
+#: config/tc-rx.c:558
msgid "expecting either ON or OFF after .list"
msgstr ""
-#: config/tc-rx.c:595
+#: config/tc-rx.c:594
#, c-format
msgid "The \".%s\" pseudo-op is not implemented\n"
msgstr ""
-#: config/tc-rx.c:968 config/tc-rx.c:970
+#: config/tc-rx.c:967 config/tc-rx.c:969
#, c-format
msgid "Value %d and %d out of range"
msgstr ""
-#: config/tc-rx.c:1125
+#: config/tc-rx.c:1124
msgid "The .DEFINE pseudo-op is not implemented"
msgstr ""
-#: config/tc-rx.c:1127
+#: config/tc-rx.c:1126
msgid "The .MACRO pseudo-op is not implemented"
msgstr ""
-#: config/tc-rx.c:1129
+#: config/tc-rx.c:1128
msgid "The .BTEQU pseudo-op is not implemented."
msgstr ""
-#: config/tc-rx.c:2121
+#: config/tc-rx.c:2120
msgid "invalid immediate size"
msgstr ""
-#: config/tc-rx.c:2140
+#: config/tc-rx.c:2139
msgid "invalid immediate field position"
msgstr ""
-#: config/tc-rx.c:2307
+#: config/tc-rx.c:2306
#, c-format
msgid "jump not 3..10 bytes away (is %d)"
msgstr ""
-#: config/tc-rx.c:2698
+#: config/tc-rx.c:2697
msgid ""
"Use of an RX string instruction detected in a file being assembled without "
"string instruction support"
@@ -16231,148 +16478,148 @@ msgstr ""
msgid "score3d instruction."
msgstr ""
-#: config/tc-score.c:6026
+#: config/tc-score.c:6014
msgid "Unsupported use of .gpword"
msgstr ""
-#: config/tc-score.c:6122
+#: config/tc-score.c:6110
#, c-format
msgid "BSS length (%d) < 0 ignored"
msgstr ""
-#: config/tc-score.c:6137 read.c:2468
+#: config/tc-score.c:6124 read.c:2469
#, c-format
msgid "error setting flags for \".sbss\": %s"
msgstr ""
-#: config/tc-score.c:6152 config/tc-sparc.c:4170
+#: config/tc-score.c:6138 config/tc-sparc.c:4170
msgid "missing alignment"
msgstr ""
-#: config/tc-score.c:6189
+#: config/tc-score.c:6175
#, c-format
msgid "alignment too large; %d assumed"
msgstr ""
-#: config/tc-score.c:6194 read.c:2529
+#: config/tc-score.c:6180 read.c:2530
msgid "alignment negative; 0 assumed"
msgstr ""
#. Error routine.
-#: config/tc-score.c:6603 config/tc-score.c:6627
+#: config/tc-score.c:6585 config/tc-score.c:6609
msgid "size is not 4 or 6"
msgstr ""
-#: config/tc-score.c:6686
+#: config/tc-score.c:6668
msgid "bad call to MD_ATOF()"
msgstr ""
-#: config/tc-score.c:7185 config/tc-score.c:7251
+#: config/tc-score.c:7167 config/tc-score.c:7233
#, c-format
msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9-1]"
msgstr ""
-#: config/tc-score.c:7200 config/tc-score.c:7229 config/tc-score.c:7281
+#: config/tc-score.c:7182 config/tc-score.c:7211 config/tc-score.c:7263
#, c-format
msgid " branch relocation truncate (0x%x) [-2^19 ~ 2^19-1]"
msgstr ""
-#: config/tc-score.c:7306
+#: config/tc-score.c:7288
#, c-format
msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9-1]"
msgstr ""
-#: config/tc-score.c:7476
+#: config/tc-score.c:7458
#, c-format
msgid "cannot represent %s relocation in this object file format1"
msgstr ""
-#: config/tc-score.c:7767
+#: config/tc-score.c:7749
#, c-format
msgid "Sunplus-v2-0-0-20060510\n"
msgstr ""
-#: config/tc-score.c:7787
+#: config/tc-score.c:7769
#, c-format
msgid " Score-specific assembler options:\n"
msgstr ""
-#: config/tc-score.c:7789
+#: config/tc-score.c:7771
#, c-format
msgid " -EB\t\tassemble code for a big-endian cpu\n"
msgstr ""
-#: config/tc-score.c:7794
+#: config/tc-score.c:7776
#, c-format
msgid " -EL\t\tassemble code for a little-endian cpu\n"
msgstr ""
-#: config/tc-score.c:7798
+#: config/tc-score.c:7780
#, c-format
msgid " -FIXDD\t\tfix data dependencies\n"
msgstr ""
-#: config/tc-score.c:7800
+#: config/tc-score.c:7782
#, c-format
msgid ""
" -NWARN\t\tdo not print warning message when fixing data "
"dependencies\n"
msgstr ""
-#: config/tc-score.c:7802
+#: config/tc-score.c:7784
#, c-format
msgid " -SCORE5\t\tassemble code for target SCORE5\n"
msgstr ""
-#: config/tc-score.c:7804
+#: config/tc-score.c:7786
#, c-format
msgid " -SCORE5U\tassemble code for target SCORE5U\n"
msgstr ""
-#: config/tc-score.c:7806
+#: config/tc-score.c:7788
#, c-format
msgid " -SCORE7\t\tassemble code for target SCORE7 [default]\n"
msgstr ""
-#: config/tc-score.c:7808
+#: config/tc-score.c:7790
#, c-format
msgid " -SCORE3\t\tassemble code for target SCORE3\n"
msgstr ""
-#: config/tc-score.c:7810
+#: config/tc-score.c:7792
#, c-format
msgid " -march=score7\tassemble code for target SCORE7 [default]\n"
msgstr ""
-#: config/tc-score.c:7812
+#: config/tc-score.c:7794
#, c-format
msgid " -march=score3\tassemble code for target SCORE3\n"
msgstr ""
-#: config/tc-score.c:7814
+#: config/tc-score.c:7796
#, c-format
msgid ""
" -USE_R1\t\tassemble code for no warning message when using temp "
"register r1\n"
msgstr ""
-#: config/tc-score.c:7816
+#: config/tc-score.c:7798
#, c-format
msgid " -KPIC\t\tgenerate PIC\n"
msgstr ""
-#: config/tc-score.c:7818
+#: config/tc-score.c:7800
#, c-format
msgid " -O0\t\tdo not perform any optimizations\n"
msgstr ""
-#: config/tc-score.c:7820
+#: config/tc-score.c:7802
#, c-format
msgid ""
" -G gpnum\tassemble code for setting gpsize, default is 8 bytes\n"
msgstr ""
-#: config/tc-score.c:7822
+#: config/tc-score.c:7804
#, c-format
msgid " -V \t\tSunplus release version\n"
msgstr ""
@@ -16431,122 +16678,122 @@ msgstr ""
msgid "Invalid register: 'r%d'"
msgstr ""
-#: config/tc-sh.c:2120
+#: config/tc-sh.c:2121
#, c-format
msgid "failed for %d\n"
msgstr ""
-#: config/tc-sh.c:2126
+#: config/tc-sh.c:2127
msgid "misplaced PIC operand"
msgstr ""
-#: config/tc-sh.c:2237 config/tc-sh.c:2610
+#: config/tc-sh.c:2238 config/tc-sh.c:2611
msgid "invalid operands for opcode"
msgstr ""
-#: config/tc-sh.c:2242
+#: config/tc-sh.c:2243
msgid "insn can't be combined with parallel processing insn"
msgstr ""
-#: config/tc-sh.c:2249 config/tc-sh.c:2260 config/tc-sh.c:2292
+#: config/tc-sh.c:2250 config/tc-sh.c:2261 config/tc-sh.c:2293
msgid "multiple movx specifications"
msgstr ""
-#: config/tc-sh.c:2254 config/tc-sh.c:2276 config/tc-sh.c:2315
+#: config/tc-sh.c:2255 config/tc-sh.c:2277 config/tc-sh.c:2316
msgid "multiple movy specifications"
msgstr ""
-#: config/tc-sh.c:2263 config/tc-sh.c:2296
+#: config/tc-sh.c:2264 config/tc-sh.c:2297
msgid "invalid movx address register"
msgstr ""
-#: config/tc-sh.c:2265
+#: config/tc-sh.c:2266
msgid "insn cannot be combined with non-nopy"
msgstr ""
-#: config/tc-sh.c:2279 config/tc-sh.c:2335
+#: config/tc-sh.c:2280 config/tc-sh.c:2336
msgid "invalid movy address register"
msgstr ""
-#: config/tc-sh.c:2281
+#: config/tc-sh.c:2282
msgid "insn cannot be combined with non-nopx"
msgstr ""
-#: config/tc-sh.c:2294
+#: config/tc-sh.c:2295
msgid "previous movy requires nopx"
msgstr ""
-#: config/tc-sh.c:2302 config/tc-sh.c:2307
+#: config/tc-sh.c:2303 config/tc-sh.c:2308
msgid "invalid movx dsp register"
msgstr ""
-#: config/tc-sh.c:2317
+#: config/tc-sh.c:2318
msgid "previous movx requires nopy"
msgstr ""
-#: config/tc-sh.c:2326 config/tc-sh.c:2331
+#: config/tc-sh.c:2327 config/tc-sh.c:2332
msgid "invalid movy dsp register"
msgstr ""
-#: config/tc-sh.c:2341
+#: config/tc-sh.c:2342
msgid "dsp immediate shift value not constant"
msgstr ""
-#: config/tc-sh.c:2355 config/tc-sh.c:2381
+#: config/tc-sh.c:2356 config/tc-sh.c:2382
msgid "multiple parallel processing specifications"
msgstr ""
-#: config/tc-sh.c:2374
+#: config/tc-sh.c:2375
msgid "multiple condition specifications"
msgstr ""
-#: config/tc-sh.c:2412
+#: config/tc-sh.c:2413
msgid "insn cannot be combined with pmuls"
msgstr ""
-#: config/tc-sh.c:2428
+#: config/tc-sh.c:2429
msgid "bad combined pmuls output operand"
msgstr ""
-#: config/tc-sh.c:2438
+#: config/tc-sh.c:2439
msgid "destination register is same for parallel insns"
msgstr ""
-#: config/tc-sh.c:2447
+#: config/tc-sh.c:2448
msgid "condition not followed by conditionalizable insn"
msgstr ""
-#: config/tc-sh.c:2457
+#: config/tc-sh.c:2458
msgid "unrecognized characters at end of parallel processing insn"
msgstr ""
-#: config/tc-sh.c:2549
+#: config/tc-sh.c:2550
msgid "opcode not valid for this cpu variant"
msgstr ""
-#: config/tc-sh.c:2580
+#: config/tc-sh.c:2581
msgid "Delayed branches not available on SH1"
msgstr ""
-#: config/tc-sh.c:2615
+#: config/tc-sh.c:2616
#, c-format
msgid "excess operands: '%s'"
msgstr ""
-#: config/tc-sh.c:2692
+#: config/tc-sh.c:2693
msgid ".uses pseudo-op seen when not relaxing"
msgstr ""
-#: config/tc-sh.c:2698
+#: config/tc-sh.c:2699
msgid "bad .uses format"
msgstr ""
-#: config/tc-sh.c:2816
+#: config/tc-sh.c:2817
#, c-format
msgid "Invalid argument to --isa option: %s"
msgstr ""
-#: config/tc-sh.c:2840
+#: config/tc-sh.c:2841
#, c-format
msgid ""
"SH options:\n"
@@ -16563,70 +16810,70 @@ msgid ""
" | fp"
msgstr ""
-#: config/tc-sh.c:2865
+#: config/tc-sh.c:2866
#, c-format
msgid "--fdpic\t\t\tgenerate an FDPIC object file\n"
msgstr ""
-#: config/tc-sh.c:2941
+#: config/tc-sh.c:2942
msgid ".uses does not refer to a local symbol in the same section"
msgstr ""
-#: config/tc-sh.c:2960
+#: config/tc-sh.c:2961
msgid "can't find fixup pointed to by .uses"
msgstr ""
-#: config/tc-sh.c:2980
+#: config/tc-sh.c:2981
msgid ".uses target does not refer to a local symbol in the same section"
msgstr ""
-#: config/tc-sh.c:3053
+#: config/tc-sh.c:3054
msgid "displacement overflows 12-bit field"
msgstr ""
-#: config/tc-sh.c:3056
+#: config/tc-sh.c:3057
#, c-format
msgid "displacement to defined symbol %s overflows 12-bit field"
msgstr ""
-#: config/tc-sh.c:3060
+#: config/tc-sh.c:3061
#, c-format
msgid "displacement to undefined symbol %s overflows 12-bit field"
msgstr ""
-#: config/tc-sh.c:3133
+#: config/tc-sh.c:3134
msgid "displacement overflows 8-bit field"
msgstr ""
-#: config/tc-sh.c:3136
+#: config/tc-sh.c:3137
#, c-format
msgid "displacement to defined symbol %s overflows 8-bit field"
msgstr ""
-#: config/tc-sh.c:3140
+#: config/tc-sh.c:3141
#, c-format
msgid "displacement to undefined symbol %s overflows 8-bit field "
msgstr ""
-#: config/tc-sh.c:3153
+#: config/tc-sh.c:3154
#, c-format
msgid "overflow in branch to %s; converted into longer instruction sequence"
msgstr ""
-#: config/tc-sh.c:3218 config/tc-sh.c:3265 config/tc-sparc.c:4634
+#: config/tc-sh.c:3219 config/tc-sh.c:3266 config/tc-sparc.c:4634
#: config/tc-sparc.c:4658
msgid "misaligned data"
msgstr ""
-#: config/tc-sh.c:3571
+#: config/tc-sh.c:3572
msgid "offset to unaligned destination"
msgstr ""
-#: config/tc-sh.c:3576
+#: config/tc-sh.c:3577
msgid "negative offset"
msgstr ""
-#: config/tc-sh.c:3716
+#: config/tc-sh.c:3717
msgid "misaligned offset"
msgstr ""
@@ -16980,7 +17227,7 @@ msgstr ""
msgid "negative alignment"
msgstr ""
-#: config/tc-sparc.c:4189 config/tc-sparc.c:4327 read.c:1523 read.c:2541
+#: config/tc-sparc.c:4189 config/tc-sparc.c:4327 read.c:1524 read.c:2542
msgid "alignment not a power of 2"
msgstr ""
@@ -18963,7 +19210,7 @@ msgstr ""
msgid "displacement is too large"
msgstr ""
-#: config/tc-v850.c:2975 config/tc-xtensa.c:13030
+#: config/tc-v850.c:2975 config/tc-xtensa.c:13056
msgid "invalid operand"
msgstr ""
@@ -19282,7 +19529,7 @@ msgstr ""
msgid "missing table index"
msgstr ""
-#: config/tc-wasm32.c:726 config/tc-z80.c:3306 read.c:3738
+#: config/tc-wasm32.c:726 config/tc-z80.c:3646 read.c:3739
#, c-format
msgid "junk at end of line, first unrecognized character is `%c'"
msgstr ""
@@ -19401,555 +19648,555 @@ msgstr ""
msgid "unsupported fptr fixup"
msgstr ""
-#: config/tc-xtensa.c:649
+#: config/tc-xtensa.c:655
msgid "illegal range of target hardware versions"
msgstr ""
-#: config/tc-xtensa.c:825
+#: config/tc-xtensa.c:831
msgid "--density option is ignored"
msgstr ""
-#: config/tc-xtensa.c:828
+#: config/tc-xtensa.c:834
msgid "--no-density option is ignored"
msgstr ""
-#: config/tc-xtensa.c:846
+#: config/tc-xtensa.c:852
msgid "--generics is deprecated; use --transform instead"
msgstr ""
-#: config/tc-xtensa.c:849
+#: config/tc-xtensa.c:855
msgid "--no-generics is deprecated; use --no-transform instead"
msgstr ""
-#: config/tc-xtensa.c:852
+#: config/tc-xtensa.c:858
msgid "--relax is deprecated; use --transform instead"
msgstr ""
-#: config/tc-xtensa.c:855
+#: config/tc-xtensa.c:861
msgid "--no-relax is deprecated; use --no-transform instead"
msgstr ""
-#: config/tc-xtensa.c:872
+#: config/tc-xtensa.c:878
msgid "--absolute-literals option not supported in this Xtensa configuration"
msgstr ""
-#: config/tc-xtensa.c:945
+#: config/tc-xtensa.c:951
msgid "prefer-l32r conflicts with prefer-const16"
msgstr ""
-#: config/tc-xtensa.c:951
+#: config/tc-xtensa.c:957
msgid "prefer-const16 conflicts with prefer-l32r"
msgstr ""
-#: config/tc-xtensa.c:960 config/tc-xtensa.c:969 config/tc-xtensa.c:973
+#: config/tc-xtensa.c:966 config/tc-xtensa.c:975 config/tc-xtensa.c:979
msgid "invalid target hardware version"
msgstr ""
-#: config/tc-xtensa.c:1019
+#: config/tc-xtensa.c:1025
msgid "no-auto-litpools is incompatible with auto-litpool-limit"
msgstr ""
-#: config/tc-xtensa.c:1021 config/tc-xtensa.c:1024
+#: config/tc-xtensa.c:1027 config/tc-xtensa.c:1030
msgid "invalid auto-litpool-limit argument"
msgstr ""
-#: config/tc-xtensa.c:1026
+#: config/tc-xtensa.c:1032
msgid "invalid auto-litpool-limit argument (range is 100-10000)"
msgstr ""
-#: config/tc-xtensa.c:1215
+#: config/tc-xtensa.c:1221
msgid "unmatched .end directive"
msgstr ""
-#: config/tc-xtensa.c:1244
+#: config/tc-xtensa.c:1250
msgid ".begin directive with no matching .end directive"
msgstr ""
-#: config/tc-xtensa.c:1285
+#: config/tc-xtensa.c:1291
msgid "[no-]generics is deprecated; use [no-]transform instead"
msgstr ""
-#: config/tc-xtensa.c:1290
+#: config/tc-xtensa.c:1296
msgid "[no-]relax is deprecated; use [no-]transform instead"
msgstr ""
-#: config/tc-xtensa.c:1303
+#: config/tc-xtensa.c:1309
#, c-format
msgid "directive %s cannot be negated"
msgstr ""
-#: config/tc-xtensa.c:1309
+#: config/tc-xtensa.c:1315
msgid "unknown directive"
msgstr ""
-#: config/tc-xtensa.c:1330 config/tc-xtensa.c:1426 config/tc-xtensa.c:1656
-#: config/tc-xtensa.c:5903
+#: config/tc-xtensa.c:1336 config/tc-xtensa.c:1432 config/tc-xtensa.c:1662
+#: config/tc-xtensa.c:5923
msgid "directives are not valid inside bundles"
msgstr ""
-#: config/tc-xtensa.c:1342
+#: config/tc-xtensa.c:1348
msgid ".begin literal is deprecated; use .literal instead"
msgstr ""
-#: config/tc-xtensa.c:1356
+#: config/tc-xtensa.c:1362
msgid "cannot set literal_prefix inside literal fragment"
msgstr ""
-#: config/tc-xtensa.c:1389
+#: config/tc-xtensa.c:1395
msgid ".begin [no-]density is ignored"
msgstr ""
-#: config/tc-xtensa.c:1396 config/tc-xtensa.c:1446
+#: config/tc-xtensa.c:1402 config/tc-xtensa.c:1452
msgid "Xtensa absolute literals option not supported; ignored"
msgstr ""
-#: config/tc-xtensa.c:1439
+#: config/tc-xtensa.c:1445
msgid ".end [no-]density is ignored"
msgstr ""
-#: config/tc-xtensa.c:1464
+#: config/tc-xtensa.c:1470
#, c-format
msgid "does not match begin %s%s at %s:%d"
msgstr ""
-#: config/tc-xtensa.c:1519
+#: config/tc-xtensa.c:1525
msgid ".literal_position inside literal directive; ignoring"
msgstr ""
-#: config/tc-xtensa.c:1538
+#: config/tc-xtensa.c:1544
msgid ".literal not allowed inside .begin literal region"
msgstr ""
-#: config/tc-xtensa.c:1566
+#: config/tc-xtensa.c:1572
msgid "expected comma or colon after symbol name; rest of line ignored"
msgstr ""
-#: config/tc-xtensa.c:1625
+#: config/tc-xtensa.c:1631
msgid "fall through frequency must be greater than 0"
msgstr ""
-#: config/tc-xtensa.c:1633
+#: config/tc-xtensa.c:1639
msgid "branch target frequency must be greater than 0"
msgstr ""
-#: config/tc-xtensa.c:1681
+#: config/tc-xtensa.c:1687
#, c-format
msgid "opcode-specific %s relocation used outside an instruction"
msgstr ""
-#: config/tc-xtensa.c:1691
+#: config/tc-xtensa.c:1697
#, c-format
msgid "invalid use of %s relocation"
msgstr ""
-#: config/tc-xtensa.c:1887 config/tc-xtensa.c:1904
+#: config/tc-xtensa.c:1893 config/tc-xtensa.c:1910
#, c-format
msgid "bad register name: %s"
msgstr ""
-#: config/tc-xtensa.c:1893
+#: config/tc-xtensa.c:1899
#, c-format
msgid "bad register number: %s"
msgstr ""
-#: config/tc-xtensa.c:1957
+#: config/tc-xtensa.c:1963
msgid "pcrel relocation not allowed in an instruction"
msgstr ""
-#: config/tc-xtensa.c:2060
+#: config/tc-xtensa.c:2066
msgid "extra colon"
msgstr ""
-#: config/tc-xtensa.c:2121
+#: config/tc-xtensa.c:2127
msgid "incorrect register number, ignoring"
msgstr ""
-#: config/tc-xtensa.c:2202
+#: config/tc-xtensa.c:2208
#, c-format
msgid "cannot encode opcode \"%s\""
msgstr ""
-#: config/tc-xtensa.c:2294
+#: config/tc-xtensa.c:2300
#, c-format
msgid "not enough operands (%d) for '%s'; expected %d"
msgstr ""
-#: config/tc-xtensa.c:2301
+#: config/tc-xtensa.c:2307
#, c-format
msgid "too many operands (%d) for '%s'; expected %d"
msgstr ""
-#: config/tc-xtensa.c:2352
+#: config/tc-xtensa.c:2358
#, c-format
msgid "invalid register '%s' for '%s' instruction"
msgstr ""
-#: config/tc-xtensa.c:2359
+#: config/tc-xtensa.c:2365
#, c-format
msgid "invalid register number (%ld) for '%s' instruction"
msgstr ""
-#: config/tc-xtensa.c:2426
+#: config/tc-xtensa.c:2432
#, c-format
msgid "invalid register number (%ld) for '%s'"
msgstr ""
-#: config/tc-xtensa.c:2813
+#: config/tc-xtensa.c:2831
#, c-format
msgid "operand %d of '%s' has out of range value '%u'"
msgstr ""
-#: config/tc-xtensa.c:2819
+#: config/tc-xtensa.c:2837
#, c-format
msgid "operand %d of '%s' has invalid value '%u'"
msgstr ""
-#: config/tc-xtensa.c:2866
+#: config/tc-xtensa.c:2884
#, c-format
msgid "internal error: unknown option name '%s'"
msgstr ""
-#: config/tc-xtensa.c:3975
+#: config/tc-xtensa.c:3993
msgid "can't handle generation of literal/labels yet"
msgstr ""
-#: config/tc-xtensa.c:3979
+#: config/tc-xtensa.c:3997
msgid "can't handle undefined OP TYPE"
msgstr ""
-#: config/tc-xtensa.c:4040 config/tc-xtensa.c:4049
+#: config/tc-xtensa.c:4058 config/tc-xtensa.c:4067
#, c-format
msgid "found %d operand for '%s': Expected %d"
msgid_plural "found %d operands for '%s': Expected %d"
msgstr[0] ""
msgstr[1] ""
-#: config/tc-xtensa.c:4072
+#: config/tc-xtensa.c:4090
msgid "immediate operands sum to greater than 32"
msgstr ""
-#: config/tc-xtensa.c:4324
+#: config/tc-xtensa.c:4342
#, c-format
msgid "invalid relocation for operand %i of '%s'"
msgstr ""
-#: config/tc-xtensa.c:4334
+#: config/tc-xtensa.c:4352
#, c-format
msgid "invalid expression for operand %i of '%s'"
msgstr ""
-#: config/tc-xtensa.c:4344
+#: config/tc-xtensa.c:4362
#, c-format
msgid "invalid relocation in instruction slot %i"
msgstr ""
-#: config/tc-xtensa.c:4351
+#: config/tc-xtensa.c:4369
#, c-format
msgid "undefined symbol for opcode \"%s\""
msgstr ""
-#: config/tc-xtensa.c:4826
+#: config/tc-xtensa.c:4844
msgid "opcode 'NOP.N' unavailable in this configuration"
msgstr ""
-#: config/tc-xtensa.c:4886
+#: config/tc-xtensa.c:4904
msgid "get_expanded_loop_offset: invalid opcode"
msgstr ""
-#: config/tc-xtensa.c:5047
+#: config/tc-xtensa.c:5065
#, c-format
msgid "assembly state not set for first frag in section %s"
msgstr ""
-#: config/tc-xtensa.c:5100
+#: config/tc-xtensa.c:5118
#, c-format
msgid "unaligned branch target: %d bytes at 0x%lx"
msgstr ""
-#: config/tc-xtensa.c:5144
+#: config/tc-xtensa.c:5162
#, c-format
msgid "unaligned loop: %d bytes at 0x%lx"
msgstr ""
-#: config/tc-xtensa.c:5169
+#: config/tc-xtensa.c:5187
msgid "unexpected fix"
msgstr ""
-#: config/tc-xtensa.c:5180 config/tc-xtensa.c:5184
+#: config/tc-xtensa.c:5198 config/tc-xtensa.c:5202
msgid "undecodable fix"
msgstr ""
-#: config/tc-xtensa.c:5343
+#: config/tc-xtensa.c:5363
msgid "labels are not valid inside bundles"
msgstr ""
-#: config/tc-xtensa.c:5363
+#: config/tc-xtensa.c:5383
msgid "invalid last instruction for a zero-overhead loop"
msgstr ""
-#: config/tc-xtensa.c:5430
+#: config/tc-xtensa.c:5450
msgid "extra opening brace"
msgstr ""
-#: config/tc-xtensa.c:5440
+#: config/tc-xtensa.c:5460
msgid "extra closing brace"
msgstr ""
-#: config/tc-xtensa.c:5467
+#: config/tc-xtensa.c:5487
msgid "missing closing brace"
msgstr ""
-#: config/tc-xtensa.c:5565 config/tc-xtensa.c:5594
+#: config/tc-xtensa.c:5585 config/tc-xtensa.c:5614
#, c-format
msgid "wrong number of operands for '%s'"
msgstr ""
-#: config/tc-xtensa.c:5581
+#: config/tc-xtensa.c:5601
#, c-format
msgid "bad relocation expression for '%s'"
msgstr ""
-#: config/tc-xtensa.c:5616
+#: config/tc-xtensa.c:5636
#, c-format
msgid "unknown opcode or format name '%s'"
msgstr ""
-#: config/tc-xtensa.c:5622
+#: config/tc-xtensa.c:5642
msgid "format names only valid inside bundles"
msgstr ""
-#: config/tc-xtensa.c:5627
+#: config/tc-xtensa.c:5647
#, c-format
msgid "multiple formats specified for one bundle; using '%s'"
msgstr ""
-#: config/tc-xtensa.c:5677
+#: config/tc-xtensa.c:5697
msgid "entry instruction with stack decrement < 16"
msgstr ""
-#: config/tc-xtensa.c:5731
+#: config/tc-xtensa.c:5751
msgid "unaligned entry instruction"
msgstr ""
-#: config/tc-xtensa.c:5796
+#: config/tc-xtensa.c:5816
msgid "bad instruction format"
msgstr ""
-#: config/tc-xtensa.c:5799
+#: config/tc-xtensa.c:5819
msgid "invalid relocation"
msgstr ""
-#: config/tc-xtensa.c:5810
+#: config/tc-xtensa.c:5830
#, c-format
msgid "invalid relocation for '%s' instruction"
msgstr ""
-#: config/tc-xtensa.c:5822
+#: config/tc-xtensa.c:5842
#, c-format
msgid "invalid relocation for operand %d of '%s'"
msgstr ""
-#: config/tc-xtensa.c:6099
+#: config/tc-xtensa.c:6125
#, c-format
msgid "unhandled local relocation fix %s"
msgstr ""
-#: config/tc-xtensa.c:6150
+#: config/tc-xtensa.c:6176
#, c-format
msgid "internal error; cannot generate `%s' relocation"
msgstr ""
-#: config/tc-xtensa.c:6367
+#: config/tc-xtensa.c:6393
msgid "The option \"--no-allow-flix\" prohibits multi-slot flix."
msgstr ""
-#: config/tc-xtensa.c:6374
+#: config/tc-xtensa.c:6400
msgid "couldn't find a valid instruction format"
msgstr ""
-#: config/tc-xtensa.c:6375
+#: config/tc-xtensa.c:6401
#, c-format
msgid " ops were: "
msgstr ""
-#: config/tc-xtensa.c:6377
+#: config/tc-xtensa.c:6403
#, c-format
msgid " %s;"
msgstr ""
-#: config/tc-xtensa.c:6387
+#: config/tc-xtensa.c:6413
#, c-format
msgid "mismatch for format '%s': #slots = %d, #opcodes = %d"
msgstr ""
-#: config/tc-xtensa.c:6396 config/tc-xtensa.c:6493
+#: config/tc-xtensa.c:6422 config/tc-xtensa.c:6519
msgid "illegal resource usage in bundle"
msgstr ""
-#: config/tc-xtensa.c:6582
+#: config/tc-xtensa.c:6608
#, c-format
msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same register"
msgstr ""
-#: config/tc-xtensa.c:6587
+#: config/tc-xtensa.c:6613
#, c-format
msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same state"
msgstr ""
-#: config/tc-xtensa.c:6592
+#: config/tc-xtensa.c:6618
#, c-format
msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same port"
msgstr ""
-#: config/tc-xtensa.c:6597
+#: config/tc-xtensa.c:6623
#, c-format
msgid ""
"opcodes '%s' (slot %d) and '%s' (slot %d) both have volatile port accesses"
msgstr ""
-#: config/tc-xtensa.c:6613
+#: config/tc-xtensa.c:6639
msgid "multiple branches or jumps in the same bundle"
msgstr ""
-#: config/tc-xtensa.c:7065
+#: config/tc-xtensa.c:7091
msgid "cannot assemble into a literal fragment"
msgstr ""
-#: config/tc-xtensa.c:7067
+#: config/tc-xtensa.c:7093
msgid "..."
msgstr ""
-#: config/tc-xtensa.c:8283
+#: config/tc-xtensa.c:8309
msgid ""
"instruction sequence (write a0, branch, retw) may trigger hardware errata"
msgstr ""
-#: config/tc-xtensa.c:8395
+#: config/tc-xtensa.c:8421
msgid "branching or jumping to a loop end may trigger hardware errata"
msgstr ""
-#: config/tc-xtensa.c:8477
+#: config/tc-xtensa.c:8503
msgid "loop end too close to another loop end may trigger hardware errata"
msgstr ""
-#: config/tc-xtensa.c:8486
+#: config/tc-xtensa.c:8512
#, c-format
msgid "fr_var %lu < length %d"
msgstr ""
-#: config/tc-xtensa.c:8643
+#: config/tc-xtensa.c:8669
msgid ""
"loop containing less than three instructions may trigger hardware errata"
msgstr ""
-#: config/tc-xtensa.c:8715
+#: config/tc-xtensa.c:8741
msgid "undecodable instruction in instruction frag"
msgstr ""
-#: config/tc-xtensa.c:8825
+#: config/tc-xtensa.c:8851
msgid "invalid empty loop"
msgstr ""
-#: config/tc-xtensa.c:8830
+#: config/tc-xtensa.c:8856
msgid "loop target does not follow loop instruction in section"
msgstr ""
-#: config/tc-xtensa.c:9401
+#: config/tc-xtensa.c:9427
msgid "cannot find suitable trampoline"
msgstr ""
-#: config/tc-xtensa.c:9656
+#: config/tc-xtensa.c:9682
msgid "bad relaxation state"
msgstr ""
-#: config/tc-xtensa.c:9714
+#: config/tc-xtensa.c:9740
#, c-format
msgid "fr_var (%ld) < length (%d)"
msgstr ""
-#: config/tc-xtensa.c:10414
+#: config/tc-xtensa.c:10440
msgid "jump target out of range; no usable trampoline found"
msgstr ""
-#: config/tc-xtensa.c:10538
+#: config/tc-xtensa.c:10564
msgid "invalid relaxation fragment result"
msgstr ""
-#: config/tc-xtensa.c:10620
+#: config/tc-xtensa.c:10646
msgid "unable to widen instruction"
msgstr ""
-#: config/tc-xtensa.c:10758
+#: config/tc-xtensa.c:10784
msgid "multiple literals in expansion"
msgstr ""
-#: config/tc-xtensa.c:10762
+#: config/tc-xtensa.c:10788
msgid "no registered fragment for literal"
msgstr ""
-#: config/tc-xtensa.c:10764
+#: config/tc-xtensa.c:10790
msgid "number of literal tokens != 1"
msgstr ""
-#: config/tc-xtensa.c:10893 config/tc-xtensa.c:10899
+#: config/tc-xtensa.c:10919 config/tc-xtensa.c:10925
#, c-format
msgid "unresolved loop target symbol: %s"
msgstr ""
-#: config/tc-xtensa.c:11388
+#: config/tc-xtensa.c:11414
#, c-format
msgid "fixes not all moved from %s"
msgstr ""
-#: config/tc-xtensa.c:11516
+#: config/tc-xtensa.c:11542
msgid ""
"literal pool location required for text-section-literals; specify with ."
"literal_position"
msgstr ""
-#: config/tc-xtensa.c:12344
+#: config/tc-xtensa.c:12370
msgid "too many operands in instruction"
msgstr ""
-#: config/tc-xtensa.c:12554
+#: config/tc-xtensa.c:12580
msgid "invalid symbolic operand"
msgstr ""
-#: config/tc-xtensa.c:12615
+#: config/tc-xtensa.c:12641
msgid "operand number mismatch"
msgstr ""
-#: config/tc-xtensa.c:12619
+#: config/tc-xtensa.c:12645
#, c-format
msgid "cannot encode opcode \"%s\" in the given format \"%s\""
msgstr ""
-#: config/tc-xtensa.c:12644
+#: config/tc-xtensa.c:12670
#, c-format
msgid "xtensa-isa failure: %s"
msgstr ""
-#: config/tc-xtensa.c:12721
+#: config/tc-xtensa.c:12747
msgid "invalid opcode"
msgstr ""
-#: config/tc-xtensa.c:12727
+#: config/tc-xtensa.c:12753
msgid "too few operands"
msgstr ""
-#: config/tc-xtensa.c:12733
+#: config/tc-xtensa.c:12759
msgid "too many operands"
msgstr ""
-#: config/tc-xtensa.c:12777
+#: config/tc-xtensa.c:12803
msgid "multiple writes to the same register"
msgstr ""
-#: config/tc-xtensa.c:12891 config/tc-xtensa.c:12897
+#: config/tc-xtensa.c:12917 config/tc-xtensa.c:12923
msgid "out of memory"
msgstr ""
-#: config/tc-xtensa.c:12986
+#: config/tc-xtensa.c:13012
msgid "TLS relocation not allowed in FLIX bundle"
msgstr ""
@@ -19957,89 +20204,142 @@ msgstr ""
#. relaxed in the front-end. If "record_fixup" is set, then this
#. function is being called during back-end relaxation, so flag
#. the unexpected behavior as an error.
-#: config/tc-xtensa.c:12992
+#: config/tc-xtensa.c:13018
msgid "unexpected TLS relocation"
msgstr ""
-#: config/tc-xtensa.c:13036
+#: config/tc-xtensa.c:13062
msgid "symbolic operand not allowed"
msgstr ""
-#: config/tc-xtensa.c:13073
+#: config/tc-xtensa.c:13099
msgid "cannot decode instruction format"
msgstr ""
-#: config/tc-xtensa.c:13217
+#: config/tc-xtensa.c:13243
msgid "ignoring extra '-rename-section' delimiter ':'"
msgstr ""
-#: config/tc-xtensa.c:13222
+#: config/tc-xtensa.c:13248
#, c-format
msgid "ignoring invalid '-rename-section' specification: '%s'"
msgstr ""
-#: config/tc-xtensa.c:13233
+#: config/tc-xtensa.c:13259
#, c-format
msgid "section %s renamed multiple times"
msgstr ""
-#: config/tc-xtensa.c:13235
+#: config/tc-xtensa.c:13261
#, c-format
msgid "multiple sections remapped to output section %s"
msgstr ""
#: config/tc-z80.c:194
#, c-format
+msgid "Invalid CPU is specified: %s"
+msgstr ""
+
+#: config/tc-z80.c:219
+#, c-format
+msgid "Invalid EXTENTION is specified: %s"
+msgstr ""
+
+#: config/tc-z80.c:274
+#, c-format
msgid "invalid floating point numbers type `%s'"
msgstr ""
-#: config/tc-z80.c:215 config/tc-z80.c:224
+#: config/tc-z80.c:295 config/tc-z80.c:304
#, c-format
msgid "invalid INST in command line: %s"
msgstr ""
-#: config/tc-z80.c:583
+#: config/tc-z80.c:398
+#, c-format
+msgid ""
+"\n"
+"CPU model options:\n"
+" -march=CPU[+EXT...][-EXT...]\n"
+"\t\t\t generate code for CPU, where CPU is one of:\n"
+msgstr ""
+
+#: config/tc-z80.c:404
+#, c-format
+msgid "And EXT is combination (+EXT - add, -EXT - remove) of:\n"
+msgstr ""
+
+#: config/tc-z80.c:407
+#, c-format
+msgid ""
+"\n"
+"Compatibility options:\n"
+" -local-prefix=TEXT\t treat labels prefixed by TEXT as local\n"
+" -colonless\t\t permit colonless labels\n"
+" -sdcc\t\t\t accept SDCC specific instruction syntax\n"
+" -fp-s=FORMAT\t\t set single precission FP numbers format\n"
+" -fp-d=FORMAT\t\t set double precission FP numbers format\n"
+"Where FORMAT one of:\n"
+" ieee754\t\t IEEE754 compatible (depends on directive)\n"
+" half\t\t\t IEEE754 half precision (16 bit)\n"
+" single\t\t IEEE754 single precision (32 bit)\n"
+" double\t\t IEEE754 double precision (64 bit)\n"
+" zeda32\t\t Zeda z80float library 32 bit format\n"
+" math48\t\t 48 bit format from Math48 library\n"
+"\n"
+"Default: -march=z80+xyhl+infc\n"
+msgstr ""
+
+#: config/tc-z80.c:610
msgid "-- unterminated string"
msgstr ""
-#: config/tc-z80.c:750
+#: config/tc-z80.c:779
msgid "undocumented instruction"
msgstr ""
-#: config/tc-z80.c:794 config/tc-z80.c:800
+#: config/tc-z80.c:823 config/tc-z80.c:829
msgid "mismatched parentheses"
msgstr ""
-#: config/tc-z80.c:854
+#: config/tc-z80.c:915
msgid "bad expression syntax"
msgstr ""
-#: config/tc-z80.c:1071
+#: config/tc-z80.c:1132
#, c-format
msgid "invalid data size %d"
msgstr ""
-#: config/tc-z80.c:1140
+#: config/tc-z80.c:1200
msgid "cannot make a relative jump to an absolute location"
msgstr ""
-#: config/tc-z80.c:1152 config/tc-z80.c:3386 config/tc-z80.c:3689
-msgid "overflow"
+#: config/tc-z80.c:1207
+#, c-format
+msgid "index overflow (%+ld)"
+msgstr ""
+
+#: config/tc-z80.c:1209
+#, c-format
+msgid "offset overflow (%+ld)"
msgstr ""
-#: config/tc-z80.c:1524 config/tc-z80.c:1567 config/tc-z80.c:1611
-#: config/tc-z80.c:1679 config/tc-z80.c:1731 config/tc-z80.c:1784
-#: config/tc-z80.c:1817 config/tc-z80.c:1873 config/tc-z80.c:2475
-#: config/tc-z80.c:2524 config/tc-z80.c:2562 config/tc-z80.c:2653
+#: config/tc-z80.c:1411 config/tc-z80.c:1658 config/tc-z80.c:1701
+#: config/tc-z80.c:1782 config/tc-z80.c:1812 config/tc-z80.c:1871
+#: config/tc-z80.c:1931 config/tc-z80.c:1984 config/tc-z80.c:2017
+#: config/tc-z80.c:2074 config/tc-z80.c:2691 config/tc-z80.c:2740
+#: config/tc-z80.c:2778 config/tc-z80.c:2838 config/tc-z80.c:2898
+#: config/tc-z80.c:2974 config/tc-z80.c:2997
msgid "bad instruction syntax"
msgstr ""
-#: config/tc-z80.c:1657
+#: config/tc-z80.c:1849
msgid "condition code invalid for jr"
msgstr ""
-#: config/tc-z80.c:2221 config/tc-z80.c:2232 config/tc-z80.c:2248
-#: config/tc-z80.c:2281
+#: config/tc-z80.c:2437 config/tc-z80.c:2448 config/tc-z80.c:2464
+#: config/tc-z80.c:2497
msgid "ADL mode instruction"
msgstr ""
@@ -20047,39 +20347,65 @@ msgstr ""
#. LIS prefix, in Z80 it is LD C,C
#. SIL prefix, in Z80 it is LD D,D
#. LIL prefix, in Z80 it is LD E,E
-#: config/tc-z80.c:2356
+#: config/tc-z80.c:2572
msgid "unsupported instruction, assembled as NOP"
msgstr ""
-#: config/tc-z80.c:2849 config/tc-z80.c:2880
+#: config/tc-z80.c:3165 config/tc-z80.c:3196
msgid "parentheses ignored"
msgstr ""
-#: config/tc-z80.c:2897
+#: config/tc-z80.c:3213
msgid "CPU mode is unsupported by target"
msgstr ""
-#: config/tc-z80.c:2919
+#: config/tc-z80.c:3235
msgid "assignment expected"
msgstr ""
-#: config/tc-z80.c:3333 config/tc-z8k.c:1467 config/tc-z8k.c:1530
-msgid "relative jump out of range"
+#: config/tc-z80.c:3639
+#, c-format
+msgid "Unknown instruction `%s'"
msgstr ""
-#: config/tc-z80.c:3350
-msgid "index offset out of range"
+#: config/tc-z80.c:3706
+#, c-format
+msgid "8-bit signed offset out of range (%+ld)"
msgstr ""
-#: config/tc-z80.c:3429 config/tc-z8k.c:1538
+#: config/tc-z80.c:3729
#, c-format
-msgid "md_apply_fix: unknown r_type 0x%x\n"
+msgid "8-bit overflow (%+ld)"
+msgstr ""
+
+#: config/tc-z80.c:3746
+#, c-format
+msgid "16-bit overflow (%+ld)"
msgstr ""
-#: config/tc-z80.c:3611 config/tc-z80.c:3670
+#: config/tc-z80.c:3754
+#, c-format
+msgid "24-bit overflow (%+ld)"
+msgstr ""
+
+#: config/tc-z80.c:3763
+#, c-format
+msgid "32-bit overflow (%+ld)"
+msgstr ""
+
+#: config/tc-z80.c:3776
+#, c-format
+msgid "md_apply_fix: unknown reloc type 0x%x\n"
+msgstr ""
+
+#: config/tc-z80.c:3973 config/tc-z80.c:4032
msgid "invalid syntax"
msgstr ""
+#: config/tc-z80.c:4051
+msgid "overflow"
+msgstr ""
+
#: config/tc-z8k.c:281
#, c-format
msgid "register rr%d out of range"
@@ -20201,6 +20527,10 @@ msgstr ""
msgid "cannot branch to odd address"
msgstr ""
+#: config/tc-z8k.c:1467 config/tc-z8k.c:1530
+msgid "relative jump out of range"
+msgstr ""
+
#: config/tc-z8k.c:1485
msgid "relative address out of range"
msgstr ""
@@ -20209,6 +20539,11 @@ msgstr ""
msgid "relative call out of range"
msgstr ""
+#: config/tc-z8k.c:1538
+#, c-format
+msgid "md_apply_fix: unknown r_type 0x%x\n"
+msgstr ""
+
#: config/tc-z8k.c:1550
#, c-format
msgid "call to md_estimate_size_before_relax\n"
@@ -20294,7 +20629,7 @@ msgstr ""
msgid "can't close `%s'"
msgstr ""
-#: dw2gencfi.c:319 read.c:2442
+#: dw2gencfi.c:319 read.c:2443
#, c-format
msgid "bfd_set_section_flags: %s"
msgstr ""
@@ -20415,51 +20750,56 @@ msgstr ""
msgid "CFI is not supported for this target"
msgstr ""
-#: dwarf2dbg.c:372 dwarf2dbg.c:2340
+#: dwarf2dbg.c:379 dwarf2dbg.c:2747
msgid "view number mismatch"
msgstr ""
-#: dwarf2dbg.c:757 dwarf2dbg.c:815
+#: dwarf2dbg.c:635 dwarf2dbg.c:1084
#, c-format
msgid "file number %lu is too big"
msgstr ""
-#: dwarf2dbg.c:804 dwarf2dbg.c:854
+#: dwarf2dbg.c:798
+#, c-format
+msgid ""
+"file table slot %u is already occupied by a different file (%s%s%s vs %s%s%s)"
+msgstr ""
+
+#: dwarf2dbg.c:1035 dwarf2dbg.c:1122
msgid "file number less than one"
msgstr ""
-#: dwarf2dbg.c:820
-#, c-format
-msgid "file number %u already allocated"
+#: dwarf2dbg.c:1069
+msgid "md5 value too small or not a constant"
msgstr ""
-#: dwarf2dbg.c:859 dwarf2dbg.c:1727
+#: dwarf2dbg.c:1129 dwarf2dbg.c:2096
#, c-format
msgid "unassigned file number %ld"
msgstr ""
-#: dwarf2dbg.c:928
+#: dwarf2dbg.c:1198
msgid "is_stmt value not 0 or 1"
msgstr ""
-#: dwarf2dbg.c:940
+#: dwarf2dbg.c:1210
msgid "isa number less than zero"
msgstr ""
-#: dwarf2dbg.c:952
+#: dwarf2dbg.c:1222
msgid "discriminator less than zero"
msgstr ""
-#: dwarf2dbg.c:971
+#: dwarf2dbg.c:1241
msgid "numeric view can only be asserted to zero"
msgstr ""
-#: dwarf2dbg.c:1009
+#: dwarf2dbg.c:1279
#, c-format
msgid "unknown .loc sub-directive `%s'"
msgstr ""
-#: dwarf2dbg.c:1804
+#: dwarf2dbg.c:2200
msgid "internal error: unknown dwarf2 format"
msgstr ""
@@ -20650,11 +20990,11 @@ msgstr ""
msgid "GP prologue size exceeds field size, using 0 instead"
msgstr ""
-#: expr.c:84 read.c:3804
+#: expr.c:84 read.c:3805
msgid "bignum invalid"
msgstr ""
-#: expr.c:86 read.c:3806 read.c:4311 read.c:5157
+#: expr.c:86 read.c:3807 read.c:4312 read.c:5158
msgid "floating point number invalid"
msgstr ""
@@ -20698,7 +21038,7 @@ msgstr ""
msgid "missing '%c'"
msgstr ""
-#: expr.c:978 read.c:4608
+#: expr.c:978 read.c:4609
msgid "EBCDIC constants are not supported"
msgstr ""
@@ -20736,7 +21076,7 @@ msgstr ""
msgid "right operand is a float; integer 0 assumed"
msgstr ""
-#: expr.c:1919 symbols.c:1561
+#: expr.c:1919 symbols.c:1574
msgid "division by zero"
msgstr ""
@@ -21073,52 +21413,52 @@ msgid ""
"single instruction is %u bytes long, but .bundle_align_mode limit is %u bytes"
msgstr ""
-#: read.c:769 read.c:2812 read.c:3383
+#: read.c:769 read.c:2813 read.c:3384
msgid "ignoring fill value in absolute section"
msgstr ""
-#: read.c:771 read.c:2827 read.c:3422
+#: read.c:771 read.c:2828 read.c:3423
#, c-format
msgid "ignoring fill value in section `%s'"
msgstr ""
-#: read.c:1131
+#: read.c:1132
#, c-format
msgid "unknown pseudo-op: `%s'"
msgstr ""
-#: read.c:1184
+#: read.c:1185
msgid "unable to continue with assembly."
msgstr ""
-#: read.c:1226
+#: read.c:1227
#, c-format
msgid "label \"%d$\" redefined"
msgstr ""
-#: read.c:1373
+#: read.c:1374
msgid ".bundle_lock with no matching .bundle_unlock"
msgstr ""
-#: read.c:1470
+#: read.c:1471
msgid ".abort detected. Abandoning ship."
msgstr ""
-#: read.c:1532
+#: read.c:1533
#, c-format
msgid "alignment too large: %u assumed"
msgstr ""
-#: read.c:1564
+#: read.c:1565
msgid "expected fill pattern missing"
msgstr ""
-#: read.c:1589
+#: read.c:1590
#, c-format
msgid "fill pattern too long, truncating to %u"
msgstr ""
-#: read.c:1687
+#: read.c:1688
msgid "symbol name not recognised in the current locale"
msgstr ""
@@ -21131,360 +21471,360 @@ msgstr ""
#. We do not want to barf on this, especially since such files are used
#. in the GCC and GDB testsuites. So we check for negative line numbers
#. rather than non-positive line numbers.
-#: read.c:2029
+#: read.c:2030
#, c-format
msgid "line numbers must be positive; line number %d rejected"
msgstr ""
-#: read.c:2066
+#: read.c:2067
#, c-format
msgid "incompatible flag %i in line directive"
msgstr ""
-#: read.c:2078
+#: read.c:2079
#, c-format
msgid "unsupported flag %i in line directive"
msgstr ""
-#: read.c:2117
+#: read.c:2118
msgid "start address not supported"
msgstr ""
-#: read.c:2126
+#: read.c:2127
msgid ".err encountered"
msgstr ""
-#: read.c:2142
+#: read.c:2143
msgid ".error directive invoked in source file"
msgstr ""
-#: read.c:2143
+#: read.c:2144
msgid ".warning directive invoked in source file"
msgstr ""
-#: read.c:2149
+#: read.c:2150
#, c-format
msgid "%s argument must be a string"
msgstr ""
-#: read.c:2181 read.c:2183
+#: read.c:2182 read.c:2184
#, c-format
msgid ".fail %ld encountered"
msgstr ""
-#: read.c:2223
+#: read.c:2224
#, c-format
msgid ".fill size clamped to %d"
msgstr ""
-#: read.c:2228
+#: read.c:2229
msgid "size negative; .fill ignored"
msgstr ""
-#: read.c:2234
+#: read.c:2235
msgid "repeat < 0; .fill ignored"
msgstr ""
-#: read.c:2243
+#: read.c:2244
msgid "non-constant fill count for absolute section"
msgstr ""
-#: read.c:2245
+#: read.c:2246
msgid "attempt to fill absolute section with non-zero value"
msgstr ""
-#: read.c:2251
+#: read.c:2252
#, c-format
msgid "attempt to fill section `%s' with non-zero value"
msgstr ""
-#: read.c:2408
+#: read.c:2409
#, c-format
msgid "unrecognized .linkonce type `%s'"
msgstr ""
-#: read.c:2420
+#: read.c:2421
msgid ".linkonce is not supported for this object file format"
msgstr ""
-#: read.c:2515
+#: read.c:2516
msgid "expected alignment after size"
msgstr ""
-#: read.c:2734
+#: read.c:2735
#, c-format
msgid "attempt to redefine pseudo-op `%s' ignored"
msgstr ""
-#: read.c:2753
+#: read.c:2754
msgid "ignoring macro exit outside a macro definition."
msgstr ""
-#: read.c:2807
+#: read.c:2808
#, c-format
msgid "invalid segment \"%s\""
msgstr ""
-#: read.c:2815
+#: read.c:2816
msgid "only constant offsets supported in absolute section"
msgstr ""
-#: read.c:2858
+#: read.c:2859
msgid "MRI style ORG pseudo-op not supported"
msgstr ""
-#: read.c:3029
+#: read.c:3030
#, c-format
msgid ".end%c encountered without preceding %s"
msgstr ""
-#: read.c:3058 read.c:3094
+#: read.c:3059 read.c:3095
#, c-format
msgid "negative count for %s - ignored"
msgstr ""
-#: read.c:3065 read.c:3101
+#: read.c:3066 read.c:3102
#, c-format
msgid "%s without %s"
msgstr ""
-#: read.c:3336
+#: read.c:3337
msgid "unsupported variable size or fill value"
msgstr ""
-#: read.c:3344
+#: read.c:3345
#, c-format
msgid "size value for space directive too large: %lx"
msgstr ""
-#: read.c:3373
+#: read.c:3374
msgid ".space repeat count is zero, ignored"
msgstr ""
-#: read.c:3375
+#: read.c:3376
msgid ".space repeat count is negative, ignored"
msgstr ""
-#: read.c:3406
+#: read.c:3407
msgid "space allocation too complex in absolute section"
msgstr ""
-#: read.c:3412
+#: read.c:3413
msgid "space allocation too complex in common section"
msgstr ""
-#: read.c:3473
+#: read.c:3474
msgid "negative nop control byte, ignored"
msgstr ""
-#: read.c:3489
+#: read.c:3490
msgid "unsupported variable nop control in .nops directive"
msgstr ""
-#: read.c:3691
+#: read.c:3692
#, c-format
msgid "%s: would close weakref loop: %s"
msgstr ""
-#: read.c:3741
+#: read.c:3742
#, c-format
msgid "junk at end of line, first unrecognized character valued 0x%x"
msgstr ""
-#: read.c:3870 write.c:2354
+#: read.c:3871 write.c:2358
#, c-format
msgid "`%s' can't be equated to common symbol `%s'"
msgstr ""
-#: read.c:4000
+#: read.c:4001
msgid "unexpected `\"' in expression"
msgstr ""
-#: read.c:4013
+#: read.c:4014
msgid "rva without symbol"
msgstr ""
-#: read.c:4082
+#: read.c:4083
msgid "missing or bad offset expression"
msgstr ""
-#: read.c:4103
+#: read.c:4104
msgid "missing reloc type"
msgstr ""
-#: read.c:4127
+#: read.c:4128
msgid "unrecognized reloc type"
msgstr ""
-#: read.c:4143
+#: read.c:4144
msgid "bad reloc expression"
msgstr ""
-#: read.c:4305 read.c:5151
+#: read.c:4306 read.c:5152
msgid "zero assumed for missing expression"
msgstr ""
-#: read.c:4325 read.c:5180
+#: read.c:4326 read.c:5181
msgid "attempt to store value in absolute section"
msgstr ""
-#: read.c:4332 read.c:5186
+#: read.c:4333 read.c:5187
#, c-format
msgid "attempt to store non-zero value in section `%s'"
msgstr ""
-#: read.c:4418
+#: read.c:4419
#, c-format
msgid "value 0x%llx truncated to 0x%llx"
msgstr ""
-#: read.c:4421
+#: read.c:4422
msgid "value 0x%I64x truncated to 0x%I64x"
msgstr ""
-#: read.c:4425
+#: read.c:4426
#, c-format
msgid "value 0x%lx truncated to 0x%lx"
msgstr ""
-#: read.c:4470
+#: read.c:4471
#, c-format
msgid "bignum truncated to %d byte"
msgid_plural "bignum truncated to %d bytes"
msgstr[0] ""
msgstr[1] ""
-#: read.c:4679 read.c:4889
+#: read.c:4680 read.c:4890
msgid "unresolvable or nonpositive repeat count; using 1"
msgstr ""
-#: read.c:4728
+#: read.c:4729
#, c-format
msgid "unknown floating type type '%c'"
msgstr ""
-#: read.c:4750
+#: read.c:4751
msgid "floating point constant too large"
msgstr ""
-#: read.c:4814
+#: read.c:4815
msgid "attempt to store float in absolute section"
msgstr ""
-#: read.c:4821
+#: read.c:4822
#, c-format
msgid "attempt to store float in section `%s'"
msgstr ""
-#: read.c:5269
+#: read.c:5270
#, c-format
msgid "attempt to store non-empty string in section `%s'"
msgstr ""
-#: read.c:5331
+#: read.c:5332
msgid "strings must be placed into a section"
msgstr ""
-#: read.c:5393
+#: read.c:5394
msgid "expected <nn>"
msgstr ""
#. To be compatible with BSD 4.2 as: give the luser a linefeed!!
-#: read.c:5434 read.c:5521
+#: read.c:5435 read.c:5522
msgid "unterminated string; newline inserted"
msgstr ""
-#: read.c:5535
+#: read.c:5536
msgid "bad escaped character in string"
msgstr ""
-#: read.c:5559
+#: read.c:5560
msgid "expected address expression"
msgstr ""
-#: read.c:5578
+#: read.c:5579
#, c-format
msgid "symbol \"%s\" undefined; zero assumed"
msgstr ""
-#: read.c:5581
+#: read.c:5582
msgid "some symbol undefined; zero assumed"
msgstr ""
-#: read.c:5616
+#: read.c:5617
msgid "this string may not contain '\\0'"
msgstr ""
-#: read.c:5652
+#: read.c:5653
msgid "missing string"
msgstr ""
-#: read.c:5743
+#: read.c:5744
#, c-format
msgid ".incbin count zero, ignoring `%s'"
msgstr ""
-#: read.c:5769
+#: read.c:5770
#, c-format
msgid "file not found: %s"
msgstr ""
-#: read.c:5783
+#: read.c:5784
#, c-format
msgid "seek to end of .incbin file failed `%s'"
msgstr ""
-#: read.c:5794
+#: read.c:5795
#, c-format
msgid "skip (%ld) or count (%ld) invalid for file size (%ld)"
msgstr ""
-#: read.c:5801
+#: read.c:5802
#, c-format
msgid "could not skip to %ld in file `%s'"
msgstr ""
-#: read.c:5810
+#: read.c:5811
#, c-format
msgid "truncated file `%s', %ld of %ld bytes read"
msgstr ""
-#: read.c:5968
+#: read.c:5969
msgid "missing .func"
msgstr ""
-#: read.c:5985
+#: read.c:5986
msgid ".endfunc missing for previous .func"
msgstr ""
-#: read.c:6044
+#: read.c:6045
#, c-format
msgid ".bundle_align_mode alignment too large (maximum %u)"
msgstr ""
-#: read.c:6049
+#: read.c:6050
msgid "cannot change .bundle_align_mode inside .bundle_lock"
msgstr ""
-#: read.c:6063
+#: read.c:6064
msgid ".bundle_lock is meaningless without .bundle_align_mode"
msgstr ""
-#: read.c:6084
+#: read.c:6085
msgid ".bundle_unlock without preceding .bundle_lock"
msgstr ""
-#: read.c:6097
+#: read.c:6098
#, c-format
msgid ".bundle_lock sequence is %u bytes, but bundle size is only %u bytes"
msgstr ""
-#: read.c:6196
+#: read.c:6197
#, c-format
msgid "missing closing `%c'"
msgstr ""
-#: read.c:6198
+#: read.c:6199
msgid "stray `\\'"
msgstr ""
@@ -21550,52 +21890,52 @@ msgstr ""
msgid "invalid operand (%s section) for `%s' when setting `%s'"
msgstr ""
-#: symbols.c:1259
+#: symbols.c:1266
#, c-format
msgid "symbol definition loop encountered at `%s'"
msgstr ""
-#: symbols.c:1286
+#: symbols.c:1293
#, c-format
msgid "cannot convert expression symbol %s to complex relocation"
msgstr ""
-#: symbols.c:1563
+#: symbols.c:1576
#, c-format
msgid "division by zero when setting `%s'"
msgstr ""
#. See PR 20895 for a reproducer.
-#: symbols.c:1603
+#: symbols.c:1616
msgid "Invalid operation on symbol"
msgstr ""
-#: symbols.c:1653 write.c:2403
+#: symbols.c:1666 write.c:2407
#, c-format
msgid "can't resolve value for symbol `%s'"
msgstr ""
-#: symbols.c:2112
+#: symbols.c:2125
#, c-format
msgid "\"%d\" (instance number %d of a %s label)"
msgstr ""
-#: symbols.c:2141
+#: symbols.c:2154
#, c-format
msgid "attempt to get value of unresolved symbol `%s'"
msgstr ""
#. Do not reassign section symbols.
-#: symbols.c:2429
+#: symbols.c:2442
msgid "section symbols are already global"
msgstr ""
-#: symbols.c:2542
+#: symbols.c:2555
#, c-format
msgid "Accessing function `%s' as thread-local object"
msgstr ""
-#: symbols.c:2546
+#: symbols.c:2559
#, c-format
msgid "Accessing `%s' as thread-local object"
msgstr ""
@@ -21671,65 +22011,65 @@ msgid_plural "can't write %ld bytes to section %s of %s: '%s'"
msgstr[0] ""
msgstr[1] ""
-#: write.c:1648 write.c:1675 write.c:1711
+#: write.c:1648 write.c:1677 write.c:1714
#, c-format
msgid "can't fill %ld byte in section %s of %s: '%s'"
msgid_plural "can't fill %ld bytes in section %s of %s: '%s'"
msgstr[0] ""
msgstr[1] ""
-#: write.c:1914
+#: write.c:1918
msgid "unable to create reloc for build note"
msgstr ""
-#: write.c:1918
+#: write.c:1922
msgid "<gnu build note>"
msgstr ""
-#: write.c:2319
+#: write.c:2323
#, c-format
msgid "%s: global symbols not supported in common sections"
msgstr ""
-#: write.c:2333
+#: write.c:2337
#, c-format
msgid "local label `%s' is not defined"
msgstr ""
-#: write.c:2361
+#: write.c:2365
#, c-format
msgid "can't make global register symbol `%s'"
msgstr ""
-#: write.c:2670
+#: write.c:2674
#, c-format
msgid "alignment padding (%lu byte) not a multiple of %ld"
msgid_plural "alignment padding (%lu bytes) not a multiple of %ld"
msgstr[0] ""
msgstr[1] ""
-#: write.c:2837
+#: write.c:2841
#, c-format
msgid ".word %s-%s+%s didn't fit"
msgstr ""
-#: write.c:2931
+#: write.c:2935
msgid "padding added"
msgstr ""
-#: write.c:2982
+#: write.c:2986
msgid "attempt to move .org backwards"
msgstr ""
-#: write.c:3007
+#: write.c:3011
msgid ".space specifies non-absolute value"
msgstr ""
-#: write.c:3022
+#: write.c:3026
msgid ".space, .nops or .fill with negative value, ignored"
msgstr ""
-#: write.c:3094
+#: write.c:3098
#, c-format
msgid ""
"Infinite loop encountered whilst attempting to compute the addresses of "
diff --git a/gas/testsuite/gas/riscv/attribute-01.d b/gas/testsuite/gas/riscv/attribute-01.d
index e22773e22b..f02734744e 100644
--- a/gas/testsuite/gas/riscv/attribute-01.d
+++ b/gas/testsuite/gas/riscv/attribute-01.d
@@ -1,6 +1,9 @@
-#as: -march=rv32g -march-attr
+#as: -march=rv32g -march-attr -misa-spec=2.2
#readelf: -A
#source: empty.s
Attribute Section: riscv
File Attributes
Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_f2p0_d2p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/gas/testsuite/gas/riscv/attribute-02.d b/gas/testsuite/gas/riscv/attribute-02.d
index bc3295be7e..02b532d0a8 100644
--- a/gas/testsuite/gas/riscv/attribute-02.d
+++ b/gas/testsuite/gas/riscv/attribute-02.d
@@ -1,6 +1,9 @@
-#as: -march=rv32gxargle -march-attr
+#as: -march=rv32gxargle -march-attr -misa-spec=2.2
#readelf: -A
#source: empty.s
Attribute Section: riscv
File Attributes
- Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_f2p0_d2p0_xargle2p0"
+ Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_f2p0_d2p0_xargle0p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/gas/testsuite/gas/riscv/attribute-03.d b/gas/testsuite/gas/riscv/attribute-03.d
index 78b706a73a..ded529aa61 100644
--- a/gas/testsuite/gas/riscv/attribute-03.d
+++ b/gas/testsuite/gas/riscv/attribute-03.d
@@ -1,6 +1,9 @@
-#as: -march=rv32gxargle_xfoo -march-attr
+#as: -march=rv32gxargle_xfoo -march-attr -misa-spec=2.2
#readelf: -A
#source: empty.s
Attribute Section: riscv
File Attributes
- Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_f2p0_d2p0_xargle2p0_xfoo2p0"
+ Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_f2p0_d2p0_xargle0p0_xfoo0p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/gas/testsuite/gas/riscv/attribute-04.d b/gas/testsuite/gas/riscv/attribute-04.d
index c97bf03d5e..df6c8182d5 100644
--- a/gas/testsuite/gas/riscv/attribute-04.d
+++ b/gas/testsuite/gas/riscv/attribute-04.d
@@ -1,6 +1,9 @@
-#as: -march-attr
+#as: -march-attr -misa-spec=2.2
#readelf: -A
#source: attribute-04.s
Attribute Section: riscv
File Attributes
Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_f2p0_d2p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/gas/testsuite/gas/riscv/attribute-05.d b/gas/testsuite/gas/riscv/attribute-05.d
index f9b65f206b..247f52e0ed 100644
--- a/gas/testsuite/gas/riscv/attribute-05.d
+++ b/gas/testsuite/gas/riscv/attribute-05.d
@@ -1,4 +1,4 @@
-#as: -march-attr
+#as: -march-attr -misa-spec=2.2
#readelf: -A
#source: attribute-05.s
Attribute Section: riscv
@@ -7,5 +7,5 @@ File Attributes
Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_f2p0_d2p0"
Tag_RISCV_unaligned_access: Unaligned access
Tag_RISCV_priv_spec: 1
- Tag_RISCV_priv_spec_minor: 2
- Tag_RISCV_priv_spec_revision: 3
+ Tag_RISCV_priv_spec_minor: 9
+ Tag_RISCV_priv_spec_revision: 1
diff --git a/gas/testsuite/gas/riscv/attribute-05.s b/gas/testsuite/gas/riscv/attribute-05.s
index 3b3b7f6d56..4920309799 100644
--- a/gas/testsuite/gas/riscv/attribute-05.s
+++ b/gas/testsuite/gas/riscv/attribute-05.s
@@ -1,6 +1,6 @@
.attribute arch, "rv32g"
.attribute priv_spec, 1
- .attribute priv_spec_minor, 2
- .attribute priv_spec_revision, 3
+ .attribute priv_spec_minor, 9
+ .attribute priv_spec_revision, 1
.attribute unaligned_access, 1
.attribute stack_align, 16
diff --git a/gas/testsuite/gas/riscv/attribute-06.d b/gas/testsuite/gas/riscv/attribute-06.d
index 1abeb47383..e1d62c45db 100644
--- a/gas/testsuite/gas/riscv/attribute-06.d
+++ b/gas/testsuite/gas/riscv/attribute-06.d
@@ -1,6 +1,9 @@
-#as: -march=rv32g2p0 -march-attr
+#as: -march=rv32g2p0 -march-attr -misa-spec=2.2
#readelf: -A
#source: attribute-06.s
Attribute Section: riscv
File Attributes
Tag_RISCV_arch: "rv32i2p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/gas/testsuite/gas/riscv/attribute-07.d b/gas/testsuite/gas/riscv/attribute-07.d
index dfd7e6bd6e..59f02b4c4e 100644
--- a/gas/testsuite/gas/riscv/attribute-07.d
+++ b/gas/testsuite/gas/riscv/attribute-07.d
@@ -1,6 +1,9 @@
-#as: -march=rv64g2p0 -march-attr
+#as: -march=rv64g2p0 -march-attr -misa-spec=2.2
#readelf: -A
#source: attribute-07.s
Attribute Section: riscv
File Attributes
Tag_RISCV_arch: "rv64i2p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/gas/testsuite/gas/riscv/attribute-08.d b/gas/testsuite/gas/riscv/attribute-08.d
index c10ac0ca35..13b82a97a6 100644
--- a/gas/testsuite/gas/riscv/attribute-08.d
+++ b/gas/testsuite/gas/riscv/attribute-08.d
@@ -4,3 +4,6 @@
Attribute Section: riscv
File Attributes
Tag_RISCV_arch: "rv32e1p9"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/gas/testsuite/gas/riscv/attribute-09.d b/gas/testsuite/gas/riscv/attribute-09.d
new file mode 100644
index 0000000000..53945a27eb
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-09.d
@@ -0,0 +1,9 @@
+#as: -march-attr -march=rv32i2p1m_zicsr -misa-spec=2.2
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv32i2p1_m2p0_zicsr0p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/gas/testsuite/gas/riscv/attribute-10.d b/gas/testsuite/gas/riscv/attribute-10.d
new file mode 100644
index 0000000000..91691fda77
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-10.d
@@ -0,0 +1,9 @@
+#as: -march-attr -march=rv32gc_zicsr -misa-spec=20191213
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv32i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/gas/testsuite/gas/riscv/attribute-unknown.d b/gas/testsuite/gas/riscv/attribute-unknown.d
index 667f21acfc..120e3dee6c 100644
--- a/gas/testsuite/gas/riscv/attribute-unknown.d
+++ b/gas/testsuite/gas/riscv/attribute-unknown.d
@@ -4,5 +4,8 @@
Attribute Section: riscv
File Attributes
Tag_RISCV_arch: [a-zA-Z0-9_\"].*
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
Tag_unknown_255: "test"
Tag_unknown_256: 123 \(0x7b\)
diff --git a/gas/testsuite/gas/riscv/csr-dw-regnums.d b/gas/testsuite/gas/riscv/csr-dw-regnums.d
index df9642f1e2..c03d45986e 100644
--- a/gas/testsuite/gas/riscv/csr-dw-regnums.d
+++ b/gas/testsuite/gas/riscv/csr-dw-regnums.d
@@ -1,4 +1,4 @@
-#as: -march=rv32if
+#as: -march=rv32if -mpriv-spec=1.11
#objdump: --dwarf=frames
diff --git a/gas/testsuite/gas/riscv/march-fail-s-with-version b/gas/testsuite/gas/riscv/march-fail-s-with-version
deleted file mode 100644
index a514d4aec7..0000000000
--- a/gas/testsuite/gas/riscv/march-fail-s-with-version
+++ /dev/null
@@ -1,2 +0,0 @@
-Assembler messages:
-.*: Invalid or unknown s ISA extension: 'sfoo' \ No newline at end of file
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-fext.d b/gas/testsuite/gas/riscv/priv-reg-fail-fext.d
index da53566369..d9939eb7f1 100644
--- a/gas/testsuite/gas/riscv/priv-reg-fail-fext.d
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-fext.d
@@ -1,3 +1,3 @@
-#as: -march=rv32i -mcsr-check
+#as: -march=rv32i -mcsr-check -mpriv-spec=1.11
#source: priv-reg.s
#warning_output: priv-reg-fail-fext.l
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-fext.l b/gas/testsuite/gas/riscv/priv-reg-fail-fext.l
index 76818c812c..d74863ef44 100644
--- a/gas/testsuite/gas/riscv/priv-reg-fail-fext.l
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-fext.l
@@ -2,3 +2,28 @@
.*Warning: Invalid CSR `fflags' for the current ISA
.*Warning: Invalid CSR `frm' for the current ISA
.*Warning: Invalid CSR `fcsr' for the current ISA
+
+.*Warning: Invalid CSR `ubadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `sbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `sptbr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mucounteren' for the privilege spec `1.11'
+.*Warning: Invalid CSR `dscratch' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hstatus' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hedeleg' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hideleg' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hie' for the privilege spec `1.11'
+.*Warning: Invalid CSR `htvec' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hscratch' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hepc' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hcause' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hip' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mibase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mibound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mdbase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mdbound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mscounteren' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mhcounteren' for the privilege spec `1.11'
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d b/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d
index ae190c053c..b0f67264f2 100644
--- a/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d
@@ -1,3 +1,3 @@
-#as: -march=rv32if -mcsr-check
+#as: -march=rv32if -mcsr-check -mpriv-spec=1.11
#source: priv-reg-fail-read-only-01.s
#warning_output: priv-reg-fail-read-only-01.l
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l b/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l
index 7e52bd7bea..2dc82f4ec0 100644
--- a/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l
@@ -67,3 +67,28 @@
.*Warning: Read-only CSR is written `csrw marchid,a1'
.*Warning: Read-only CSR is written `csrw mimpid,a1'
.*Warning: Read-only CSR is written `csrw mhartid,a1'
+
+.*Warning: Invalid CSR `ubadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `sbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `sptbr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mucounteren' for the privilege spec `1.11'
+.*Warning: Invalid CSR `dscratch' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hstatus' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hedeleg' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hideleg' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hie' for the privilege spec `1.11'
+.*Warning: Invalid CSR `htvec' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hscratch' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hepc' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hcause' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hip' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mibase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mibound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mdbase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mdbound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mscounteren' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mhcounteren' for the privilege spec `1.11'
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.s b/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.s
index 501a52ef51..af0fc4e14a 100644
--- a/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.s
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.s
@@ -1,7 +1,8 @@
.macro csr val
csrw \val, a1
.endm
-# 1.9.1 registers
+
+ # Supported the current priv spec 1.11.
csr ustatus
csr uie
csr utvec
@@ -9,7 +10,7 @@
csr uscratch
csr uepc
csr ucause
- csr ubadaddr
+ csr utval # Added in 1.10
csr uip
csr fflags
@@ -86,26 +87,15 @@
csr sideleg
csr sie
csr stvec
+ csr scounteren # Added in 1.10
csr sscratch
csr sepc
csr scause
- csr sbadaddr
+ csr stval # Added in 1.10
csr sip
- csr sptbr
-
- csr hstatus
- csr hedeleg
- csr hideleg
- csr hie
- csr htvec
-
- csr hscratch
- csr hepc
- csr hcause
- csr hbadaddr
- csr hip
+ csr satp # Added in 1.10
csr mvendorid
csr marchid
@@ -113,24 +103,39 @@
csr mhartid
csr mstatus
- csr misa
+ csr misa # 0xf10 in 1.9, but changed to 0x301 since 1.9.1.
csr medeleg
csr mideleg
csr mie
csr mtvec
+ csr mcounteren # Added in 1.10
csr mscratch
csr mepc
csr mcause
- csr mbadaddr
+ csr mtval # Added in 1.10
csr mip
- csr mbase
- csr mbound
- csr mibase
- csr mibound
- csr mdbase
- csr mdbound
+ csr pmpcfg0 # Added in 1.10
+ csr pmpcfg1 # Added in 1.10
+ csr pmpcfg2 # Added in 1.10
+ csr pmpcfg3 # Added in 1.10
+ csr pmpaddr0 # Added in 1.10
+ csr pmpaddr1 # Added in 1.10
+ csr pmpaddr2 # Added in 1.10
+ csr pmpaddr3 # Added in 1.10
+ csr pmpaddr4 # Added in 1.10
+ csr pmpaddr5 # Added in 1.10
+ csr pmpaddr6 # Added in 1.10
+ csr pmpaddr7 # Added in 1.10
+ csr pmpaddr8 # Added in 1.10
+ csr pmpaddr9 # Added in 1.10
+ csr pmpaddr10 # Added in 1.10
+ csr pmpaddr11 # Added in 1.10
+ csr pmpaddr12 # Added in 1.10
+ csr pmpaddr13 # Added in 1.10
+ csr pmpaddr14 # Added in 1.10
+ csr pmpaddr15 # Added in 1.10
csr mcycle
csr minstret
@@ -195,10 +200,7 @@
csr mhpmcounter30h
csr mhpmcounter31h
- csr mucounteren
- csr mscounteren
- csr mhcounteren
-
+ csr mcountinhibit # Added in 1.11
csr mhpmevent3
csr mhpmevent4
csr mhpmevent5
@@ -236,34 +238,32 @@
csr dcsr
csr dpc
- csr dscratch
-# 1.10 registers
- csr utval
-
- csr scounteren
- csr stval
- csr satp
+ csr dscratch0 # Added in 1.11
+ csr dscratch1 # Added in 1.11
- csr mcounteren
- csr mtval
+ # Supported in previous priv spec, but dropped now.
+ csr ubadaddr # 0x043 in 1.9.1, but the value is utval since 1.10
+ csr sbadaddr # 0x143 in 1.9.1, but the value is stval since 1.10
+ csr sptbr # 0x180 in 1.9.1, but the value is satp since 1.10
+ csr mbadaddr # 0x343 in 1.9.1, but the value is mtval since 1.10
+ csr mucounteren # 0x320 in 1.9.1, dropped in 1.10, but the value is mcountinhibit since 1.11
+ csr dscratch # 0x7b2 in 1.10, but the value is dscratch0 since 1.11
- csr pmpcfg0
- csr pmpcfg1
- csr pmpcfg2
- csr pmpcfg3
- csr pmpaddr0
- csr pmpaddr1
- csr pmpaddr2
- csr pmpaddr3
- csr pmpaddr4
- csr pmpaddr5
- csr pmpaddr6
- csr pmpaddr7
- csr pmpaddr8
- csr pmpaddr9
- csr pmpaddr10
- csr pmpaddr11
- csr pmpaddr12
- csr pmpaddr13
- csr pmpaddr14
- csr pmpaddr15
+ csr hstatus # 0x200, dropped in 1.10
+ csr hedeleg # 0x202, dropped in 1.10
+ csr hideleg # 0x203, dropped in 1.10
+ csr hie # 0x204, dropped in 1.10
+ csr htvec # 0x205, dropped in 1.10
+ csr hscratch # 0x240, dropped in 1.10
+ csr hepc # 0x241, dropped in 1.10
+ csr hcause # 0x242, dropped in 1.10
+ csr hbadaddr # 0x243, dropped in 1.10
+ csr hip # 0x244, dropped in 1.10
+ csr mbase # 0x380, dropped in 1.10
+ csr mbound # 0x381, dropped in 1.10
+ csr mibase # 0x382, dropped in 1.10
+ csr mibound # 0x383, dropped in 1.10
+ csr mdbase # 0x384, dropped in 1.10
+ csr mdbound # 0x385, dropped in 1.10
+ csr mscounteren # 0x321, dropped in 1.10
+ csr mhcounteren # 0x322, dropped in 1.10
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d b/gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d
index 3c4715f048..ec206e4d6d 100644
--- a/gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d
@@ -1,3 +1,3 @@
-#as: -march=rv32if -mcsr-check
+#as: -march=rv32if -mcsr-check -mpriv-spec=1.11
#source: priv-reg-fail-read-only-02.s
#warning_output: priv-reg-fail-read-only-02.l
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d b/gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d
index d71b2615c5..eced438ea4 100644
--- a/gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d
@@ -1,3 +1,3 @@
-#as: -march=rv64if -mcsr-check
+#as: -march=rv64if -mcsr-check -mpriv-spec=1.11
#source: priv-reg.s
#warning_output: priv-reg-fail-rv32-only.l
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l b/gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l
index fa5a1b4a4b..19f13a0ee5 100644
--- a/gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l
@@ -64,3 +64,28 @@
.*Warning: Invalid CSR `mhpmcounter29h' for the current ISA
.*Warning: Invalid CSR `mhpmcounter30h' for the current ISA
.*Warning: Invalid CSR `mhpmcounter31h' for the current ISA
+
+.*Warning: Invalid CSR `ubadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `sbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `sptbr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mucounteren' for the privilege spec `1.11'
+.*Warning: Invalid CSR `dscratch' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hstatus' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hedeleg' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hideleg' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hie' for the privilege spec `1.11'
+.*Warning: Invalid CSR `htvec' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hscratch' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hepc' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hcause' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hip' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mibase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mibound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mdbase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mdbound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mscounteren' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mhcounteren' for the privilege spec `1.11'
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.d b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.d
new file mode 100644
index 0000000000..07cf05a9c2
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.d
@@ -0,0 +1,11 @@
+#as: -march=rv32if -mcsr-check -mpriv-spec=1.10 -march-attr
+#source: priv-reg.s
+#warning_output: priv-reg-fail-version-1p10.l
+#readelf: -A
+
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: [a-zA-Z0-9_\"].*
+ Tag_RISCV_priv_spec: 1
+ Tag_RISCV_priv_spec_minor: 10
+#...
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l
new file mode 100644
index 0000000000..414617490c
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l
@@ -0,0 +1,27 @@
+.*Assembler messages:
+.*Warning: Invalid CSR `mcountinhibit' for the privilege spec `1.10'
+.*Warning: Invalid CSR `dscratch0' for the privilege spec `1.10'
+.*Warning: Invalid CSR `dscratch1' for the privilege spec `1.10'
+.*Warning: Invalid CSR `ubadaddr' for the privilege spec `1.10'
+.*Warning: Invalid CSR `sbadaddr' for the privilege spec `1.10'
+.*Warning: Invalid CSR `sptbr' for the privilege spec `1.10'
+.*Warning: Invalid CSR `mbadaddr' for the privilege spec `1.10'
+.*Warning: Invalid CSR `mucounteren' for the privilege spec `1.10'
+.*Warning: Invalid CSR `hstatus' for the privilege spec `1.10'
+.*Warning: Invalid CSR `hedeleg' for the privilege spec `1.10'
+.*Warning: Invalid CSR `hideleg' for the privilege spec `1.10'
+.*Warning: Invalid CSR `hie' for the privilege spec `1.10'
+.*Warning: Invalid CSR `htvec' for the privilege spec `1.10'
+.*Warning: Invalid CSR `hscratch' for the privilege spec `1.10'
+.*Warning: Invalid CSR `hepc' for the privilege spec `1.10'
+.*Warning: Invalid CSR `hcause' for the privilege spec `1.10'
+.*Warning: Invalid CSR `hbadaddr' for the privilege spec `1.10'
+.*Warning: Invalid CSR `hip' for the privilege spec `1.10'
+.*Warning: Invalid CSR `mbase' for the privilege spec `1.10'
+.*Warning: Invalid CSR `mbound' for the privilege spec `1.10'
+.*Warning: Invalid CSR `mibase' for the privilege spec `1.10'
+.*Warning: Invalid CSR `mibound' for the privilege spec `1.10'
+.*Warning: Invalid CSR `mdbase' for the privilege spec `1.10'
+.*Warning: Invalid CSR `mdbound' for the privilege spec `1.10'
+.*Warning: Invalid CSR `mscounteren' for the privilege spec `1.10'
+.*Warning: Invalid CSR `mhcounteren' for the privilege spec `1.10'
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.d b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.d
new file mode 100644
index 0000000000..bf4b1db3ed
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.d
@@ -0,0 +1,11 @@
+#as: -march=rv32if -mcsr-check -mpriv-spec=1.11 -march-attr
+#source: priv-reg.s
+#warning_output: priv-reg-fail-version-1p11.l
+#readelf: -A
+
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: [a-zA-Z0-9_\"].*
+ Tag_RISCV_priv_spec: 1
+ Tag_RISCV_priv_spec_minor: 11
+#...
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l
new file mode 100644
index 0000000000..eadcb5cc79
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l
@@ -0,0 +1,25 @@
+.*Assembler messages:
+.*Warning: Invalid CSR `ubadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `sbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `sptbr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mucounteren' for the privilege spec `1.11'
+.*Warning: Invalid CSR `dscratch' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hstatus' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hedeleg' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hideleg' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hie' for the privilege spec `1.11'
+.*Warning: Invalid CSR `htvec' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hscratch' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hepc' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hcause' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hbadaddr' for the privilege spec `1.11'
+.*Warning: Invalid CSR `hip' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mbound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mibase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mibound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mdbase' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mdbound' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mscounteren' for the privilege spec `1.11'
+.*Warning: Invalid CSR `mhcounteren' for the privilege spec `1.11'
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.d b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.d
new file mode 100644
index 0000000000..c914334181
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.d
@@ -0,0 +1,11 @@
+#as: -march=rv32if -mcsr-check -mpriv-spec=1.9 -march-attr
+#source: priv-reg.s
+#warning_output: priv-reg-fail-version-1p9.l
+#readelf: -A
+
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: [a-zA-Z0-9_\"].*
+ Tag_RISCV_priv_spec: 1
+ Tag_RISCV_priv_spec_minor: 9
+#...
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.l b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.l
new file mode 100644
index 0000000000..d7cee80a7d
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.l
@@ -0,0 +1,30 @@
+.*Assembler messages:
+.*Warning: Invalid CSR `utval' for the privilege spec `1.9'
+.*Warning: Invalid CSR `scounteren' for the privilege spec `1.9'
+.*Warning: Invalid CSR `stval' for the privilege spec `1.9'
+.*Warning: Invalid CSR `satp' for the privilege spec `1.9'
+.*Warning: Invalid CSR `mcounteren' for the privilege spec `1.9'
+.*Warning: Invalid CSR `mtval' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpcfg0' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpcfg1' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpcfg2' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpcfg3' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr0' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr1' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr2' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr3' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr4' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr5' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr6' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr7' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr8' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr9' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr10' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr11' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr12' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr13' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr14' for the privilege spec `1.9'
+.*Warning: Invalid CSR `pmpaddr15' for the privilege spec `1.9'
+.*Warning: Invalid CSR `mcountinhibit' for the privilege spec `1.9'
+.*Warning: Invalid CSR `dscratch0' for the privilege spec `1.9'
+.*Warning: Invalid CSR `dscratch1' for the privilege spec `1.9'
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d
new file mode 100644
index 0000000000..e2c33d81dc
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d
@@ -0,0 +1,12 @@
+#as: -march=rv32if -mcsr-check -mpriv-spec=1.9.1 -march-attr
+#source: priv-reg.s
+#warning_output: priv-reg-fail-version-1p9p1.l
+#readelf: -A
+
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: [a-zA-Z0-9_\"].*
+ Tag_RISCV_priv_spec: 1
+ Tag_RISCV_priv_spec_minor: 9
+ Tag_RISCV_priv_spec_revision: 1
+#...
diff --git a/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l
new file mode 100644
index 0000000000..907ed7339a
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l
@@ -0,0 +1,30 @@
+.*Assembler messages:
+.*Warning: Invalid CSR `utval' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `scounteren' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `stval' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `satp' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `mcounteren' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `mtval' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpcfg0' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpcfg1' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpcfg2' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpcfg3' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr0' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr1' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr2' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr3' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr4' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr5' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr6' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr7' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr8' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr9' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr10' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr11' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr12' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr13' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr14' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `pmpaddr15' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `mcountinhibit' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `dscratch0' for the privilege spec `1.9.1'
+.*Warning: Invalid CSR `dscratch1' for the privilege spec `1.9.1'
diff --git a/gas/testsuite/gas/riscv/priv-reg-version-1p10.d b/gas/testsuite/gas/riscv/priv-reg-version-1p10.d
new file mode 100644
index 0000000000..0071f75c30
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-version-1p10.d
@@ -0,0 +1,257 @@
+#as: -march=rv32if -mpriv-spec=1.10
+#source: priv-reg.s
+#objdump: -dr -Mpriv-spec=1.10
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+0+000 <.text>:
+[ ]+[0-9a-f]+:[ ]+00002573[ ]+csrr[ ]+a0,ustatus
+[ ]+[0-9a-f]+:[ ]+00402573[ ]+csrr[ ]+a0,uie
+[ ]+[0-9a-f]+:[ ]+00502573[ ]+csrr[ ]+a0,utvec
+[ ]+[0-9a-f]+:[ ]+04002573[ ]+csrr[ ]+a0,uscratch
+[ ]+[0-9a-f]+:[ ]+04102573[ ]+csrr[ ]+a0,uepc
+[ ]+[0-9a-f]+:[ ]+04202573[ ]+csrr[ ]+a0,ucause
+[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,utval
+[ ]+[0-9a-f]+:[ ]+04402573[ ]+csrr[ ]+a0,uip
+[ ]+[0-9a-f]+:[ ]+00102573[ ]+frflags[ ]+a0
+[ ]+[0-9a-f]+:[ ]+00202573[ ]+frrm[ ]+a0
+[ ]+[0-9a-f]+:[ ]+00302573[ ]+frcsr[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0002573[ ]+rdcycle[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0102573[ ]+rdtime[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0202573[ ]+rdinstret[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0302573[ ]+csrr[ ]+a0,hpmcounter3
+[ ]+[0-9a-f]+:[ ]+c0402573[ ]+csrr[ ]+a0,hpmcounter4
+[ ]+[0-9a-f]+:[ ]+c0502573[ ]+csrr[ ]+a0,hpmcounter5
+[ ]+[0-9a-f]+:[ ]+c0602573[ ]+csrr[ ]+a0,hpmcounter6
+[ ]+[0-9a-f]+:[ ]+c0702573[ ]+csrr[ ]+a0,hpmcounter7
+[ ]+[0-9a-f]+:[ ]+c0802573[ ]+csrr[ ]+a0,hpmcounter8
+[ ]+[0-9a-f]+:[ ]+c0902573[ ]+csrr[ ]+a0,hpmcounter9
+[ ]+[0-9a-f]+:[ ]+c0a02573[ ]+csrr[ ]+a0,hpmcounter10
+[ ]+[0-9a-f]+:[ ]+c0b02573[ ]+csrr[ ]+a0,hpmcounter11
+[ ]+[0-9a-f]+:[ ]+c0c02573[ ]+csrr[ ]+a0,hpmcounter12
+[ ]+[0-9a-f]+:[ ]+c0d02573[ ]+csrr[ ]+a0,hpmcounter13
+[ ]+[0-9a-f]+:[ ]+c0e02573[ ]+csrr[ ]+a0,hpmcounter14
+[ ]+[0-9a-f]+:[ ]+c0f02573[ ]+csrr[ ]+a0,hpmcounter15
+[ ]+[0-9a-f]+:[ ]+c1002573[ ]+csrr[ ]+a0,hpmcounter16
+[ ]+[0-9a-f]+:[ ]+c1102573[ ]+csrr[ ]+a0,hpmcounter17
+[ ]+[0-9a-f]+:[ ]+c1202573[ ]+csrr[ ]+a0,hpmcounter18
+[ ]+[0-9a-f]+:[ ]+c1302573[ ]+csrr[ ]+a0,hpmcounter19
+[ ]+[0-9a-f]+:[ ]+c1402573[ ]+csrr[ ]+a0,hpmcounter20
+[ ]+[0-9a-f]+:[ ]+c1502573[ ]+csrr[ ]+a0,hpmcounter21
+[ ]+[0-9a-f]+:[ ]+c1602573[ ]+csrr[ ]+a0,hpmcounter22
+[ ]+[0-9a-f]+:[ ]+c1702573[ ]+csrr[ ]+a0,hpmcounter23
+[ ]+[0-9a-f]+:[ ]+c1802573[ ]+csrr[ ]+a0,hpmcounter24
+[ ]+[0-9a-f]+:[ ]+c1902573[ ]+csrr[ ]+a0,hpmcounter25
+[ ]+[0-9a-f]+:[ ]+c1a02573[ ]+csrr[ ]+a0,hpmcounter26
+[ ]+[0-9a-f]+:[ ]+c1b02573[ ]+csrr[ ]+a0,hpmcounter27
+[ ]+[0-9a-f]+:[ ]+c1c02573[ ]+csrr[ ]+a0,hpmcounter28
+[ ]+[0-9a-f]+:[ ]+c1d02573[ ]+csrr[ ]+a0,hpmcounter29
+[ ]+[0-9a-f]+:[ ]+c1e02573[ ]+csrr[ ]+a0,hpmcounter30
+[ ]+[0-9a-f]+:[ ]+c1f02573[ ]+csrr[ ]+a0,hpmcounter31
+[ ]+[0-9a-f]+:[ ]+c8002573[ ]+rdcycleh[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8102573[ ]+rdtimeh[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8202573[ ]+rdinstreth[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8302573[ ]+csrr[ ]+a0,hpmcounter3h
+[ ]+[0-9a-f]+:[ ]+c8402573[ ]+csrr[ ]+a0,hpmcounter4h
+[ ]+[0-9a-f]+:[ ]+c8502573[ ]+csrr[ ]+a0,hpmcounter5h
+[ ]+[0-9a-f]+:[ ]+c8602573[ ]+csrr[ ]+a0,hpmcounter6h
+[ ]+[0-9a-f]+:[ ]+c8702573[ ]+csrr[ ]+a0,hpmcounter7h
+[ ]+[0-9a-f]+:[ ]+c8802573[ ]+csrr[ ]+a0,hpmcounter8h
+[ ]+[0-9a-f]+:[ ]+c8902573[ ]+csrr[ ]+a0,hpmcounter9h
+[ ]+[0-9a-f]+:[ ]+c8a02573[ ]+csrr[ ]+a0,hpmcounter10h
+[ ]+[0-9a-f]+:[ ]+c8b02573[ ]+csrr[ ]+a0,hpmcounter11h
+[ ]+[0-9a-f]+:[ ]+c8c02573[ ]+csrr[ ]+a0,hpmcounter12h
+[ ]+[0-9a-f]+:[ ]+c8d02573[ ]+csrr[ ]+a0,hpmcounter13h
+[ ]+[0-9a-f]+:[ ]+c8e02573[ ]+csrr[ ]+a0,hpmcounter14h
+[ ]+[0-9a-f]+:[ ]+c8f02573[ ]+csrr[ ]+a0,hpmcounter15h
+[ ]+[0-9a-f]+:[ ]+c9002573[ ]+csrr[ ]+a0,hpmcounter16h
+[ ]+[0-9a-f]+:[ ]+c9102573[ ]+csrr[ ]+a0,hpmcounter17h
+[ ]+[0-9a-f]+:[ ]+c9202573[ ]+csrr[ ]+a0,hpmcounter18h
+[ ]+[0-9a-f]+:[ ]+c9302573[ ]+csrr[ ]+a0,hpmcounter19h
+[ ]+[0-9a-f]+:[ ]+c9402573[ ]+csrr[ ]+a0,hpmcounter20h
+[ ]+[0-9a-f]+:[ ]+c9502573[ ]+csrr[ ]+a0,hpmcounter21h
+[ ]+[0-9a-f]+:[ ]+c9602573[ ]+csrr[ ]+a0,hpmcounter22h
+[ ]+[0-9a-f]+:[ ]+c9702573[ ]+csrr[ ]+a0,hpmcounter23h
+[ ]+[0-9a-f]+:[ ]+c9802573[ ]+csrr[ ]+a0,hpmcounter24h
+[ ]+[0-9a-f]+:[ ]+c9902573[ ]+csrr[ ]+a0,hpmcounter25h
+[ ]+[0-9a-f]+:[ ]+c9a02573[ ]+csrr[ ]+a0,hpmcounter26h
+[ ]+[0-9a-f]+:[ ]+c9b02573[ ]+csrr[ ]+a0,hpmcounter27h
+[ ]+[0-9a-f]+:[ ]+c9c02573[ ]+csrr[ ]+a0,hpmcounter28h
+[ ]+[0-9a-f]+:[ ]+c9d02573[ ]+csrr[ ]+a0,hpmcounter29h
+[ ]+[0-9a-f]+:[ ]+c9e02573[ ]+csrr[ ]+a0,hpmcounter30h
+[ ]+[0-9a-f]+:[ ]+c9f02573[ ]+csrr[ ]+a0,hpmcounter31h
+[ ]+[0-9a-f]+:[ ]+10002573[ ]+csrr[ ]+a0,sstatus
+[ ]+[0-9a-f]+:[ ]+10202573[ ]+csrr[ ]+a0,sedeleg
+[ ]+[0-9a-f]+:[ ]+10302573[ ]+csrr[ ]+a0,sideleg
+[ ]+[0-9a-f]+:[ ]+10402573[ ]+csrr[ ]+a0,sie
+[ ]+[0-9a-f]+:[ ]+10502573[ ]+csrr[ ]+a0,stvec
+[ ]+[0-9a-f]+:[ ]+10602573[ ]+csrr[ ]+a0,scounteren
+[ ]+[0-9a-f]+:[ ]+14002573[ ]+csrr[ ]+a0,sscratch
+[ ]+[0-9a-f]+:[ ]+14102573[ ]+csrr[ ]+a0,sepc
+[ ]+[0-9a-f]+:[ ]+14202573[ ]+csrr[ ]+a0,scause
+[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,stval
+[ ]+[0-9a-f]+:[ ]+14402573[ ]+csrr[ ]+a0,sip
+[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,satp
+[ ]+[0-9a-f]+:[ ]+f1102573[ ]+csrr[ ]+a0,mvendorid
+[ ]+[0-9a-f]+:[ ]+f1202573[ ]+csrr[ ]+a0,marchid
+[ ]+[0-9a-f]+:[ ]+f1302573[ ]+csrr[ ]+a0,mimpid
+[ ]+[0-9a-f]+:[ ]+f1402573[ ]+csrr[ ]+a0,mhartid
+[ ]+[0-9a-f]+:[ ]+30002573[ ]+csrr[ ]+a0,mstatus
+[ ]+[0-9a-f]+:[ ]+30102573[ ]+csrr[ ]+a0,misa
+[ ]+[0-9a-f]+:[ ]+30202573[ ]+csrr[ ]+a0,medeleg
+[ ]+[0-9a-f]+:[ ]+30302573[ ]+csrr[ ]+a0,mideleg
+[ ]+[0-9a-f]+:[ ]+30402573[ ]+csrr[ ]+a0,mie
+[ ]+[0-9a-f]+:[ ]+30502573[ ]+csrr[ ]+a0,mtvec
+[ ]+[0-9a-f]+:[ ]+30602573[ ]+csrr[ ]+a0,mcounteren
+[ ]+[0-9a-f]+:[ ]+34002573[ ]+csrr[ ]+a0,mscratch
+[ ]+[0-9a-f]+:[ ]+34102573[ ]+csrr[ ]+a0,mepc
+[ ]+[0-9a-f]+:[ ]+34202573[ ]+csrr[ ]+a0,mcause
+[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mtval
+[ ]+[0-9a-f]+:[ ]+34402573[ ]+csrr[ ]+a0,mip
+[ ]+[0-9a-f]+:[ ]+3a002573[ ]+csrr[ ]+a0,pmpcfg0
+[ ]+[0-9a-f]+:[ ]+3a102573[ ]+csrr[ ]+a0,pmpcfg1
+[ ]+[0-9a-f]+:[ ]+3a202573[ ]+csrr[ ]+a0,pmpcfg2
+[ ]+[0-9a-f]+:[ ]+3a302573[ ]+csrr[ ]+a0,pmpcfg3
+[ ]+[0-9a-f]+:[ ]+3b002573[ ]+csrr[ ]+a0,pmpaddr0
+[ ]+[0-9a-f]+:[ ]+3b102573[ ]+csrr[ ]+a0,pmpaddr1
+[ ]+[0-9a-f]+:[ ]+3b202573[ ]+csrr[ ]+a0,pmpaddr2
+[ ]+[0-9a-f]+:[ ]+3b302573[ ]+csrr[ ]+a0,pmpaddr3
+[ ]+[0-9a-f]+:[ ]+3b402573[ ]+csrr[ ]+a0,pmpaddr4
+[ ]+[0-9a-f]+:[ ]+3b502573[ ]+csrr[ ]+a0,pmpaddr5
+[ ]+[0-9a-f]+:[ ]+3b602573[ ]+csrr[ ]+a0,pmpaddr6
+[ ]+[0-9a-f]+:[ ]+3b702573[ ]+csrr[ ]+a0,pmpaddr7
+[ ]+[0-9a-f]+:[ ]+3b802573[ ]+csrr[ ]+a0,pmpaddr8
+[ ]+[0-9a-f]+:[ ]+3b902573[ ]+csrr[ ]+a0,pmpaddr9
+[ ]+[0-9a-f]+:[ ]+3ba02573[ ]+csrr[ ]+a0,pmpaddr10
+[ ]+[0-9a-f]+:[ ]+3bb02573[ ]+csrr[ ]+a0,pmpaddr11
+[ ]+[0-9a-f]+:[ ]+3bc02573[ ]+csrr[ ]+a0,pmpaddr12
+[ ]+[0-9a-f]+:[ ]+3bd02573[ ]+csrr[ ]+a0,pmpaddr13
+[ ]+[0-9a-f]+:[ ]+3be02573[ ]+csrr[ ]+a0,pmpaddr14
+[ ]+[0-9a-f]+:[ ]+3bf02573[ ]+csrr[ ]+a0,pmpaddr15
+[ ]+[0-9a-f]+:[ ]+b0002573[ ]+csrr[ ]+a0,mcycle
+[ ]+[0-9a-f]+:[ ]+b0202573[ ]+csrr[ ]+a0,minstret
+[ ]+[0-9a-f]+:[ ]+b0302573[ ]+csrr[ ]+a0,mhpmcounter3
+[ ]+[0-9a-f]+:[ ]+b0402573[ ]+csrr[ ]+a0,mhpmcounter4
+[ ]+[0-9a-f]+:[ ]+b0502573[ ]+csrr[ ]+a0,mhpmcounter5
+[ ]+[0-9a-f]+:[ ]+b0602573[ ]+csrr[ ]+a0,mhpmcounter6
+[ ]+[0-9a-f]+:[ ]+b0702573[ ]+csrr[ ]+a0,mhpmcounter7
+[ ]+[0-9a-f]+:[ ]+b0802573[ ]+csrr[ ]+a0,mhpmcounter8
+[ ]+[0-9a-f]+:[ ]+b0902573[ ]+csrr[ ]+a0,mhpmcounter9
+[ ]+[0-9a-f]+:[ ]+b0a02573[ ]+csrr[ ]+a0,mhpmcounter10
+[ ]+[0-9a-f]+:[ ]+b0b02573[ ]+csrr[ ]+a0,mhpmcounter11
+[ ]+[0-9a-f]+:[ ]+b0c02573[ ]+csrr[ ]+a0,mhpmcounter12
+[ ]+[0-9a-f]+:[ ]+b0d02573[ ]+csrr[ ]+a0,mhpmcounter13
+[ ]+[0-9a-f]+:[ ]+b0e02573[ ]+csrr[ ]+a0,mhpmcounter14
+[ ]+[0-9a-f]+:[ ]+b0f02573[ ]+csrr[ ]+a0,mhpmcounter15
+[ ]+[0-9a-f]+:[ ]+b1002573[ ]+csrr[ ]+a0,mhpmcounter16
+[ ]+[0-9a-f]+:[ ]+b1102573[ ]+csrr[ ]+a0,mhpmcounter17
+[ ]+[0-9a-f]+:[ ]+b1202573[ ]+csrr[ ]+a0,mhpmcounter18
+[ ]+[0-9a-f]+:[ ]+b1302573[ ]+csrr[ ]+a0,mhpmcounter19
+[ ]+[0-9a-f]+:[ ]+b1402573[ ]+csrr[ ]+a0,mhpmcounter20
+[ ]+[0-9a-f]+:[ ]+b1502573[ ]+csrr[ ]+a0,mhpmcounter21
+[ ]+[0-9a-f]+:[ ]+b1602573[ ]+csrr[ ]+a0,mhpmcounter22
+[ ]+[0-9a-f]+:[ ]+b1702573[ ]+csrr[ ]+a0,mhpmcounter23
+[ ]+[0-9a-f]+:[ ]+b1802573[ ]+csrr[ ]+a0,mhpmcounter24
+[ ]+[0-9a-f]+:[ ]+b1902573[ ]+csrr[ ]+a0,mhpmcounter25
+[ ]+[0-9a-f]+:[ ]+b1a02573[ ]+csrr[ ]+a0,mhpmcounter26
+[ ]+[0-9a-f]+:[ ]+b1b02573[ ]+csrr[ ]+a0,mhpmcounter27
+[ ]+[0-9a-f]+:[ ]+b1c02573[ ]+csrr[ ]+a0,mhpmcounter28
+[ ]+[0-9a-f]+:[ ]+b1d02573[ ]+csrr[ ]+a0,mhpmcounter29
+[ ]+[0-9a-f]+:[ ]+b1e02573[ ]+csrr[ ]+a0,mhpmcounter30
+[ ]+[0-9a-f]+:[ ]+b1f02573[ ]+csrr[ ]+a0,mhpmcounter31
+[ ]+[0-9a-f]+:[ ]+b8002573[ ]+csrr[ ]+a0,mcycleh
+[ ]+[0-9a-f]+:[ ]+b8202573[ ]+csrr[ ]+a0,minstreth
+[ ]+[0-9a-f]+:[ ]+b8302573[ ]+csrr[ ]+a0,mhpmcounter3h
+[ ]+[0-9a-f]+:[ ]+b8402573[ ]+csrr[ ]+a0,mhpmcounter4h
+[ ]+[0-9a-f]+:[ ]+b8502573[ ]+csrr[ ]+a0,mhpmcounter5h
+[ ]+[0-9a-f]+:[ ]+b8602573[ ]+csrr[ ]+a0,mhpmcounter6h
+[ ]+[0-9a-f]+:[ ]+b8702573[ ]+csrr[ ]+a0,mhpmcounter7h
+[ ]+[0-9a-f]+:[ ]+b8802573[ ]+csrr[ ]+a0,mhpmcounter8h
+[ ]+[0-9a-f]+:[ ]+b8902573[ ]+csrr[ ]+a0,mhpmcounter9h
+[ ]+[0-9a-f]+:[ ]+b8a02573[ ]+csrr[ ]+a0,mhpmcounter10h
+[ ]+[0-9a-f]+:[ ]+b8b02573[ ]+csrr[ ]+a0,mhpmcounter11h
+[ ]+[0-9a-f]+:[ ]+b8c02573[ ]+csrr[ ]+a0,mhpmcounter12h
+[ ]+[0-9a-f]+:[ ]+b8d02573[ ]+csrr[ ]+a0,mhpmcounter13h
+[ ]+[0-9a-f]+:[ ]+b8e02573[ ]+csrr[ ]+a0,mhpmcounter14h
+[ ]+[0-9a-f]+:[ ]+b8f02573[ ]+csrr[ ]+a0,mhpmcounter15h
+[ ]+[0-9a-f]+:[ ]+b9002573[ ]+csrr[ ]+a0,mhpmcounter16h
+[ ]+[0-9a-f]+:[ ]+b9102573[ ]+csrr[ ]+a0,mhpmcounter17h
+[ ]+[0-9a-f]+:[ ]+b9202573[ ]+csrr[ ]+a0,mhpmcounter18h
+[ ]+[0-9a-f]+:[ ]+b9302573[ ]+csrr[ ]+a0,mhpmcounter19h
+[ ]+[0-9a-f]+:[ ]+b9402573[ ]+csrr[ ]+a0,mhpmcounter20h
+[ ]+[0-9a-f]+:[ ]+b9502573[ ]+csrr[ ]+a0,mhpmcounter21h
+[ ]+[0-9a-f]+:[ ]+b9602573[ ]+csrr[ ]+a0,mhpmcounter22h
+[ ]+[0-9a-f]+:[ ]+b9702573[ ]+csrr[ ]+a0,mhpmcounter23h
+[ ]+[0-9a-f]+:[ ]+b9802573[ ]+csrr[ ]+a0,mhpmcounter24h
+[ ]+[0-9a-f]+:[ ]+b9902573[ ]+csrr[ ]+a0,mhpmcounter25h
+[ ]+[0-9a-f]+:[ ]+b9a02573[ ]+csrr[ ]+a0,mhpmcounter26h
+[ ]+[0-9a-f]+:[ ]+b9b02573[ ]+csrr[ ]+a0,mhpmcounter27h
+[ ]+[0-9a-f]+:[ ]+b9c02573[ ]+csrr[ ]+a0,mhpmcounter28h
+[ ]+[0-9a-f]+:[ ]+b9d02573[ ]+csrr[ ]+a0,mhpmcounter29h
+[ ]+[0-9a-f]+:[ ]+b9e02573[ ]+csrr[ ]+a0,mhpmcounter30h
+[ ]+[0-9a-f]+:[ ]+b9f02573[ ]+csrr[ ]+a0,mhpmcounter31h
+[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,0x320
+[ ]+[0-9a-f]+:[ ]+32302573[ ]+csrr[ ]+a0,mhpmevent3
+[ ]+[0-9a-f]+:[ ]+32402573[ ]+csrr[ ]+a0,mhpmevent4
+[ ]+[0-9a-f]+:[ ]+32502573[ ]+csrr[ ]+a0,mhpmevent5
+[ ]+[0-9a-f]+:[ ]+32602573[ ]+csrr[ ]+a0,mhpmevent6
+[ ]+[0-9a-f]+:[ ]+32702573[ ]+csrr[ ]+a0,mhpmevent7
+[ ]+[0-9a-f]+:[ ]+32802573[ ]+csrr[ ]+a0,mhpmevent8
+[ ]+[0-9a-f]+:[ ]+32902573[ ]+csrr[ ]+a0,mhpmevent9
+[ ]+[0-9a-f]+:[ ]+32a02573[ ]+csrr[ ]+a0,mhpmevent10
+[ ]+[0-9a-f]+:[ ]+32b02573[ ]+csrr[ ]+a0,mhpmevent11
+[ ]+[0-9a-f]+:[ ]+32c02573[ ]+csrr[ ]+a0,mhpmevent12
+[ ]+[0-9a-f]+:[ ]+32d02573[ ]+csrr[ ]+a0,mhpmevent13
+[ ]+[0-9a-f]+:[ ]+32e02573[ ]+csrr[ ]+a0,mhpmevent14
+[ ]+[0-9a-f]+:[ ]+32f02573[ ]+csrr[ ]+a0,mhpmevent15
+[ ]+[0-9a-f]+:[ ]+33002573[ ]+csrr[ ]+a0,mhpmevent16
+[ ]+[0-9a-f]+:[ ]+33102573[ ]+csrr[ ]+a0,mhpmevent17
+[ ]+[0-9a-f]+:[ ]+33202573[ ]+csrr[ ]+a0,mhpmevent18
+[ ]+[0-9a-f]+:[ ]+33302573[ ]+csrr[ ]+a0,mhpmevent19
+[ ]+[0-9a-f]+:[ ]+33402573[ ]+csrr[ ]+a0,mhpmevent20
+[ ]+[0-9a-f]+:[ ]+33502573[ ]+csrr[ ]+a0,mhpmevent21
+[ ]+[0-9a-f]+:[ ]+33602573[ ]+csrr[ ]+a0,mhpmevent22
+[ ]+[0-9a-f]+:[ ]+33702573[ ]+csrr[ ]+a0,mhpmevent23
+[ ]+[0-9a-f]+:[ ]+33802573[ ]+csrr[ ]+a0,mhpmevent24
+[ ]+[0-9a-f]+:[ ]+33902573[ ]+csrr[ ]+a0,mhpmevent25
+[ ]+[0-9a-f]+:[ ]+33a02573[ ]+csrr[ ]+a0,mhpmevent26
+[ ]+[0-9a-f]+:[ ]+33b02573[ ]+csrr[ ]+a0,mhpmevent27
+[ ]+[0-9a-f]+:[ ]+33c02573[ ]+csrr[ ]+a0,mhpmevent28
+[ ]+[0-9a-f]+:[ ]+33d02573[ ]+csrr[ ]+a0,mhpmevent29
+[ ]+[0-9a-f]+:[ ]+33e02573[ ]+csrr[ ]+a0,mhpmevent30
+[ ]+[0-9a-f]+:[ ]+33f02573[ ]+csrr[ ]+a0,mhpmevent31
+[ ]+[0-9a-f]+:[ ]+7a002573[ ]+csrr[ ]+a0,tselect
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a202573[ ]+csrr[ ]+a0,tdata2
+[ ]+[0-9a-f]+:[ ]+7a302573[ ]+csrr[ ]+a0,tdata3
+[ ]+[0-9a-f]+:[ ]+7b002573[ ]+csrr[ ]+a0,dcsr
+[ ]+[0-9a-f]+:[ ]+7b102573[ ]+csrr[ ]+a0,dpc
+[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch
+[ ]+[0-9a-f]+:[ ]+7b302573[ ]+csrr[ ]+a0,0x7b3
+[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,utval
+[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,stval
+[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,satp
+[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mtval
+[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,0x320
+[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch
+[ ]+[0-9a-f]+:[ ]+20002573[ ]+csrr[ ]+a0,0x200
+[ ]+[0-9a-f]+:[ ]+20202573[ ]+csrr[ ]+a0,0x202
+[ ]+[0-9a-f]+:[ ]+20302573[ ]+csrr[ ]+a0,0x203
+[ ]+[0-9a-f]+:[ ]+20402573[ ]+csrr[ ]+a0,0x204
+[ ]+[0-9a-f]+:[ ]+20502573[ ]+csrr[ ]+a0,0x205
+[ ]+[0-9a-f]+:[ ]+24002573[ ]+csrr[ ]+a0,0x240
+[ ]+[0-9a-f]+:[ ]+24102573[ ]+csrr[ ]+a0,0x241
+[ ]+[0-9a-f]+:[ ]+24202573[ ]+csrr[ ]+a0,0x242
+[ ]+[0-9a-f]+:[ ]+24302573[ ]+csrr[ ]+a0,0x243
+[ ]+[0-9a-f]+:[ ]+24402573[ ]+csrr[ ]+a0,0x244
+[ ]+[0-9a-f]+:[ ]+38002573[ ]+csrr[ ]+a0,0x380
+[ ]+[0-9a-f]+:[ ]+38102573[ ]+csrr[ ]+a0,0x381
+[ ]+[0-9a-f]+:[ ]+38202573[ ]+csrr[ ]+a0,0x382
+[ ]+[0-9a-f]+:[ ]+38302573[ ]+csrr[ ]+a0,0x383
+[ ]+[0-9a-f]+:[ ]+38402573[ ]+csrr[ ]+a0,0x384
+[ ]+[0-9a-f]+:[ ]+38502573[ ]+csrr[ ]+a0,0x385
+[ ]+[0-9a-f]+:[ ]+32102573[ ]+csrr[ ]+a0,0x321
+[ ]+[0-9a-f]+:[ ]+32202573[ ]+csrr[ ]+a0,0x322
diff --git a/gas/testsuite/gas/riscv/priv-reg-version-1p11.d b/gas/testsuite/gas/riscv/priv-reg-version-1p11.d
new file mode 100644
index 0000000000..225f4c4aa7
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-version-1p11.d
@@ -0,0 +1,257 @@
+#as: -march=rv32if -mpriv-spec=1.11
+#source: priv-reg.s
+#objdump: -dr -Mpriv-spec=1.11
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+0+000 <.text>:
+[ ]+[0-9a-f]+:[ ]+00002573[ ]+csrr[ ]+a0,ustatus
+[ ]+[0-9a-f]+:[ ]+00402573[ ]+csrr[ ]+a0,uie
+[ ]+[0-9a-f]+:[ ]+00502573[ ]+csrr[ ]+a0,utvec
+[ ]+[0-9a-f]+:[ ]+04002573[ ]+csrr[ ]+a0,uscratch
+[ ]+[0-9a-f]+:[ ]+04102573[ ]+csrr[ ]+a0,uepc
+[ ]+[0-9a-f]+:[ ]+04202573[ ]+csrr[ ]+a0,ucause
+[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,utval
+[ ]+[0-9a-f]+:[ ]+04402573[ ]+csrr[ ]+a0,uip
+[ ]+[0-9a-f]+:[ ]+00102573[ ]+frflags[ ]+a0
+[ ]+[0-9a-f]+:[ ]+00202573[ ]+frrm[ ]+a0
+[ ]+[0-9a-f]+:[ ]+00302573[ ]+frcsr[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0002573[ ]+rdcycle[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0102573[ ]+rdtime[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0202573[ ]+rdinstret[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0302573[ ]+csrr[ ]+a0,hpmcounter3
+[ ]+[0-9a-f]+:[ ]+c0402573[ ]+csrr[ ]+a0,hpmcounter4
+[ ]+[0-9a-f]+:[ ]+c0502573[ ]+csrr[ ]+a0,hpmcounter5
+[ ]+[0-9a-f]+:[ ]+c0602573[ ]+csrr[ ]+a0,hpmcounter6
+[ ]+[0-9a-f]+:[ ]+c0702573[ ]+csrr[ ]+a0,hpmcounter7
+[ ]+[0-9a-f]+:[ ]+c0802573[ ]+csrr[ ]+a0,hpmcounter8
+[ ]+[0-9a-f]+:[ ]+c0902573[ ]+csrr[ ]+a0,hpmcounter9
+[ ]+[0-9a-f]+:[ ]+c0a02573[ ]+csrr[ ]+a0,hpmcounter10
+[ ]+[0-9a-f]+:[ ]+c0b02573[ ]+csrr[ ]+a0,hpmcounter11
+[ ]+[0-9a-f]+:[ ]+c0c02573[ ]+csrr[ ]+a0,hpmcounter12
+[ ]+[0-9a-f]+:[ ]+c0d02573[ ]+csrr[ ]+a0,hpmcounter13
+[ ]+[0-9a-f]+:[ ]+c0e02573[ ]+csrr[ ]+a0,hpmcounter14
+[ ]+[0-9a-f]+:[ ]+c0f02573[ ]+csrr[ ]+a0,hpmcounter15
+[ ]+[0-9a-f]+:[ ]+c1002573[ ]+csrr[ ]+a0,hpmcounter16
+[ ]+[0-9a-f]+:[ ]+c1102573[ ]+csrr[ ]+a0,hpmcounter17
+[ ]+[0-9a-f]+:[ ]+c1202573[ ]+csrr[ ]+a0,hpmcounter18
+[ ]+[0-9a-f]+:[ ]+c1302573[ ]+csrr[ ]+a0,hpmcounter19
+[ ]+[0-9a-f]+:[ ]+c1402573[ ]+csrr[ ]+a0,hpmcounter20
+[ ]+[0-9a-f]+:[ ]+c1502573[ ]+csrr[ ]+a0,hpmcounter21
+[ ]+[0-9a-f]+:[ ]+c1602573[ ]+csrr[ ]+a0,hpmcounter22
+[ ]+[0-9a-f]+:[ ]+c1702573[ ]+csrr[ ]+a0,hpmcounter23
+[ ]+[0-9a-f]+:[ ]+c1802573[ ]+csrr[ ]+a0,hpmcounter24
+[ ]+[0-9a-f]+:[ ]+c1902573[ ]+csrr[ ]+a0,hpmcounter25
+[ ]+[0-9a-f]+:[ ]+c1a02573[ ]+csrr[ ]+a0,hpmcounter26
+[ ]+[0-9a-f]+:[ ]+c1b02573[ ]+csrr[ ]+a0,hpmcounter27
+[ ]+[0-9a-f]+:[ ]+c1c02573[ ]+csrr[ ]+a0,hpmcounter28
+[ ]+[0-9a-f]+:[ ]+c1d02573[ ]+csrr[ ]+a0,hpmcounter29
+[ ]+[0-9a-f]+:[ ]+c1e02573[ ]+csrr[ ]+a0,hpmcounter30
+[ ]+[0-9a-f]+:[ ]+c1f02573[ ]+csrr[ ]+a0,hpmcounter31
+[ ]+[0-9a-f]+:[ ]+c8002573[ ]+rdcycleh[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8102573[ ]+rdtimeh[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8202573[ ]+rdinstreth[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8302573[ ]+csrr[ ]+a0,hpmcounter3h
+[ ]+[0-9a-f]+:[ ]+c8402573[ ]+csrr[ ]+a0,hpmcounter4h
+[ ]+[0-9a-f]+:[ ]+c8502573[ ]+csrr[ ]+a0,hpmcounter5h
+[ ]+[0-9a-f]+:[ ]+c8602573[ ]+csrr[ ]+a0,hpmcounter6h
+[ ]+[0-9a-f]+:[ ]+c8702573[ ]+csrr[ ]+a0,hpmcounter7h
+[ ]+[0-9a-f]+:[ ]+c8802573[ ]+csrr[ ]+a0,hpmcounter8h
+[ ]+[0-9a-f]+:[ ]+c8902573[ ]+csrr[ ]+a0,hpmcounter9h
+[ ]+[0-9a-f]+:[ ]+c8a02573[ ]+csrr[ ]+a0,hpmcounter10h
+[ ]+[0-9a-f]+:[ ]+c8b02573[ ]+csrr[ ]+a0,hpmcounter11h
+[ ]+[0-9a-f]+:[ ]+c8c02573[ ]+csrr[ ]+a0,hpmcounter12h
+[ ]+[0-9a-f]+:[ ]+c8d02573[ ]+csrr[ ]+a0,hpmcounter13h
+[ ]+[0-9a-f]+:[ ]+c8e02573[ ]+csrr[ ]+a0,hpmcounter14h
+[ ]+[0-9a-f]+:[ ]+c8f02573[ ]+csrr[ ]+a0,hpmcounter15h
+[ ]+[0-9a-f]+:[ ]+c9002573[ ]+csrr[ ]+a0,hpmcounter16h
+[ ]+[0-9a-f]+:[ ]+c9102573[ ]+csrr[ ]+a0,hpmcounter17h
+[ ]+[0-9a-f]+:[ ]+c9202573[ ]+csrr[ ]+a0,hpmcounter18h
+[ ]+[0-9a-f]+:[ ]+c9302573[ ]+csrr[ ]+a0,hpmcounter19h
+[ ]+[0-9a-f]+:[ ]+c9402573[ ]+csrr[ ]+a0,hpmcounter20h
+[ ]+[0-9a-f]+:[ ]+c9502573[ ]+csrr[ ]+a0,hpmcounter21h
+[ ]+[0-9a-f]+:[ ]+c9602573[ ]+csrr[ ]+a0,hpmcounter22h
+[ ]+[0-9a-f]+:[ ]+c9702573[ ]+csrr[ ]+a0,hpmcounter23h
+[ ]+[0-9a-f]+:[ ]+c9802573[ ]+csrr[ ]+a0,hpmcounter24h
+[ ]+[0-9a-f]+:[ ]+c9902573[ ]+csrr[ ]+a0,hpmcounter25h
+[ ]+[0-9a-f]+:[ ]+c9a02573[ ]+csrr[ ]+a0,hpmcounter26h
+[ ]+[0-9a-f]+:[ ]+c9b02573[ ]+csrr[ ]+a0,hpmcounter27h
+[ ]+[0-9a-f]+:[ ]+c9c02573[ ]+csrr[ ]+a0,hpmcounter28h
+[ ]+[0-9a-f]+:[ ]+c9d02573[ ]+csrr[ ]+a0,hpmcounter29h
+[ ]+[0-9a-f]+:[ ]+c9e02573[ ]+csrr[ ]+a0,hpmcounter30h
+[ ]+[0-9a-f]+:[ ]+c9f02573[ ]+csrr[ ]+a0,hpmcounter31h
+[ ]+[0-9a-f]+:[ ]+10002573[ ]+csrr[ ]+a0,sstatus
+[ ]+[0-9a-f]+:[ ]+10202573[ ]+csrr[ ]+a0,sedeleg
+[ ]+[0-9a-f]+:[ ]+10302573[ ]+csrr[ ]+a0,sideleg
+[ ]+[0-9a-f]+:[ ]+10402573[ ]+csrr[ ]+a0,sie
+[ ]+[0-9a-f]+:[ ]+10502573[ ]+csrr[ ]+a0,stvec
+[ ]+[0-9a-f]+:[ ]+10602573[ ]+csrr[ ]+a0,scounteren
+[ ]+[0-9a-f]+:[ ]+14002573[ ]+csrr[ ]+a0,sscratch
+[ ]+[0-9a-f]+:[ ]+14102573[ ]+csrr[ ]+a0,sepc
+[ ]+[0-9a-f]+:[ ]+14202573[ ]+csrr[ ]+a0,scause
+[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,stval
+[ ]+[0-9a-f]+:[ ]+14402573[ ]+csrr[ ]+a0,sip
+[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,satp
+[ ]+[0-9a-f]+:[ ]+f1102573[ ]+csrr[ ]+a0,mvendorid
+[ ]+[0-9a-f]+:[ ]+f1202573[ ]+csrr[ ]+a0,marchid
+[ ]+[0-9a-f]+:[ ]+f1302573[ ]+csrr[ ]+a0,mimpid
+[ ]+[0-9a-f]+:[ ]+f1402573[ ]+csrr[ ]+a0,mhartid
+[ ]+[0-9a-f]+:[ ]+30002573[ ]+csrr[ ]+a0,mstatus
+[ ]+[0-9a-f]+:[ ]+30102573[ ]+csrr[ ]+a0,misa
+[ ]+[0-9a-f]+:[ ]+30202573[ ]+csrr[ ]+a0,medeleg
+[ ]+[0-9a-f]+:[ ]+30302573[ ]+csrr[ ]+a0,mideleg
+[ ]+[0-9a-f]+:[ ]+30402573[ ]+csrr[ ]+a0,mie
+[ ]+[0-9a-f]+:[ ]+30502573[ ]+csrr[ ]+a0,mtvec
+[ ]+[0-9a-f]+:[ ]+30602573[ ]+csrr[ ]+a0,mcounteren
+[ ]+[0-9a-f]+:[ ]+34002573[ ]+csrr[ ]+a0,mscratch
+[ ]+[0-9a-f]+:[ ]+34102573[ ]+csrr[ ]+a0,mepc
+[ ]+[0-9a-f]+:[ ]+34202573[ ]+csrr[ ]+a0,mcause
+[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mtval
+[ ]+[0-9a-f]+:[ ]+34402573[ ]+csrr[ ]+a0,mip
+[ ]+[0-9a-f]+:[ ]+3a002573[ ]+csrr[ ]+a0,pmpcfg0
+[ ]+[0-9a-f]+:[ ]+3a102573[ ]+csrr[ ]+a0,pmpcfg1
+[ ]+[0-9a-f]+:[ ]+3a202573[ ]+csrr[ ]+a0,pmpcfg2
+[ ]+[0-9a-f]+:[ ]+3a302573[ ]+csrr[ ]+a0,pmpcfg3
+[ ]+[0-9a-f]+:[ ]+3b002573[ ]+csrr[ ]+a0,pmpaddr0
+[ ]+[0-9a-f]+:[ ]+3b102573[ ]+csrr[ ]+a0,pmpaddr1
+[ ]+[0-9a-f]+:[ ]+3b202573[ ]+csrr[ ]+a0,pmpaddr2
+[ ]+[0-9a-f]+:[ ]+3b302573[ ]+csrr[ ]+a0,pmpaddr3
+[ ]+[0-9a-f]+:[ ]+3b402573[ ]+csrr[ ]+a0,pmpaddr4
+[ ]+[0-9a-f]+:[ ]+3b502573[ ]+csrr[ ]+a0,pmpaddr5
+[ ]+[0-9a-f]+:[ ]+3b602573[ ]+csrr[ ]+a0,pmpaddr6
+[ ]+[0-9a-f]+:[ ]+3b702573[ ]+csrr[ ]+a0,pmpaddr7
+[ ]+[0-9a-f]+:[ ]+3b802573[ ]+csrr[ ]+a0,pmpaddr8
+[ ]+[0-9a-f]+:[ ]+3b902573[ ]+csrr[ ]+a0,pmpaddr9
+[ ]+[0-9a-f]+:[ ]+3ba02573[ ]+csrr[ ]+a0,pmpaddr10
+[ ]+[0-9a-f]+:[ ]+3bb02573[ ]+csrr[ ]+a0,pmpaddr11
+[ ]+[0-9a-f]+:[ ]+3bc02573[ ]+csrr[ ]+a0,pmpaddr12
+[ ]+[0-9a-f]+:[ ]+3bd02573[ ]+csrr[ ]+a0,pmpaddr13
+[ ]+[0-9a-f]+:[ ]+3be02573[ ]+csrr[ ]+a0,pmpaddr14
+[ ]+[0-9a-f]+:[ ]+3bf02573[ ]+csrr[ ]+a0,pmpaddr15
+[ ]+[0-9a-f]+:[ ]+b0002573[ ]+csrr[ ]+a0,mcycle
+[ ]+[0-9a-f]+:[ ]+b0202573[ ]+csrr[ ]+a0,minstret
+[ ]+[0-9a-f]+:[ ]+b0302573[ ]+csrr[ ]+a0,mhpmcounter3
+[ ]+[0-9a-f]+:[ ]+b0402573[ ]+csrr[ ]+a0,mhpmcounter4
+[ ]+[0-9a-f]+:[ ]+b0502573[ ]+csrr[ ]+a0,mhpmcounter5
+[ ]+[0-9a-f]+:[ ]+b0602573[ ]+csrr[ ]+a0,mhpmcounter6
+[ ]+[0-9a-f]+:[ ]+b0702573[ ]+csrr[ ]+a0,mhpmcounter7
+[ ]+[0-9a-f]+:[ ]+b0802573[ ]+csrr[ ]+a0,mhpmcounter8
+[ ]+[0-9a-f]+:[ ]+b0902573[ ]+csrr[ ]+a0,mhpmcounter9
+[ ]+[0-9a-f]+:[ ]+b0a02573[ ]+csrr[ ]+a0,mhpmcounter10
+[ ]+[0-9a-f]+:[ ]+b0b02573[ ]+csrr[ ]+a0,mhpmcounter11
+[ ]+[0-9a-f]+:[ ]+b0c02573[ ]+csrr[ ]+a0,mhpmcounter12
+[ ]+[0-9a-f]+:[ ]+b0d02573[ ]+csrr[ ]+a0,mhpmcounter13
+[ ]+[0-9a-f]+:[ ]+b0e02573[ ]+csrr[ ]+a0,mhpmcounter14
+[ ]+[0-9a-f]+:[ ]+b0f02573[ ]+csrr[ ]+a0,mhpmcounter15
+[ ]+[0-9a-f]+:[ ]+b1002573[ ]+csrr[ ]+a0,mhpmcounter16
+[ ]+[0-9a-f]+:[ ]+b1102573[ ]+csrr[ ]+a0,mhpmcounter17
+[ ]+[0-9a-f]+:[ ]+b1202573[ ]+csrr[ ]+a0,mhpmcounter18
+[ ]+[0-9a-f]+:[ ]+b1302573[ ]+csrr[ ]+a0,mhpmcounter19
+[ ]+[0-9a-f]+:[ ]+b1402573[ ]+csrr[ ]+a0,mhpmcounter20
+[ ]+[0-9a-f]+:[ ]+b1502573[ ]+csrr[ ]+a0,mhpmcounter21
+[ ]+[0-9a-f]+:[ ]+b1602573[ ]+csrr[ ]+a0,mhpmcounter22
+[ ]+[0-9a-f]+:[ ]+b1702573[ ]+csrr[ ]+a0,mhpmcounter23
+[ ]+[0-9a-f]+:[ ]+b1802573[ ]+csrr[ ]+a0,mhpmcounter24
+[ ]+[0-9a-f]+:[ ]+b1902573[ ]+csrr[ ]+a0,mhpmcounter25
+[ ]+[0-9a-f]+:[ ]+b1a02573[ ]+csrr[ ]+a0,mhpmcounter26
+[ ]+[0-9a-f]+:[ ]+b1b02573[ ]+csrr[ ]+a0,mhpmcounter27
+[ ]+[0-9a-f]+:[ ]+b1c02573[ ]+csrr[ ]+a0,mhpmcounter28
+[ ]+[0-9a-f]+:[ ]+b1d02573[ ]+csrr[ ]+a0,mhpmcounter29
+[ ]+[0-9a-f]+:[ ]+b1e02573[ ]+csrr[ ]+a0,mhpmcounter30
+[ ]+[0-9a-f]+:[ ]+b1f02573[ ]+csrr[ ]+a0,mhpmcounter31
+[ ]+[0-9a-f]+:[ ]+b8002573[ ]+csrr[ ]+a0,mcycleh
+[ ]+[0-9a-f]+:[ ]+b8202573[ ]+csrr[ ]+a0,minstreth
+[ ]+[0-9a-f]+:[ ]+b8302573[ ]+csrr[ ]+a0,mhpmcounter3h
+[ ]+[0-9a-f]+:[ ]+b8402573[ ]+csrr[ ]+a0,mhpmcounter4h
+[ ]+[0-9a-f]+:[ ]+b8502573[ ]+csrr[ ]+a0,mhpmcounter5h
+[ ]+[0-9a-f]+:[ ]+b8602573[ ]+csrr[ ]+a0,mhpmcounter6h
+[ ]+[0-9a-f]+:[ ]+b8702573[ ]+csrr[ ]+a0,mhpmcounter7h
+[ ]+[0-9a-f]+:[ ]+b8802573[ ]+csrr[ ]+a0,mhpmcounter8h
+[ ]+[0-9a-f]+:[ ]+b8902573[ ]+csrr[ ]+a0,mhpmcounter9h
+[ ]+[0-9a-f]+:[ ]+b8a02573[ ]+csrr[ ]+a0,mhpmcounter10h
+[ ]+[0-9a-f]+:[ ]+b8b02573[ ]+csrr[ ]+a0,mhpmcounter11h
+[ ]+[0-9a-f]+:[ ]+b8c02573[ ]+csrr[ ]+a0,mhpmcounter12h
+[ ]+[0-9a-f]+:[ ]+b8d02573[ ]+csrr[ ]+a0,mhpmcounter13h
+[ ]+[0-9a-f]+:[ ]+b8e02573[ ]+csrr[ ]+a0,mhpmcounter14h
+[ ]+[0-9a-f]+:[ ]+b8f02573[ ]+csrr[ ]+a0,mhpmcounter15h
+[ ]+[0-9a-f]+:[ ]+b9002573[ ]+csrr[ ]+a0,mhpmcounter16h
+[ ]+[0-9a-f]+:[ ]+b9102573[ ]+csrr[ ]+a0,mhpmcounter17h
+[ ]+[0-9a-f]+:[ ]+b9202573[ ]+csrr[ ]+a0,mhpmcounter18h
+[ ]+[0-9a-f]+:[ ]+b9302573[ ]+csrr[ ]+a0,mhpmcounter19h
+[ ]+[0-9a-f]+:[ ]+b9402573[ ]+csrr[ ]+a0,mhpmcounter20h
+[ ]+[0-9a-f]+:[ ]+b9502573[ ]+csrr[ ]+a0,mhpmcounter21h
+[ ]+[0-9a-f]+:[ ]+b9602573[ ]+csrr[ ]+a0,mhpmcounter22h
+[ ]+[0-9a-f]+:[ ]+b9702573[ ]+csrr[ ]+a0,mhpmcounter23h
+[ ]+[0-9a-f]+:[ ]+b9802573[ ]+csrr[ ]+a0,mhpmcounter24h
+[ ]+[0-9a-f]+:[ ]+b9902573[ ]+csrr[ ]+a0,mhpmcounter25h
+[ ]+[0-9a-f]+:[ ]+b9a02573[ ]+csrr[ ]+a0,mhpmcounter26h
+[ ]+[0-9a-f]+:[ ]+b9b02573[ ]+csrr[ ]+a0,mhpmcounter27h
+[ ]+[0-9a-f]+:[ ]+b9c02573[ ]+csrr[ ]+a0,mhpmcounter28h
+[ ]+[0-9a-f]+:[ ]+b9d02573[ ]+csrr[ ]+a0,mhpmcounter29h
+[ ]+[0-9a-f]+:[ ]+b9e02573[ ]+csrr[ ]+a0,mhpmcounter30h
+[ ]+[0-9a-f]+:[ ]+b9f02573[ ]+csrr[ ]+a0,mhpmcounter31h
+[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mcountinhibit
+[ ]+[0-9a-f]+:[ ]+32302573[ ]+csrr[ ]+a0,mhpmevent3
+[ ]+[0-9a-f]+:[ ]+32402573[ ]+csrr[ ]+a0,mhpmevent4
+[ ]+[0-9a-f]+:[ ]+32502573[ ]+csrr[ ]+a0,mhpmevent5
+[ ]+[0-9a-f]+:[ ]+32602573[ ]+csrr[ ]+a0,mhpmevent6
+[ ]+[0-9a-f]+:[ ]+32702573[ ]+csrr[ ]+a0,mhpmevent7
+[ ]+[0-9a-f]+:[ ]+32802573[ ]+csrr[ ]+a0,mhpmevent8
+[ ]+[0-9a-f]+:[ ]+32902573[ ]+csrr[ ]+a0,mhpmevent9
+[ ]+[0-9a-f]+:[ ]+32a02573[ ]+csrr[ ]+a0,mhpmevent10
+[ ]+[0-9a-f]+:[ ]+32b02573[ ]+csrr[ ]+a0,mhpmevent11
+[ ]+[0-9a-f]+:[ ]+32c02573[ ]+csrr[ ]+a0,mhpmevent12
+[ ]+[0-9a-f]+:[ ]+32d02573[ ]+csrr[ ]+a0,mhpmevent13
+[ ]+[0-9a-f]+:[ ]+32e02573[ ]+csrr[ ]+a0,mhpmevent14
+[ ]+[0-9a-f]+:[ ]+32f02573[ ]+csrr[ ]+a0,mhpmevent15
+[ ]+[0-9a-f]+:[ ]+33002573[ ]+csrr[ ]+a0,mhpmevent16
+[ ]+[0-9a-f]+:[ ]+33102573[ ]+csrr[ ]+a0,mhpmevent17
+[ ]+[0-9a-f]+:[ ]+33202573[ ]+csrr[ ]+a0,mhpmevent18
+[ ]+[0-9a-f]+:[ ]+33302573[ ]+csrr[ ]+a0,mhpmevent19
+[ ]+[0-9a-f]+:[ ]+33402573[ ]+csrr[ ]+a0,mhpmevent20
+[ ]+[0-9a-f]+:[ ]+33502573[ ]+csrr[ ]+a0,mhpmevent21
+[ ]+[0-9a-f]+:[ ]+33602573[ ]+csrr[ ]+a0,mhpmevent22
+[ ]+[0-9a-f]+:[ ]+33702573[ ]+csrr[ ]+a0,mhpmevent23
+[ ]+[0-9a-f]+:[ ]+33802573[ ]+csrr[ ]+a0,mhpmevent24
+[ ]+[0-9a-f]+:[ ]+33902573[ ]+csrr[ ]+a0,mhpmevent25
+[ ]+[0-9a-f]+:[ ]+33a02573[ ]+csrr[ ]+a0,mhpmevent26
+[ ]+[0-9a-f]+:[ ]+33b02573[ ]+csrr[ ]+a0,mhpmevent27
+[ ]+[0-9a-f]+:[ ]+33c02573[ ]+csrr[ ]+a0,mhpmevent28
+[ ]+[0-9a-f]+:[ ]+33d02573[ ]+csrr[ ]+a0,mhpmevent29
+[ ]+[0-9a-f]+:[ ]+33e02573[ ]+csrr[ ]+a0,mhpmevent30
+[ ]+[0-9a-f]+:[ ]+33f02573[ ]+csrr[ ]+a0,mhpmevent31
+[ ]+[0-9a-f]+:[ ]+7a002573[ ]+csrr[ ]+a0,tselect
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a202573[ ]+csrr[ ]+a0,tdata2
+[ ]+[0-9a-f]+:[ ]+7a302573[ ]+csrr[ ]+a0,tdata3
+[ ]+[0-9a-f]+:[ ]+7b002573[ ]+csrr[ ]+a0,dcsr
+[ ]+[0-9a-f]+:[ ]+7b102573[ ]+csrr[ ]+a0,dpc
+[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch0
+[ ]+[0-9a-f]+:[ ]+7b302573[ ]+csrr[ ]+a0,dscratch1
+[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,utval
+[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,stval
+[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,satp
+[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mtval
+[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mcountinhibit
+[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch0
+[ ]+[0-9a-f]+:[ ]+20002573[ ]+csrr[ ]+a0,0x200
+[ ]+[0-9a-f]+:[ ]+20202573[ ]+csrr[ ]+a0,0x202
+[ ]+[0-9a-f]+:[ ]+20302573[ ]+csrr[ ]+a0,0x203
+[ ]+[0-9a-f]+:[ ]+20402573[ ]+csrr[ ]+a0,0x204
+[ ]+[0-9a-f]+:[ ]+20502573[ ]+csrr[ ]+a0,0x205
+[ ]+[0-9a-f]+:[ ]+24002573[ ]+csrr[ ]+a0,0x240
+[ ]+[0-9a-f]+:[ ]+24102573[ ]+csrr[ ]+a0,0x241
+[ ]+[0-9a-f]+:[ ]+24202573[ ]+csrr[ ]+a0,0x242
+[ ]+[0-9a-f]+:[ ]+24302573[ ]+csrr[ ]+a0,0x243
+[ ]+[0-9a-f]+:[ ]+24402573[ ]+csrr[ ]+a0,0x244
+[ ]+[0-9a-f]+:[ ]+38002573[ ]+csrr[ ]+a0,0x380
+[ ]+[0-9a-f]+:[ ]+38102573[ ]+csrr[ ]+a0,0x381
+[ ]+[0-9a-f]+:[ ]+38202573[ ]+csrr[ ]+a0,0x382
+[ ]+[0-9a-f]+:[ ]+38302573[ ]+csrr[ ]+a0,0x383
+[ ]+[0-9a-f]+:[ ]+38402573[ ]+csrr[ ]+a0,0x384
+[ ]+[0-9a-f]+:[ ]+38502573[ ]+csrr[ ]+a0,0x385
+[ ]+[0-9a-f]+:[ ]+32102573[ ]+csrr[ ]+a0,0x321
+[ ]+[0-9a-f]+:[ ]+32202573[ ]+csrr[ ]+a0,0x322
diff --git a/gas/testsuite/gas/riscv/priv-reg-version-1p9.d b/gas/testsuite/gas/riscv/priv-reg-version-1p9.d
new file mode 100644
index 0000000000..fd2a56b9ca
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-version-1p9.d
@@ -0,0 +1,257 @@
+#as: -march=rv32if -mpriv-spec=1.9
+#source: priv-reg.s
+#objdump: -dr -Mpriv-spec=1.9
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+0+000 <.text>:
+[ ]+[0-9a-f]+:[ ]+00002573[ ]+csrr[ ]+a0,ustatus
+[ ]+[0-9a-f]+:[ ]+00402573[ ]+csrr[ ]+a0,uie
+[ ]+[0-9a-f]+:[ ]+00502573[ ]+csrr[ ]+a0,utvec
+[ ]+[0-9a-f]+:[ ]+04002573[ ]+csrr[ ]+a0,uscratch
+[ ]+[0-9a-f]+:[ ]+04102573[ ]+csrr[ ]+a0,uepc
+[ ]+[0-9a-f]+:[ ]+04202573[ ]+csrr[ ]+a0,ucause
+[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,ubadaddr
+[ ]+[0-9a-f]+:[ ]+04402573[ ]+csrr[ ]+a0,uip
+[ ]+[0-9a-f]+:[ ]+00102573[ ]+frflags[ ]+a0
+[ ]+[0-9a-f]+:[ ]+00202573[ ]+frrm[ ]+a0
+[ ]+[0-9a-f]+:[ ]+00302573[ ]+frcsr[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0002573[ ]+rdcycle[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0102573[ ]+rdtime[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0202573[ ]+rdinstret[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0302573[ ]+csrr[ ]+a0,hpmcounter3
+[ ]+[0-9a-f]+:[ ]+c0402573[ ]+csrr[ ]+a0,hpmcounter4
+[ ]+[0-9a-f]+:[ ]+c0502573[ ]+csrr[ ]+a0,hpmcounter5
+[ ]+[0-9a-f]+:[ ]+c0602573[ ]+csrr[ ]+a0,hpmcounter6
+[ ]+[0-9a-f]+:[ ]+c0702573[ ]+csrr[ ]+a0,hpmcounter7
+[ ]+[0-9a-f]+:[ ]+c0802573[ ]+csrr[ ]+a0,hpmcounter8
+[ ]+[0-9a-f]+:[ ]+c0902573[ ]+csrr[ ]+a0,hpmcounter9
+[ ]+[0-9a-f]+:[ ]+c0a02573[ ]+csrr[ ]+a0,hpmcounter10
+[ ]+[0-9a-f]+:[ ]+c0b02573[ ]+csrr[ ]+a0,hpmcounter11
+[ ]+[0-9a-f]+:[ ]+c0c02573[ ]+csrr[ ]+a0,hpmcounter12
+[ ]+[0-9a-f]+:[ ]+c0d02573[ ]+csrr[ ]+a0,hpmcounter13
+[ ]+[0-9a-f]+:[ ]+c0e02573[ ]+csrr[ ]+a0,hpmcounter14
+[ ]+[0-9a-f]+:[ ]+c0f02573[ ]+csrr[ ]+a0,hpmcounter15
+[ ]+[0-9a-f]+:[ ]+c1002573[ ]+csrr[ ]+a0,hpmcounter16
+[ ]+[0-9a-f]+:[ ]+c1102573[ ]+csrr[ ]+a0,hpmcounter17
+[ ]+[0-9a-f]+:[ ]+c1202573[ ]+csrr[ ]+a0,hpmcounter18
+[ ]+[0-9a-f]+:[ ]+c1302573[ ]+csrr[ ]+a0,hpmcounter19
+[ ]+[0-9a-f]+:[ ]+c1402573[ ]+csrr[ ]+a0,hpmcounter20
+[ ]+[0-9a-f]+:[ ]+c1502573[ ]+csrr[ ]+a0,hpmcounter21
+[ ]+[0-9a-f]+:[ ]+c1602573[ ]+csrr[ ]+a0,hpmcounter22
+[ ]+[0-9a-f]+:[ ]+c1702573[ ]+csrr[ ]+a0,hpmcounter23
+[ ]+[0-9a-f]+:[ ]+c1802573[ ]+csrr[ ]+a0,hpmcounter24
+[ ]+[0-9a-f]+:[ ]+c1902573[ ]+csrr[ ]+a0,hpmcounter25
+[ ]+[0-9a-f]+:[ ]+c1a02573[ ]+csrr[ ]+a0,hpmcounter26
+[ ]+[0-9a-f]+:[ ]+c1b02573[ ]+csrr[ ]+a0,hpmcounter27
+[ ]+[0-9a-f]+:[ ]+c1c02573[ ]+csrr[ ]+a0,hpmcounter28
+[ ]+[0-9a-f]+:[ ]+c1d02573[ ]+csrr[ ]+a0,hpmcounter29
+[ ]+[0-9a-f]+:[ ]+c1e02573[ ]+csrr[ ]+a0,hpmcounter30
+[ ]+[0-9a-f]+:[ ]+c1f02573[ ]+csrr[ ]+a0,hpmcounter31
+[ ]+[0-9a-f]+:[ ]+c8002573[ ]+rdcycleh[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8102573[ ]+rdtimeh[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8202573[ ]+rdinstreth[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8302573[ ]+csrr[ ]+a0,hpmcounter3h
+[ ]+[0-9a-f]+:[ ]+c8402573[ ]+csrr[ ]+a0,hpmcounter4h
+[ ]+[0-9a-f]+:[ ]+c8502573[ ]+csrr[ ]+a0,hpmcounter5h
+[ ]+[0-9a-f]+:[ ]+c8602573[ ]+csrr[ ]+a0,hpmcounter6h
+[ ]+[0-9a-f]+:[ ]+c8702573[ ]+csrr[ ]+a0,hpmcounter7h
+[ ]+[0-9a-f]+:[ ]+c8802573[ ]+csrr[ ]+a0,hpmcounter8h
+[ ]+[0-9a-f]+:[ ]+c8902573[ ]+csrr[ ]+a0,hpmcounter9h
+[ ]+[0-9a-f]+:[ ]+c8a02573[ ]+csrr[ ]+a0,hpmcounter10h
+[ ]+[0-9a-f]+:[ ]+c8b02573[ ]+csrr[ ]+a0,hpmcounter11h
+[ ]+[0-9a-f]+:[ ]+c8c02573[ ]+csrr[ ]+a0,hpmcounter12h
+[ ]+[0-9a-f]+:[ ]+c8d02573[ ]+csrr[ ]+a0,hpmcounter13h
+[ ]+[0-9a-f]+:[ ]+c8e02573[ ]+csrr[ ]+a0,hpmcounter14h
+[ ]+[0-9a-f]+:[ ]+c8f02573[ ]+csrr[ ]+a0,hpmcounter15h
+[ ]+[0-9a-f]+:[ ]+c9002573[ ]+csrr[ ]+a0,hpmcounter16h
+[ ]+[0-9a-f]+:[ ]+c9102573[ ]+csrr[ ]+a0,hpmcounter17h
+[ ]+[0-9a-f]+:[ ]+c9202573[ ]+csrr[ ]+a0,hpmcounter18h
+[ ]+[0-9a-f]+:[ ]+c9302573[ ]+csrr[ ]+a0,hpmcounter19h
+[ ]+[0-9a-f]+:[ ]+c9402573[ ]+csrr[ ]+a0,hpmcounter20h
+[ ]+[0-9a-f]+:[ ]+c9502573[ ]+csrr[ ]+a0,hpmcounter21h
+[ ]+[0-9a-f]+:[ ]+c9602573[ ]+csrr[ ]+a0,hpmcounter22h
+[ ]+[0-9a-f]+:[ ]+c9702573[ ]+csrr[ ]+a0,hpmcounter23h
+[ ]+[0-9a-f]+:[ ]+c9802573[ ]+csrr[ ]+a0,hpmcounter24h
+[ ]+[0-9a-f]+:[ ]+c9902573[ ]+csrr[ ]+a0,hpmcounter25h
+[ ]+[0-9a-f]+:[ ]+c9a02573[ ]+csrr[ ]+a0,hpmcounter26h
+[ ]+[0-9a-f]+:[ ]+c9b02573[ ]+csrr[ ]+a0,hpmcounter27h
+[ ]+[0-9a-f]+:[ ]+c9c02573[ ]+csrr[ ]+a0,hpmcounter28h
+[ ]+[0-9a-f]+:[ ]+c9d02573[ ]+csrr[ ]+a0,hpmcounter29h
+[ ]+[0-9a-f]+:[ ]+c9e02573[ ]+csrr[ ]+a0,hpmcounter30h
+[ ]+[0-9a-f]+:[ ]+c9f02573[ ]+csrr[ ]+a0,hpmcounter31h
+[ ]+[0-9a-f]+:[ ]+10002573[ ]+csrr[ ]+a0,sstatus
+[ ]+[0-9a-f]+:[ ]+10202573[ ]+csrr[ ]+a0,sedeleg
+[ ]+[0-9a-f]+:[ ]+10302573[ ]+csrr[ ]+a0,sideleg
+[ ]+[0-9a-f]+:[ ]+10402573[ ]+csrr[ ]+a0,sie
+[ ]+[0-9a-f]+:[ ]+10502573[ ]+csrr[ ]+a0,stvec
+[ ]+[0-9a-f]+:[ ]+10602573[ ]+csrr[ ]+a0,0x106
+[ ]+[0-9a-f]+:[ ]+14002573[ ]+csrr[ ]+a0,sscratch
+[ ]+[0-9a-f]+:[ ]+14102573[ ]+csrr[ ]+a0,sepc
+[ ]+[0-9a-f]+:[ ]+14202573[ ]+csrr[ ]+a0,scause
+[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,sbadaddr
+[ ]+[0-9a-f]+:[ ]+14402573[ ]+csrr[ ]+a0,sip
+[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,sptbr
+[ ]+[0-9a-f]+:[ ]+f1102573[ ]+csrr[ ]+a0,mvendorid
+[ ]+[0-9a-f]+:[ ]+f1202573[ ]+csrr[ ]+a0,marchid
+[ ]+[0-9a-f]+:[ ]+f1302573[ ]+csrr[ ]+a0,mimpid
+[ ]+[0-9a-f]+:[ ]+f1402573[ ]+csrr[ ]+a0,mhartid
+[ ]+[0-9a-f]+:[ ]+30002573[ ]+csrr[ ]+a0,mstatus
+[ ]+[0-9a-f]+:[ ]+f1002573[ ]+csrr[ ]+a0,misa
+[ ]+[0-9a-f]+:[ ]+30202573[ ]+csrr[ ]+a0,medeleg
+[ ]+[0-9a-f]+:[ ]+30302573[ ]+csrr[ ]+a0,mideleg
+[ ]+[0-9a-f]+:[ ]+30402573[ ]+csrr[ ]+a0,mie
+[ ]+[0-9a-f]+:[ ]+30502573[ ]+csrr[ ]+a0,mtvec
+[ ]+[0-9a-f]+:[ ]+30602573[ ]+csrr[ ]+a0,0x306
+[ ]+[0-9a-f]+:[ ]+34002573[ ]+csrr[ ]+a0,mscratch
+[ ]+[0-9a-f]+:[ ]+34102573[ ]+csrr[ ]+a0,mepc
+[ ]+[0-9a-f]+:[ ]+34202573[ ]+csrr[ ]+a0,mcause
+[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mbadaddr
+[ ]+[0-9a-f]+:[ ]+34402573[ ]+csrr[ ]+a0,mip
+[ ]+[0-9a-f]+:[ ]+3a002573[ ]+csrr[ ]+a0,0x3a0
+[ ]+[0-9a-f]+:[ ]+3a102573[ ]+csrr[ ]+a0,0x3a1
+[ ]+[0-9a-f]+:[ ]+3a202573[ ]+csrr[ ]+a0,0x3a2
+[ ]+[0-9a-f]+:[ ]+3a302573[ ]+csrr[ ]+a0,0x3a3
+[ ]+[0-9a-f]+:[ ]+3b002573[ ]+csrr[ ]+a0,0x3b0
+[ ]+[0-9a-f]+:[ ]+3b102573[ ]+csrr[ ]+a0,0x3b1
+[ ]+[0-9a-f]+:[ ]+3b202573[ ]+csrr[ ]+a0,0x3b2
+[ ]+[0-9a-f]+:[ ]+3b302573[ ]+csrr[ ]+a0,0x3b3
+[ ]+[0-9a-f]+:[ ]+3b402573[ ]+csrr[ ]+a0,0x3b4
+[ ]+[0-9a-f]+:[ ]+3b502573[ ]+csrr[ ]+a0,0x3b5
+[ ]+[0-9a-f]+:[ ]+3b602573[ ]+csrr[ ]+a0,0x3b6
+[ ]+[0-9a-f]+:[ ]+3b702573[ ]+csrr[ ]+a0,0x3b7
+[ ]+[0-9a-f]+:[ ]+3b802573[ ]+csrr[ ]+a0,0x3b8
+[ ]+[0-9a-f]+:[ ]+3b902573[ ]+csrr[ ]+a0,0x3b9
+[ ]+[0-9a-f]+:[ ]+3ba02573[ ]+csrr[ ]+a0,0x3ba
+[ ]+[0-9a-f]+:[ ]+3bb02573[ ]+csrr[ ]+a0,0x3bb
+[ ]+[0-9a-f]+:[ ]+3bc02573[ ]+csrr[ ]+a0,0x3bc
+[ ]+[0-9a-f]+:[ ]+3bd02573[ ]+csrr[ ]+a0,0x3bd
+[ ]+[0-9a-f]+:[ ]+3be02573[ ]+csrr[ ]+a0,0x3be
+[ ]+[0-9a-f]+:[ ]+3bf02573[ ]+csrr[ ]+a0,0x3bf
+[ ]+[0-9a-f]+:[ ]+b0002573[ ]+csrr[ ]+a0,mcycle
+[ ]+[0-9a-f]+:[ ]+b0202573[ ]+csrr[ ]+a0,minstret
+[ ]+[0-9a-f]+:[ ]+b0302573[ ]+csrr[ ]+a0,mhpmcounter3
+[ ]+[0-9a-f]+:[ ]+b0402573[ ]+csrr[ ]+a0,mhpmcounter4
+[ ]+[0-9a-f]+:[ ]+b0502573[ ]+csrr[ ]+a0,mhpmcounter5
+[ ]+[0-9a-f]+:[ ]+b0602573[ ]+csrr[ ]+a0,mhpmcounter6
+[ ]+[0-9a-f]+:[ ]+b0702573[ ]+csrr[ ]+a0,mhpmcounter7
+[ ]+[0-9a-f]+:[ ]+b0802573[ ]+csrr[ ]+a0,mhpmcounter8
+[ ]+[0-9a-f]+:[ ]+b0902573[ ]+csrr[ ]+a0,mhpmcounter9
+[ ]+[0-9a-f]+:[ ]+b0a02573[ ]+csrr[ ]+a0,mhpmcounter10
+[ ]+[0-9a-f]+:[ ]+b0b02573[ ]+csrr[ ]+a0,mhpmcounter11
+[ ]+[0-9a-f]+:[ ]+b0c02573[ ]+csrr[ ]+a0,mhpmcounter12
+[ ]+[0-9a-f]+:[ ]+b0d02573[ ]+csrr[ ]+a0,mhpmcounter13
+[ ]+[0-9a-f]+:[ ]+b0e02573[ ]+csrr[ ]+a0,mhpmcounter14
+[ ]+[0-9a-f]+:[ ]+b0f02573[ ]+csrr[ ]+a0,mhpmcounter15
+[ ]+[0-9a-f]+:[ ]+b1002573[ ]+csrr[ ]+a0,mhpmcounter16
+[ ]+[0-9a-f]+:[ ]+b1102573[ ]+csrr[ ]+a0,mhpmcounter17
+[ ]+[0-9a-f]+:[ ]+b1202573[ ]+csrr[ ]+a0,mhpmcounter18
+[ ]+[0-9a-f]+:[ ]+b1302573[ ]+csrr[ ]+a0,mhpmcounter19
+[ ]+[0-9a-f]+:[ ]+b1402573[ ]+csrr[ ]+a0,mhpmcounter20
+[ ]+[0-9a-f]+:[ ]+b1502573[ ]+csrr[ ]+a0,mhpmcounter21
+[ ]+[0-9a-f]+:[ ]+b1602573[ ]+csrr[ ]+a0,mhpmcounter22
+[ ]+[0-9a-f]+:[ ]+b1702573[ ]+csrr[ ]+a0,mhpmcounter23
+[ ]+[0-9a-f]+:[ ]+b1802573[ ]+csrr[ ]+a0,mhpmcounter24
+[ ]+[0-9a-f]+:[ ]+b1902573[ ]+csrr[ ]+a0,mhpmcounter25
+[ ]+[0-9a-f]+:[ ]+b1a02573[ ]+csrr[ ]+a0,mhpmcounter26
+[ ]+[0-9a-f]+:[ ]+b1b02573[ ]+csrr[ ]+a0,mhpmcounter27
+[ ]+[0-9a-f]+:[ ]+b1c02573[ ]+csrr[ ]+a0,mhpmcounter28
+[ ]+[0-9a-f]+:[ ]+b1d02573[ ]+csrr[ ]+a0,mhpmcounter29
+[ ]+[0-9a-f]+:[ ]+b1e02573[ ]+csrr[ ]+a0,mhpmcounter30
+[ ]+[0-9a-f]+:[ ]+b1f02573[ ]+csrr[ ]+a0,mhpmcounter31
+[ ]+[0-9a-f]+:[ ]+b8002573[ ]+csrr[ ]+a0,mcycleh
+[ ]+[0-9a-f]+:[ ]+b8202573[ ]+csrr[ ]+a0,minstreth
+[ ]+[0-9a-f]+:[ ]+b8302573[ ]+csrr[ ]+a0,mhpmcounter3h
+[ ]+[0-9a-f]+:[ ]+b8402573[ ]+csrr[ ]+a0,mhpmcounter4h
+[ ]+[0-9a-f]+:[ ]+b8502573[ ]+csrr[ ]+a0,mhpmcounter5h
+[ ]+[0-9a-f]+:[ ]+b8602573[ ]+csrr[ ]+a0,mhpmcounter6h
+[ ]+[0-9a-f]+:[ ]+b8702573[ ]+csrr[ ]+a0,mhpmcounter7h
+[ ]+[0-9a-f]+:[ ]+b8802573[ ]+csrr[ ]+a0,mhpmcounter8h
+[ ]+[0-9a-f]+:[ ]+b8902573[ ]+csrr[ ]+a0,mhpmcounter9h
+[ ]+[0-9a-f]+:[ ]+b8a02573[ ]+csrr[ ]+a0,mhpmcounter10h
+[ ]+[0-9a-f]+:[ ]+b8b02573[ ]+csrr[ ]+a0,mhpmcounter11h
+[ ]+[0-9a-f]+:[ ]+b8c02573[ ]+csrr[ ]+a0,mhpmcounter12h
+[ ]+[0-9a-f]+:[ ]+b8d02573[ ]+csrr[ ]+a0,mhpmcounter13h
+[ ]+[0-9a-f]+:[ ]+b8e02573[ ]+csrr[ ]+a0,mhpmcounter14h
+[ ]+[0-9a-f]+:[ ]+b8f02573[ ]+csrr[ ]+a0,mhpmcounter15h
+[ ]+[0-9a-f]+:[ ]+b9002573[ ]+csrr[ ]+a0,mhpmcounter16h
+[ ]+[0-9a-f]+:[ ]+b9102573[ ]+csrr[ ]+a0,mhpmcounter17h
+[ ]+[0-9a-f]+:[ ]+b9202573[ ]+csrr[ ]+a0,mhpmcounter18h
+[ ]+[0-9a-f]+:[ ]+b9302573[ ]+csrr[ ]+a0,mhpmcounter19h
+[ ]+[0-9a-f]+:[ ]+b9402573[ ]+csrr[ ]+a0,mhpmcounter20h
+[ ]+[0-9a-f]+:[ ]+b9502573[ ]+csrr[ ]+a0,mhpmcounter21h
+[ ]+[0-9a-f]+:[ ]+b9602573[ ]+csrr[ ]+a0,mhpmcounter22h
+[ ]+[0-9a-f]+:[ ]+b9702573[ ]+csrr[ ]+a0,mhpmcounter23h
+[ ]+[0-9a-f]+:[ ]+b9802573[ ]+csrr[ ]+a0,mhpmcounter24h
+[ ]+[0-9a-f]+:[ ]+b9902573[ ]+csrr[ ]+a0,mhpmcounter25h
+[ ]+[0-9a-f]+:[ ]+b9a02573[ ]+csrr[ ]+a0,mhpmcounter26h
+[ ]+[0-9a-f]+:[ ]+b9b02573[ ]+csrr[ ]+a0,mhpmcounter27h
+[ ]+[0-9a-f]+:[ ]+b9c02573[ ]+csrr[ ]+a0,mhpmcounter28h
+[ ]+[0-9a-f]+:[ ]+b9d02573[ ]+csrr[ ]+a0,mhpmcounter29h
+[ ]+[0-9a-f]+:[ ]+b9e02573[ ]+csrr[ ]+a0,mhpmcounter30h
+[ ]+[0-9a-f]+:[ ]+b9f02573[ ]+csrr[ ]+a0,mhpmcounter31h
+[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mucounteren
+[ ]+[0-9a-f]+:[ ]+32302573[ ]+csrr[ ]+a0,mhpmevent3
+[ ]+[0-9a-f]+:[ ]+32402573[ ]+csrr[ ]+a0,mhpmevent4
+[ ]+[0-9a-f]+:[ ]+32502573[ ]+csrr[ ]+a0,mhpmevent5
+[ ]+[0-9a-f]+:[ ]+32602573[ ]+csrr[ ]+a0,mhpmevent6
+[ ]+[0-9a-f]+:[ ]+32702573[ ]+csrr[ ]+a0,mhpmevent7
+[ ]+[0-9a-f]+:[ ]+32802573[ ]+csrr[ ]+a0,mhpmevent8
+[ ]+[0-9a-f]+:[ ]+32902573[ ]+csrr[ ]+a0,mhpmevent9
+[ ]+[0-9a-f]+:[ ]+32a02573[ ]+csrr[ ]+a0,mhpmevent10
+[ ]+[0-9a-f]+:[ ]+32b02573[ ]+csrr[ ]+a0,mhpmevent11
+[ ]+[0-9a-f]+:[ ]+32c02573[ ]+csrr[ ]+a0,mhpmevent12
+[ ]+[0-9a-f]+:[ ]+32d02573[ ]+csrr[ ]+a0,mhpmevent13
+[ ]+[0-9a-f]+:[ ]+32e02573[ ]+csrr[ ]+a0,mhpmevent14
+[ ]+[0-9a-f]+:[ ]+32f02573[ ]+csrr[ ]+a0,mhpmevent15
+[ ]+[0-9a-f]+:[ ]+33002573[ ]+csrr[ ]+a0,mhpmevent16
+[ ]+[0-9a-f]+:[ ]+33102573[ ]+csrr[ ]+a0,mhpmevent17
+[ ]+[0-9a-f]+:[ ]+33202573[ ]+csrr[ ]+a0,mhpmevent18
+[ ]+[0-9a-f]+:[ ]+33302573[ ]+csrr[ ]+a0,mhpmevent19
+[ ]+[0-9a-f]+:[ ]+33402573[ ]+csrr[ ]+a0,mhpmevent20
+[ ]+[0-9a-f]+:[ ]+33502573[ ]+csrr[ ]+a0,mhpmevent21
+[ ]+[0-9a-f]+:[ ]+33602573[ ]+csrr[ ]+a0,mhpmevent22
+[ ]+[0-9a-f]+:[ ]+33702573[ ]+csrr[ ]+a0,mhpmevent23
+[ ]+[0-9a-f]+:[ ]+33802573[ ]+csrr[ ]+a0,mhpmevent24
+[ ]+[0-9a-f]+:[ ]+33902573[ ]+csrr[ ]+a0,mhpmevent25
+[ ]+[0-9a-f]+:[ ]+33a02573[ ]+csrr[ ]+a0,mhpmevent26
+[ ]+[0-9a-f]+:[ ]+33b02573[ ]+csrr[ ]+a0,mhpmevent27
+[ ]+[0-9a-f]+:[ ]+33c02573[ ]+csrr[ ]+a0,mhpmevent28
+[ ]+[0-9a-f]+:[ ]+33d02573[ ]+csrr[ ]+a0,mhpmevent29
+[ ]+[0-9a-f]+:[ ]+33e02573[ ]+csrr[ ]+a0,mhpmevent30
+[ ]+[0-9a-f]+:[ ]+33f02573[ ]+csrr[ ]+a0,mhpmevent31
+[ ]+[0-9a-f]+:[ ]+7a002573[ ]+csrr[ ]+a0,tselect
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a202573[ ]+csrr[ ]+a0,tdata2
+[ ]+[0-9a-f]+:[ ]+7a302573[ ]+csrr[ ]+a0,tdata3
+[ ]+[0-9a-f]+:[ ]+7b002573[ ]+csrr[ ]+a0,dcsr
+[ ]+[0-9a-f]+:[ ]+7b102573[ ]+csrr[ ]+a0,dpc
+[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch
+[ ]+[0-9a-f]+:[ ]+7b302573[ ]+csrr[ ]+a0,0x7b3
+[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,ubadaddr
+[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,sbadaddr
+[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,sptbr
+[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mbadaddr
+[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mucounteren
+[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch
+[ ]+[0-9a-f]+:[ ]+20002573[ ]+csrr[ ]+a0,hstatus
+[ ]+[0-9a-f]+:[ ]+20202573[ ]+csrr[ ]+a0,hedeleg
+[ ]+[0-9a-f]+:[ ]+20302573[ ]+csrr[ ]+a0,hideleg
+[ ]+[0-9a-f]+:[ ]+20402573[ ]+csrr[ ]+a0,hie
+[ ]+[0-9a-f]+:[ ]+20502573[ ]+csrr[ ]+a0,htvec
+[ ]+[0-9a-f]+:[ ]+24002573[ ]+csrr[ ]+a0,hscratch
+[ ]+[0-9a-f]+:[ ]+24102573[ ]+csrr[ ]+a0,hepc
+[ ]+[0-9a-f]+:[ ]+24202573[ ]+csrr[ ]+a0,hcause
+[ ]+[0-9a-f]+:[ ]+24302573[ ]+csrr[ ]+a0,hbadaddr
+[ ]+[0-9a-f]+:[ ]+24402573[ ]+csrr[ ]+a0,hip
+[ ]+[0-9a-f]+:[ ]+38002573[ ]+csrr[ ]+a0,mbase
+[ ]+[0-9a-f]+:[ ]+38102573[ ]+csrr[ ]+a0,mbound
+[ ]+[0-9a-f]+:[ ]+38202573[ ]+csrr[ ]+a0,mibase
+[ ]+[0-9a-f]+:[ ]+38302573[ ]+csrr[ ]+a0,mibound
+[ ]+[0-9a-f]+:[ ]+38402573[ ]+csrr[ ]+a0,mdbase
+[ ]+[0-9a-f]+:[ ]+38502573[ ]+csrr[ ]+a0,mdbound
+[ ]+[0-9a-f]+:[ ]+32102573[ ]+csrr[ ]+a0,mscounteren
+[ ]+[0-9a-f]+:[ ]+32202573[ ]+csrr[ ]+a0,mhcounteren
diff --git a/gas/testsuite/gas/riscv/priv-reg-version-1p9p1.d b/gas/testsuite/gas/riscv/priv-reg-version-1p9p1.d
new file mode 100644
index 0000000000..61628037a6
--- /dev/null
+++ b/gas/testsuite/gas/riscv/priv-reg-version-1p9p1.d
@@ -0,0 +1,257 @@
+#as: -march=rv32if -mpriv-spec=1.9.1
+#source: priv-reg.s
+#objdump: -dr -Mpriv-spec=1.9.1
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+0+000 <.text>:
+[ ]+[0-9a-f]+:[ ]+00002573[ ]+csrr[ ]+a0,ustatus
+[ ]+[0-9a-f]+:[ ]+00402573[ ]+csrr[ ]+a0,uie
+[ ]+[0-9a-f]+:[ ]+00502573[ ]+csrr[ ]+a0,utvec
+[ ]+[0-9a-f]+:[ ]+04002573[ ]+csrr[ ]+a0,uscratch
+[ ]+[0-9a-f]+:[ ]+04102573[ ]+csrr[ ]+a0,uepc
+[ ]+[0-9a-f]+:[ ]+04202573[ ]+csrr[ ]+a0,ucause
+[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,ubadaddr
+[ ]+[0-9a-f]+:[ ]+04402573[ ]+csrr[ ]+a0,uip
+[ ]+[0-9a-f]+:[ ]+00102573[ ]+frflags[ ]+a0
+[ ]+[0-9a-f]+:[ ]+00202573[ ]+frrm[ ]+a0
+[ ]+[0-9a-f]+:[ ]+00302573[ ]+frcsr[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0002573[ ]+rdcycle[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0102573[ ]+rdtime[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0202573[ ]+rdinstret[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0302573[ ]+csrr[ ]+a0,hpmcounter3
+[ ]+[0-9a-f]+:[ ]+c0402573[ ]+csrr[ ]+a0,hpmcounter4
+[ ]+[0-9a-f]+:[ ]+c0502573[ ]+csrr[ ]+a0,hpmcounter5
+[ ]+[0-9a-f]+:[ ]+c0602573[ ]+csrr[ ]+a0,hpmcounter6
+[ ]+[0-9a-f]+:[ ]+c0702573[ ]+csrr[ ]+a0,hpmcounter7
+[ ]+[0-9a-f]+:[ ]+c0802573[ ]+csrr[ ]+a0,hpmcounter8
+[ ]+[0-9a-f]+:[ ]+c0902573[ ]+csrr[ ]+a0,hpmcounter9
+[ ]+[0-9a-f]+:[ ]+c0a02573[ ]+csrr[ ]+a0,hpmcounter10
+[ ]+[0-9a-f]+:[ ]+c0b02573[ ]+csrr[ ]+a0,hpmcounter11
+[ ]+[0-9a-f]+:[ ]+c0c02573[ ]+csrr[ ]+a0,hpmcounter12
+[ ]+[0-9a-f]+:[ ]+c0d02573[ ]+csrr[ ]+a0,hpmcounter13
+[ ]+[0-9a-f]+:[ ]+c0e02573[ ]+csrr[ ]+a0,hpmcounter14
+[ ]+[0-9a-f]+:[ ]+c0f02573[ ]+csrr[ ]+a0,hpmcounter15
+[ ]+[0-9a-f]+:[ ]+c1002573[ ]+csrr[ ]+a0,hpmcounter16
+[ ]+[0-9a-f]+:[ ]+c1102573[ ]+csrr[ ]+a0,hpmcounter17
+[ ]+[0-9a-f]+:[ ]+c1202573[ ]+csrr[ ]+a0,hpmcounter18
+[ ]+[0-9a-f]+:[ ]+c1302573[ ]+csrr[ ]+a0,hpmcounter19
+[ ]+[0-9a-f]+:[ ]+c1402573[ ]+csrr[ ]+a0,hpmcounter20
+[ ]+[0-9a-f]+:[ ]+c1502573[ ]+csrr[ ]+a0,hpmcounter21
+[ ]+[0-9a-f]+:[ ]+c1602573[ ]+csrr[ ]+a0,hpmcounter22
+[ ]+[0-9a-f]+:[ ]+c1702573[ ]+csrr[ ]+a0,hpmcounter23
+[ ]+[0-9a-f]+:[ ]+c1802573[ ]+csrr[ ]+a0,hpmcounter24
+[ ]+[0-9a-f]+:[ ]+c1902573[ ]+csrr[ ]+a0,hpmcounter25
+[ ]+[0-9a-f]+:[ ]+c1a02573[ ]+csrr[ ]+a0,hpmcounter26
+[ ]+[0-9a-f]+:[ ]+c1b02573[ ]+csrr[ ]+a0,hpmcounter27
+[ ]+[0-9a-f]+:[ ]+c1c02573[ ]+csrr[ ]+a0,hpmcounter28
+[ ]+[0-9a-f]+:[ ]+c1d02573[ ]+csrr[ ]+a0,hpmcounter29
+[ ]+[0-9a-f]+:[ ]+c1e02573[ ]+csrr[ ]+a0,hpmcounter30
+[ ]+[0-9a-f]+:[ ]+c1f02573[ ]+csrr[ ]+a0,hpmcounter31
+[ ]+[0-9a-f]+:[ ]+c8002573[ ]+rdcycleh[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8102573[ ]+rdtimeh[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8202573[ ]+rdinstreth[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c8302573[ ]+csrr[ ]+a0,hpmcounter3h
+[ ]+[0-9a-f]+:[ ]+c8402573[ ]+csrr[ ]+a0,hpmcounter4h
+[ ]+[0-9a-f]+:[ ]+c8502573[ ]+csrr[ ]+a0,hpmcounter5h
+[ ]+[0-9a-f]+:[ ]+c8602573[ ]+csrr[ ]+a0,hpmcounter6h
+[ ]+[0-9a-f]+:[ ]+c8702573[ ]+csrr[ ]+a0,hpmcounter7h
+[ ]+[0-9a-f]+:[ ]+c8802573[ ]+csrr[ ]+a0,hpmcounter8h
+[ ]+[0-9a-f]+:[ ]+c8902573[ ]+csrr[ ]+a0,hpmcounter9h
+[ ]+[0-9a-f]+:[ ]+c8a02573[ ]+csrr[ ]+a0,hpmcounter10h
+[ ]+[0-9a-f]+:[ ]+c8b02573[ ]+csrr[ ]+a0,hpmcounter11h
+[ ]+[0-9a-f]+:[ ]+c8c02573[ ]+csrr[ ]+a0,hpmcounter12h
+[ ]+[0-9a-f]+:[ ]+c8d02573[ ]+csrr[ ]+a0,hpmcounter13h
+[ ]+[0-9a-f]+:[ ]+c8e02573[ ]+csrr[ ]+a0,hpmcounter14h
+[ ]+[0-9a-f]+:[ ]+c8f02573[ ]+csrr[ ]+a0,hpmcounter15h
+[ ]+[0-9a-f]+:[ ]+c9002573[ ]+csrr[ ]+a0,hpmcounter16h
+[ ]+[0-9a-f]+:[ ]+c9102573[ ]+csrr[ ]+a0,hpmcounter17h
+[ ]+[0-9a-f]+:[ ]+c9202573[ ]+csrr[ ]+a0,hpmcounter18h
+[ ]+[0-9a-f]+:[ ]+c9302573[ ]+csrr[ ]+a0,hpmcounter19h
+[ ]+[0-9a-f]+:[ ]+c9402573[ ]+csrr[ ]+a0,hpmcounter20h
+[ ]+[0-9a-f]+:[ ]+c9502573[ ]+csrr[ ]+a0,hpmcounter21h
+[ ]+[0-9a-f]+:[ ]+c9602573[ ]+csrr[ ]+a0,hpmcounter22h
+[ ]+[0-9a-f]+:[ ]+c9702573[ ]+csrr[ ]+a0,hpmcounter23h
+[ ]+[0-9a-f]+:[ ]+c9802573[ ]+csrr[ ]+a0,hpmcounter24h
+[ ]+[0-9a-f]+:[ ]+c9902573[ ]+csrr[ ]+a0,hpmcounter25h
+[ ]+[0-9a-f]+:[ ]+c9a02573[ ]+csrr[ ]+a0,hpmcounter26h
+[ ]+[0-9a-f]+:[ ]+c9b02573[ ]+csrr[ ]+a0,hpmcounter27h
+[ ]+[0-9a-f]+:[ ]+c9c02573[ ]+csrr[ ]+a0,hpmcounter28h
+[ ]+[0-9a-f]+:[ ]+c9d02573[ ]+csrr[ ]+a0,hpmcounter29h
+[ ]+[0-9a-f]+:[ ]+c9e02573[ ]+csrr[ ]+a0,hpmcounter30h
+[ ]+[0-9a-f]+:[ ]+c9f02573[ ]+csrr[ ]+a0,hpmcounter31h
+[ ]+[0-9a-f]+:[ ]+10002573[ ]+csrr[ ]+a0,sstatus
+[ ]+[0-9a-f]+:[ ]+10202573[ ]+csrr[ ]+a0,sedeleg
+[ ]+[0-9a-f]+:[ ]+10302573[ ]+csrr[ ]+a0,sideleg
+[ ]+[0-9a-f]+:[ ]+10402573[ ]+csrr[ ]+a0,sie
+[ ]+[0-9a-f]+:[ ]+10502573[ ]+csrr[ ]+a0,stvec
+[ ]+[0-9a-f]+:[ ]+10602573[ ]+csrr[ ]+a0,0x106
+[ ]+[0-9a-f]+:[ ]+14002573[ ]+csrr[ ]+a0,sscratch
+[ ]+[0-9a-f]+:[ ]+14102573[ ]+csrr[ ]+a0,sepc
+[ ]+[0-9a-f]+:[ ]+14202573[ ]+csrr[ ]+a0,scause
+[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,sbadaddr
+[ ]+[0-9a-f]+:[ ]+14402573[ ]+csrr[ ]+a0,sip
+[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,sptbr
+[ ]+[0-9a-f]+:[ ]+f1102573[ ]+csrr[ ]+a0,mvendorid
+[ ]+[0-9a-f]+:[ ]+f1202573[ ]+csrr[ ]+a0,marchid
+[ ]+[0-9a-f]+:[ ]+f1302573[ ]+csrr[ ]+a0,mimpid
+[ ]+[0-9a-f]+:[ ]+f1402573[ ]+csrr[ ]+a0,mhartid
+[ ]+[0-9a-f]+:[ ]+30002573[ ]+csrr[ ]+a0,mstatus
+[ ]+[0-9a-f]+:[ ]+30102573[ ]+csrr[ ]+a0,misa
+[ ]+[0-9a-f]+:[ ]+30202573[ ]+csrr[ ]+a0,medeleg
+[ ]+[0-9a-f]+:[ ]+30302573[ ]+csrr[ ]+a0,mideleg
+[ ]+[0-9a-f]+:[ ]+30402573[ ]+csrr[ ]+a0,mie
+[ ]+[0-9a-f]+:[ ]+30502573[ ]+csrr[ ]+a0,mtvec
+[ ]+[0-9a-f]+:[ ]+30602573[ ]+csrr[ ]+a0,0x306
+[ ]+[0-9a-f]+:[ ]+34002573[ ]+csrr[ ]+a0,mscratch
+[ ]+[0-9a-f]+:[ ]+34102573[ ]+csrr[ ]+a0,mepc
+[ ]+[0-9a-f]+:[ ]+34202573[ ]+csrr[ ]+a0,mcause
+[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mbadaddr
+[ ]+[0-9a-f]+:[ ]+34402573[ ]+csrr[ ]+a0,mip
+[ ]+[0-9a-f]+:[ ]+3a002573[ ]+csrr[ ]+a0,0x3a0
+[ ]+[0-9a-f]+:[ ]+3a102573[ ]+csrr[ ]+a0,0x3a1
+[ ]+[0-9a-f]+:[ ]+3a202573[ ]+csrr[ ]+a0,0x3a2
+[ ]+[0-9a-f]+:[ ]+3a302573[ ]+csrr[ ]+a0,0x3a3
+[ ]+[0-9a-f]+:[ ]+3b002573[ ]+csrr[ ]+a0,0x3b0
+[ ]+[0-9a-f]+:[ ]+3b102573[ ]+csrr[ ]+a0,0x3b1
+[ ]+[0-9a-f]+:[ ]+3b202573[ ]+csrr[ ]+a0,0x3b2
+[ ]+[0-9a-f]+:[ ]+3b302573[ ]+csrr[ ]+a0,0x3b3
+[ ]+[0-9a-f]+:[ ]+3b402573[ ]+csrr[ ]+a0,0x3b4
+[ ]+[0-9a-f]+:[ ]+3b502573[ ]+csrr[ ]+a0,0x3b5
+[ ]+[0-9a-f]+:[ ]+3b602573[ ]+csrr[ ]+a0,0x3b6
+[ ]+[0-9a-f]+:[ ]+3b702573[ ]+csrr[ ]+a0,0x3b7
+[ ]+[0-9a-f]+:[ ]+3b802573[ ]+csrr[ ]+a0,0x3b8
+[ ]+[0-9a-f]+:[ ]+3b902573[ ]+csrr[ ]+a0,0x3b9
+[ ]+[0-9a-f]+:[ ]+3ba02573[ ]+csrr[ ]+a0,0x3ba
+[ ]+[0-9a-f]+:[ ]+3bb02573[ ]+csrr[ ]+a0,0x3bb
+[ ]+[0-9a-f]+:[ ]+3bc02573[ ]+csrr[ ]+a0,0x3bc
+[ ]+[0-9a-f]+:[ ]+3bd02573[ ]+csrr[ ]+a0,0x3bd
+[ ]+[0-9a-f]+:[ ]+3be02573[ ]+csrr[ ]+a0,0x3be
+[ ]+[0-9a-f]+:[ ]+3bf02573[ ]+csrr[ ]+a0,0x3bf
+[ ]+[0-9a-f]+:[ ]+b0002573[ ]+csrr[ ]+a0,mcycle
+[ ]+[0-9a-f]+:[ ]+b0202573[ ]+csrr[ ]+a0,minstret
+[ ]+[0-9a-f]+:[ ]+b0302573[ ]+csrr[ ]+a0,mhpmcounter3
+[ ]+[0-9a-f]+:[ ]+b0402573[ ]+csrr[ ]+a0,mhpmcounter4
+[ ]+[0-9a-f]+:[ ]+b0502573[ ]+csrr[ ]+a0,mhpmcounter5
+[ ]+[0-9a-f]+:[ ]+b0602573[ ]+csrr[ ]+a0,mhpmcounter6
+[ ]+[0-9a-f]+:[ ]+b0702573[ ]+csrr[ ]+a0,mhpmcounter7
+[ ]+[0-9a-f]+:[ ]+b0802573[ ]+csrr[ ]+a0,mhpmcounter8
+[ ]+[0-9a-f]+:[ ]+b0902573[ ]+csrr[ ]+a0,mhpmcounter9
+[ ]+[0-9a-f]+:[ ]+b0a02573[ ]+csrr[ ]+a0,mhpmcounter10
+[ ]+[0-9a-f]+:[ ]+b0b02573[ ]+csrr[ ]+a0,mhpmcounter11
+[ ]+[0-9a-f]+:[ ]+b0c02573[ ]+csrr[ ]+a0,mhpmcounter12
+[ ]+[0-9a-f]+:[ ]+b0d02573[ ]+csrr[ ]+a0,mhpmcounter13
+[ ]+[0-9a-f]+:[ ]+b0e02573[ ]+csrr[ ]+a0,mhpmcounter14
+[ ]+[0-9a-f]+:[ ]+b0f02573[ ]+csrr[ ]+a0,mhpmcounter15
+[ ]+[0-9a-f]+:[ ]+b1002573[ ]+csrr[ ]+a0,mhpmcounter16
+[ ]+[0-9a-f]+:[ ]+b1102573[ ]+csrr[ ]+a0,mhpmcounter17
+[ ]+[0-9a-f]+:[ ]+b1202573[ ]+csrr[ ]+a0,mhpmcounter18
+[ ]+[0-9a-f]+:[ ]+b1302573[ ]+csrr[ ]+a0,mhpmcounter19
+[ ]+[0-9a-f]+:[ ]+b1402573[ ]+csrr[ ]+a0,mhpmcounter20
+[ ]+[0-9a-f]+:[ ]+b1502573[ ]+csrr[ ]+a0,mhpmcounter21
+[ ]+[0-9a-f]+:[ ]+b1602573[ ]+csrr[ ]+a0,mhpmcounter22
+[ ]+[0-9a-f]+:[ ]+b1702573[ ]+csrr[ ]+a0,mhpmcounter23
+[ ]+[0-9a-f]+:[ ]+b1802573[ ]+csrr[ ]+a0,mhpmcounter24
+[ ]+[0-9a-f]+:[ ]+b1902573[ ]+csrr[ ]+a0,mhpmcounter25
+[ ]+[0-9a-f]+:[ ]+b1a02573[ ]+csrr[ ]+a0,mhpmcounter26
+[ ]+[0-9a-f]+:[ ]+b1b02573[ ]+csrr[ ]+a0,mhpmcounter27
+[ ]+[0-9a-f]+:[ ]+b1c02573[ ]+csrr[ ]+a0,mhpmcounter28
+[ ]+[0-9a-f]+:[ ]+b1d02573[ ]+csrr[ ]+a0,mhpmcounter29
+[ ]+[0-9a-f]+:[ ]+b1e02573[ ]+csrr[ ]+a0,mhpmcounter30
+[ ]+[0-9a-f]+:[ ]+b1f02573[ ]+csrr[ ]+a0,mhpmcounter31
+[ ]+[0-9a-f]+:[ ]+b8002573[ ]+csrr[ ]+a0,mcycleh
+[ ]+[0-9a-f]+:[ ]+b8202573[ ]+csrr[ ]+a0,minstreth
+[ ]+[0-9a-f]+:[ ]+b8302573[ ]+csrr[ ]+a0,mhpmcounter3h
+[ ]+[0-9a-f]+:[ ]+b8402573[ ]+csrr[ ]+a0,mhpmcounter4h
+[ ]+[0-9a-f]+:[ ]+b8502573[ ]+csrr[ ]+a0,mhpmcounter5h
+[ ]+[0-9a-f]+:[ ]+b8602573[ ]+csrr[ ]+a0,mhpmcounter6h
+[ ]+[0-9a-f]+:[ ]+b8702573[ ]+csrr[ ]+a0,mhpmcounter7h
+[ ]+[0-9a-f]+:[ ]+b8802573[ ]+csrr[ ]+a0,mhpmcounter8h
+[ ]+[0-9a-f]+:[ ]+b8902573[ ]+csrr[ ]+a0,mhpmcounter9h
+[ ]+[0-9a-f]+:[ ]+b8a02573[ ]+csrr[ ]+a0,mhpmcounter10h
+[ ]+[0-9a-f]+:[ ]+b8b02573[ ]+csrr[ ]+a0,mhpmcounter11h
+[ ]+[0-9a-f]+:[ ]+b8c02573[ ]+csrr[ ]+a0,mhpmcounter12h
+[ ]+[0-9a-f]+:[ ]+b8d02573[ ]+csrr[ ]+a0,mhpmcounter13h
+[ ]+[0-9a-f]+:[ ]+b8e02573[ ]+csrr[ ]+a0,mhpmcounter14h
+[ ]+[0-9a-f]+:[ ]+b8f02573[ ]+csrr[ ]+a0,mhpmcounter15h
+[ ]+[0-9a-f]+:[ ]+b9002573[ ]+csrr[ ]+a0,mhpmcounter16h
+[ ]+[0-9a-f]+:[ ]+b9102573[ ]+csrr[ ]+a0,mhpmcounter17h
+[ ]+[0-9a-f]+:[ ]+b9202573[ ]+csrr[ ]+a0,mhpmcounter18h
+[ ]+[0-9a-f]+:[ ]+b9302573[ ]+csrr[ ]+a0,mhpmcounter19h
+[ ]+[0-9a-f]+:[ ]+b9402573[ ]+csrr[ ]+a0,mhpmcounter20h
+[ ]+[0-9a-f]+:[ ]+b9502573[ ]+csrr[ ]+a0,mhpmcounter21h
+[ ]+[0-9a-f]+:[ ]+b9602573[ ]+csrr[ ]+a0,mhpmcounter22h
+[ ]+[0-9a-f]+:[ ]+b9702573[ ]+csrr[ ]+a0,mhpmcounter23h
+[ ]+[0-9a-f]+:[ ]+b9802573[ ]+csrr[ ]+a0,mhpmcounter24h
+[ ]+[0-9a-f]+:[ ]+b9902573[ ]+csrr[ ]+a0,mhpmcounter25h
+[ ]+[0-9a-f]+:[ ]+b9a02573[ ]+csrr[ ]+a0,mhpmcounter26h
+[ ]+[0-9a-f]+:[ ]+b9b02573[ ]+csrr[ ]+a0,mhpmcounter27h
+[ ]+[0-9a-f]+:[ ]+b9c02573[ ]+csrr[ ]+a0,mhpmcounter28h
+[ ]+[0-9a-f]+:[ ]+b9d02573[ ]+csrr[ ]+a0,mhpmcounter29h
+[ ]+[0-9a-f]+:[ ]+b9e02573[ ]+csrr[ ]+a0,mhpmcounter30h
+[ ]+[0-9a-f]+:[ ]+b9f02573[ ]+csrr[ ]+a0,mhpmcounter31h
+[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mucounteren
+[ ]+[0-9a-f]+:[ ]+32302573[ ]+csrr[ ]+a0,mhpmevent3
+[ ]+[0-9a-f]+:[ ]+32402573[ ]+csrr[ ]+a0,mhpmevent4
+[ ]+[0-9a-f]+:[ ]+32502573[ ]+csrr[ ]+a0,mhpmevent5
+[ ]+[0-9a-f]+:[ ]+32602573[ ]+csrr[ ]+a0,mhpmevent6
+[ ]+[0-9a-f]+:[ ]+32702573[ ]+csrr[ ]+a0,mhpmevent7
+[ ]+[0-9a-f]+:[ ]+32802573[ ]+csrr[ ]+a0,mhpmevent8
+[ ]+[0-9a-f]+:[ ]+32902573[ ]+csrr[ ]+a0,mhpmevent9
+[ ]+[0-9a-f]+:[ ]+32a02573[ ]+csrr[ ]+a0,mhpmevent10
+[ ]+[0-9a-f]+:[ ]+32b02573[ ]+csrr[ ]+a0,mhpmevent11
+[ ]+[0-9a-f]+:[ ]+32c02573[ ]+csrr[ ]+a0,mhpmevent12
+[ ]+[0-9a-f]+:[ ]+32d02573[ ]+csrr[ ]+a0,mhpmevent13
+[ ]+[0-9a-f]+:[ ]+32e02573[ ]+csrr[ ]+a0,mhpmevent14
+[ ]+[0-9a-f]+:[ ]+32f02573[ ]+csrr[ ]+a0,mhpmevent15
+[ ]+[0-9a-f]+:[ ]+33002573[ ]+csrr[ ]+a0,mhpmevent16
+[ ]+[0-9a-f]+:[ ]+33102573[ ]+csrr[ ]+a0,mhpmevent17
+[ ]+[0-9a-f]+:[ ]+33202573[ ]+csrr[ ]+a0,mhpmevent18
+[ ]+[0-9a-f]+:[ ]+33302573[ ]+csrr[ ]+a0,mhpmevent19
+[ ]+[0-9a-f]+:[ ]+33402573[ ]+csrr[ ]+a0,mhpmevent20
+[ ]+[0-9a-f]+:[ ]+33502573[ ]+csrr[ ]+a0,mhpmevent21
+[ ]+[0-9a-f]+:[ ]+33602573[ ]+csrr[ ]+a0,mhpmevent22
+[ ]+[0-9a-f]+:[ ]+33702573[ ]+csrr[ ]+a0,mhpmevent23
+[ ]+[0-9a-f]+:[ ]+33802573[ ]+csrr[ ]+a0,mhpmevent24
+[ ]+[0-9a-f]+:[ ]+33902573[ ]+csrr[ ]+a0,mhpmevent25
+[ ]+[0-9a-f]+:[ ]+33a02573[ ]+csrr[ ]+a0,mhpmevent26
+[ ]+[0-9a-f]+:[ ]+33b02573[ ]+csrr[ ]+a0,mhpmevent27
+[ ]+[0-9a-f]+:[ ]+33c02573[ ]+csrr[ ]+a0,mhpmevent28
+[ ]+[0-9a-f]+:[ ]+33d02573[ ]+csrr[ ]+a0,mhpmevent29
+[ ]+[0-9a-f]+:[ ]+33e02573[ ]+csrr[ ]+a0,mhpmevent30
+[ ]+[0-9a-f]+:[ ]+33f02573[ ]+csrr[ ]+a0,mhpmevent31
+[ ]+[0-9a-f]+:[ ]+7a002573[ ]+csrr[ ]+a0,tselect
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a202573[ ]+csrr[ ]+a0,tdata2
+[ ]+[0-9a-f]+:[ ]+7a302573[ ]+csrr[ ]+a0,tdata3
+[ ]+[0-9a-f]+:[ ]+7b002573[ ]+csrr[ ]+a0,dcsr
+[ ]+[0-9a-f]+:[ ]+7b102573[ ]+csrr[ ]+a0,dpc
+[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch
+[ ]+[0-9a-f]+:[ ]+7b302573[ ]+csrr[ ]+a0,0x7b3
+[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,ubadaddr
+[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,sbadaddr
+[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,sptbr
+[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mbadaddr
+[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mucounteren
+[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch
+[ ]+[0-9a-f]+:[ ]+20002573[ ]+csrr[ ]+a0,hstatus
+[ ]+[0-9a-f]+:[ ]+20202573[ ]+csrr[ ]+a0,hedeleg
+[ ]+[0-9a-f]+:[ ]+20302573[ ]+csrr[ ]+a0,hideleg
+[ ]+[0-9a-f]+:[ ]+20402573[ ]+csrr[ ]+a0,hie
+[ ]+[0-9a-f]+:[ ]+20502573[ ]+csrr[ ]+a0,htvec
+[ ]+[0-9a-f]+:[ ]+24002573[ ]+csrr[ ]+a0,hscratch
+[ ]+[0-9a-f]+:[ ]+24102573[ ]+csrr[ ]+a0,hepc
+[ ]+[0-9a-f]+:[ ]+24202573[ ]+csrr[ ]+a0,hcause
+[ ]+[0-9a-f]+:[ ]+24302573[ ]+csrr[ ]+a0,hbadaddr
+[ ]+[0-9a-f]+:[ ]+24402573[ ]+csrr[ ]+a0,hip
+[ ]+[0-9a-f]+:[ ]+38002573[ ]+csrr[ ]+a0,mbase
+[ ]+[0-9a-f]+:[ ]+38102573[ ]+csrr[ ]+a0,mbound
+[ ]+[0-9a-f]+:[ ]+38202573[ ]+csrr[ ]+a0,mibase
+[ ]+[0-9a-f]+:[ ]+38302573[ ]+csrr[ ]+a0,mibound
+[ ]+[0-9a-f]+:[ ]+38402573[ ]+csrr[ ]+a0,mdbase
+[ ]+[0-9a-f]+:[ ]+38502573[ ]+csrr[ ]+a0,mdbound
+[ ]+[0-9a-f]+:[ ]+32102573[ ]+csrr[ ]+a0,mscounteren
+[ ]+[0-9a-f]+:[ ]+32202573[ ]+csrr[ ]+a0,mhcounteren
diff --git a/gas/testsuite/gas/riscv/priv-reg.d b/gas/testsuite/gas/riscv/priv-reg.d
deleted file mode 100644
index 8fc41d22aa..0000000000
--- a/gas/testsuite/gas/riscv/priv-reg.d
+++ /dev/null
@@ -1,256 +0,0 @@
-#as: -march=rv32if
-#objdump: -dr
-
-.*:[ ]+file format .*
-
-
-Disassembly of section .text:
-
-0+000 <.text>:
-[ ]+[0-9a-f]+:[ ]+00002573[ ]+csrr[ ]+a0,ustatus
-[ ]+[0-9a-f]+:[ ]+00402573[ ]+csrr[ ]+a0,uie
-[ ]+[0-9a-f]+:[ ]+00502573[ ]+csrr[ ]+a0,utvec
-[ ]+[0-9a-f]+:[ ]+04002573[ ]+csrr[ ]+a0,uscratch
-[ ]+[0-9a-f]+:[ ]+04102573[ ]+csrr[ ]+a0,uepc
-[ ]+[0-9a-f]+:[ ]+04202573[ ]+csrr[ ]+a0,ucause
-[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,utval
-[ ]+[0-9a-f]+:[ ]+04402573[ ]+csrr[ ]+a0,uip
-[ ]+[0-9a-f]+:[ ]+00102573[ ]+frflags[ ]+a0
-[ ]+[0-9a-f]+:[ ]+00202573[ ]+frrm[ ]+a0
-[ ]+[0-9a-f]+:[ ]+00302573[ ]+frcsr[ ]+a0
-[ ]+[0-9a-f]+:[ ]+c0002573[ ]+rdcycle[ ]+a0
-[ ]+[0-9a-f]+:[ ]+c0102573[ ]+rdtime[ ]+a0
-[ ]+[0-9a-f]+:[ ]+c0202573[ ]+rdinstret[ ]+a0
-[ ]+[0-9a-f]+:[ ]+c0302573[ ]+csrr[ ]+a0,hpmcounter3
-[ ]+[0-9a-f]+:[ ]+c0402573[ ]+csrr[ ]+a0,hpmcounter4
-[ ]+[0-9a-f]+:[ ]+c0502573[ ]+csrr[ ]+a0,hpmcounter5
-[ ]+[0-9a-f]+:[ ]+c0602573[ ]+csrr[ ]+a0,hpmcounter6
-[ ]+[0-9a-f]+:[ ]+c0702573[ ]+csrr[ ]+a0,hpmcounter7
-[ ]+[0-9a-f]+:[ ]+c0802573[ ]+csrr[ ]+a0,hpmcounter8
-[ ]+[0-9a-f]+:[ ]+c0902573[ ]+csrr[ ]+a0,hpmcounter9
-[ ]+[0-9a-f]+:[ ]+c0a02573[ ]+csrr[ ]+a0,hpmcounter10
-[ ]+[0-9a-f]+:[ ]+c0b02573[ ]+csrr[ ]+a0,hpmcounter11
-[ ]+[0-9a-f]+:[ ]+c0c02573[ ]+csrr[ ]+a0,hpmcounter12
-[ ]+[0-9a-f]+:[ ]+c0d02573[ ]+csrr[ ]+a0,hpmcounter13
-[ ]+[0-9a-f]+:[ ]+c0e02573[ ]+csrr[ ]+a0,hpmcounter14
-[ ]+[0-9a-f]+:[ ]+c0f02573[ ]+csrr[ ]+a0,hpmcounter15
-[ ]+[0-9a-f]+:[ ]+c1002573[ ]+csrr[ ]+a0,hpmcounter16
-[ ]+[0-9a-f]+:[ ]+c1102573[ ]+csrr[ ]+a0,hpmcounter17
-[ ]+[0-9a-f]+:[ ]+c1202573[ ]+csrr[ ]+a0,hpmcounter18
-[ ]+[0-9a-f]+:[ ]+c1302573[ ]+csrr[ ]+a0,hpmcounter19
-[ ]+[0-9a-f]+:[ ]+c1402573[ ]+csrr[ ]+a0,hpmcounter20
-[ ]+[0-9a-f]+:[ ]+c1502573[ ]+csrr[ ]+a0,hpmcounter21
-[ ]+[0-9a-f]+:[ ]+c1602573[ ]+csrr[ ]+a0,hpmcounter22
-[ ]+[0-9a-f]+:[ ]+c1702573[ ]+csrr[ ]+a0,hpmcounter23
-[ ]+[0-9a-f]+:[ ]+c1802573[ ]+csrr[ ]+a0,hpmcounter24
-[ ]+[0-9a-f]+:[ ]+c1902573[ ]+csrr[ ]+a0,hpmcounter25
-[ ]+[0-9a-f]+:[ ]+c1a02573[ ]+csrr[ ]+a0,hpmcounter26
-[ ]+[0-9a-f]+:[ ]+c1b02573[ ]+csrr[ ]+a0,hpmcounter27
-[ ]+[0-9a-f]+:[ ]+c1c02573[ ]+csrr[ ]+a0,hpmcounter28
-[ ]+[0-9a-f]+:[ ]+c1d02573[ ]+csrr[ ]+a0,hpmcounter29
-[ ]+[0-9a-f]+:[ ]+c1e02573[ ]+csrr[ ]+a0,hpmcounter30
-[ ]+[0-9a-f]+:[ ]+c1f02573[ ]+csrr[ ]+a0,hpmcounter31
-[ ]+[0-9a-f]+:[ ]+c8002573[ ]+rdcycleh[ ]+a0
-[ ]+[0-9a-f]+:[ ]+c8102573[ ]+rdtimeh[ ]+a0
-[ ]+[0-9a-f]+:[ ]+c8202573[ ]+rdinstreth[ ]+a0
-[ ]+[0-9a-f]+:[ ]+c8302573[ ]+csrr[ ]+a0,hpmcounter3h
-[ ]+[0-9a-f]+:[ ]+c8402573[ ]+csrr[ ]+a0,hpmcounter4h
-[ ]+[0-9a-f]+:[ ]+c8502573[ ]+csrr[ ]+a0,hpmcounter5h
-[ ]+[0-9a-f]+:[ ]+c8602573[ ]+csrr[ ]+a0,hpmcounter6h
-[ ]+[0-9a-f]+:[ ]+c8702573[ ]+csrr[ ]+a0,hpmcounter7h
-[ ]+[0-9a-f]+:[ ]+c8802573[ ]+csrr[ ]+a0,hpmcounter8h
-[ ]+[0-9a-f]+:[ ]+c8902573[ ]+csrr[ ]+a0,hpmcounter9h
-[ ]+[0-9a-f]+:[ ]+c8a02573[ ]+csrr[ ]+a0,hpmcounter10h
-[ ]+[0-9a-f]+:[ ]+c8b02573[ ]+csrr[ ]+a0,hpmcounter11h
-[ ]+[0-9a-f]+:[ ]+c8c02573[ ]+csrr[ ]+a0,hpmcounter12h
-[ ]+[0-9a-f]+:[ ]+c8d02573[ ]+csrr[ ]+a0,hpmcounter13h
-[ ]+[0-9a-f]+:[ ]+c8e02573[ ]+csrr[ ]+a0,hpmcounter14h
-[ ]+[0-9a-f]+:[ ]+c8f02573[ ]+csrr[ ]+a0,hpmcounter15h
-[ ]+[0-9a-f]+:[ ]+c9002573[ ]+csrr[ ]+a0,hpmcounter16h
-[ ]+[0-9a-f]+:[ ]+c9102573[ ]+csrr[ ]+a0,hpmcounter17h
-[ ]+[0-9a-f]+:[ ]+c9202573[ ]+csrr[ ]+a0,hpmcounter18h
-[ ]+[0-9a-f]+:[ ]+c9302573[ ]+csrr[ ]+a0,hpmcounter19h
-[ ]+[0-9a-f]+:[ ]+c9402573[ ]+csrr[ ]+a0,hpmcounter20h
-[ ]+[0-9a-f]+:[ ]+c9502573[ ]+csrr[ ]+a0,hpmcounter21h
-[ ]+[0-9a-f]+:[ ]+c9602573[ ]+csrr[ ]+a0,hpmcounter22h
-[ ]+[0-9a-f]+:[ ]+c9702573[ ]+csrr[ ]+a0,hpmcounter23h
-[ ]+[0-9a-f]+:[ ]+c9802573[ ]+csrr[ ]+a0,hpmcounter24h
-[ ]+[0-9a-f]+:[ ]+c9902573[ ]+csrr[ ]+a0,hpmcounter25h
-[ ]+[0-9a-f]+:[ ]+c9a02573[ ]+csrr[ ]+a0,hpmcounter26h
-[ ]+[0-9a-f]+:[ ]+c9b02573[ ]+csrr[ ]+a0,hpmcounter27h
-[ ]+[0-9a-f]+:[ ]+c9c02573[ ]+csrr[ ]+a0,hpmcounter28h
-[ ]+[0-9a-f]+:[ ]+c9d02573[ ]+csrr[ ]+a0,hpmcounter29h
-[ ]+[0-9a-f]+:[ ]+c9e02573[ ]+csrr[ ]+a0,hpmcounter30h
-[ ]+[0-9a-f]+:[ ]+c9f02573[ ]+csrr[ ]+a0,hpmcounter31h
-[ ]+[0-9a-f]+:[ ]+10002573[ ]+csrr[ ]+a0,sstatus
-[ ]+[0-9a-f]+:[ ]+10202573[ ]+csrr[ ]+a0,sedeleg
-[ ]+[0-9a-f]+:[ ]+10302573[ ]+csrr[ ]+a0,sideleg
-[ ]+[0-9a-f]+:[ ]+10402573[ ]+csrr[ ]+a0,sie
-[ ]+[0-9a-f]+:[ ]+10502573[ ]+csrr[ ]+a0,stvec
-[ ]+[0-9a-f]+:[ ]+10602573[ ]+csrr[ ]+a0,scounteren
-[ ]+[0-9a-f]+:[ ]+14002573[ ]+csrr[ ]+a0,sscratch
-[ ]+[0-9a-f]+:[ ]+14102573[ ]+csrr[ ]+a0,sepc
-[ ]+[0-9a-f]+:[ ]+14202573[ ]+csrr[ ]+a0,scause
-[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,stval
-[ ]+[0-9a-f]+:[ ]+14402573[ ]+csrr[ ]+a0,sip
-[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,satp
-[ ]+[0-9a-f]+:[ ]+f1102573[ ]+csrr[ ]+a0,mvendorid
-[ ]+[0-9a-f]+:[ ]+f1202573[ ]+csrr[ ]+a0,marchid
-[ ]+[0-9a-f]+:[ ]+f1302573[ ]+csrr[ ]+a0,mimpid
-[ ]+[0-9a-f]+:[ ]+f1402573[ ]+csrr[ ]+a0,mhartid
-[ ]+[0-9a-f]+:[ ]+30002573[ ]+csrr[ ]+a0,mstatus
-[ ]+[0-9a-f]+:[ ]+30102573[ ]+csrr[ ]+a0,misa
-[ ]+[0-9a-f]+:[ ]+30202573[ ]+csrr[ ]+a0,medeleg
-[ ]+[0-9a-f]+:[ ]+30302573[ ]+csrr[ ]+a0,mideleg
-[ ]+[0-9a-f]+:[ ]+30402573[ ]+csrr[ ]+a0,mie
-[ ]+[0-9a-f]+:[ ]+30502573[ ]+csrr[ ]+a0,mtvec
-[ ]+[0-9a-f]+:[ ]+30602573[ ]+csrr[ ]+a0,mcounteren
-[ ]+[0-9a-f]+:[ ]+34002573[ ]+csrr[ ]+a0,mscratch
-[ ]+[0-9a-f]+:[ ]+34102573[ ]+csrr[ ]+a0,mepc
-[ ]+[0-9a-f]+:[ ]+34202573[ ]+csrr[ ]+a0,mcause
-[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mtval
-[ ]+[0-9a-f]+:[ ]+34402573[ ]+csrr[ ]+a0,mip
-[ ]+[0-9a-f]+:[ ]+3a002573[ ]+csrr[ ]+a0,pmpcfg0
-[ ]+[0-9a-f]+:[ ]+3a102573[ ]+csrr[ ]+a0,pmpcfg1
-[ ]+[0-9a-f]+:[ ]+3a202573[ ]+csrr[ ]+a0,pmpcfg2
-[ ]+[0-9a-f]+:[ ]+3a302573[ ]+csrr[ ]+a0,pmpcfg3
-[ ]+[0-9a-f]+:[ ]+3b002573[ ]+csrr[ ]+a0,pmpaddr0
-[ ]+[0-9a-f]+:[ ]+3b102573[ ]+csrr[ ]+a0,pmpaddr1
-[ ]+[0-9a-f]+:[ ]+3b202573[ ]+csrr[ ]+a0,pmpaddr2
-[ ]+[0-9a-f]+:[ ]+3b302573[ ]+csrr[ ]+a0,pmpaddr3
-[ ]+[0-9a-f]+:[ ]+3b402573[ ]+csrr[ ]+a0,pmpaddr4
-[ ]+[0-9a-f]+:[ ]+3b502573[ ]+csrr[ ]+a0,pmpaddr5
-[ ]+[0-9a-f]+:[ ]+3b602573[ ]+csrr[ ]+a0,pmpaddr6
-[ ]+[0-9a-f]+:[ ]+3b702573[ ]+csrr[ ]+a0,pmpaddr7
-[ ]+[0-9a-f]+:[ ]+3b802573[ ]+csrr[ ]+a0,pmpaddr8
-[ ]+[0-9a-f]+:[ ]+3b902573[ ]+csrr[ ]+a0,pmpaddr9
-[ ]+[0-9a-f]+:[ ]+3ba02573[ ]+csrr[ ]+a0,pmpaddr10
-[ ]+[0-9a-f]+:[ ]+3bb02573[ ]+csrr[ ]+a0,pmpaddr11
-[ ]+[0-9a-f]+:[ ]+3bc02573[ ]+csrr[ ]+a0,pmpaddr12
-[ ]+[0-9a-f]+:[ ]+3bd02573[ ]+csrr[ ]+a0,pmpaddr13
-[ ]+[0-9a-f]+:[ ]+3be02573[ ]+csrr[ ]+a0,pmpaddr14
-[ ]+[0-9a-f]+:[ ]+3bf02573[ ]+csrr[ ]+a0,pmpaddr15
-[ ]+[0-9a-f]+:[ ]+b0002573[ ]+csrr[ ]+a0,mcycle
-[ ]+[0-9a-f]+:[ ]+b0202573[ ]+csrr[ ]+a0,minstret
-[ ]+[0-9a-f]+:[ ]+b0302573[ ]+csrr[ ]+a0,mhpmcounter3
-[ ]+[0-9a-f]+:[ ]+b0402573[ ]+csrr[ ]+a0,mhpmcounter4
-[ ]+[0-9a-f]+:[ ]+b0502573[ ]+csrr[ ]+a0,mhpmcounter5
-[ ]+[0-9a-f]+:[ ]+b0602573[ ]+csrr[ ]+a0,mhpmcounter6
-[ ]+[0-9a-f]+:[ ]+b0702573[ ]+csrr[ ]+a0,mhpmcounter7
-[ ]+[0-9a-f]+:[ ]+b0802573[ ]+csrr[ ]+a0,mhpmcounter8
-[ ]+[0-9a-f]+:[ ]+b0902573[ ]+csrr[ ]+a0,mhpmcounter9
-[ ]+[0-9a-f]+:[ ]+b0a02573[ ]+csrr[ ]+a0,mhpmcounter10
-[ ]+[0-9a-f]+:[ ]+b0b02573[ ]+csrr[ ]+a0,mhpmcounter11
-[ ]+[0-9a-f]+:[ ]+b0c02573[ ]+csrr[ ]+a0,mhpmcounter12
-[ ]+[0-9a-f]+:[ ]+b0d02573[ ]+csrr[ ]+a0,mhpmcounter13
-[ ]+[0-9a-f]+:[ ]+b0e02573[ ]+csrr[ ]+a0,mhpmcounter14
-[ ]+[0-9a-f]+:[ ]+b0f02573[ ]+csrr[ ]+a0,mhpmcounter15
-[ ]+[0-9a-f]+:[ ]+b1002573[ ]+csrr[ ]+a0,mhpmcounter16
-[ ]+[0-9a-f]+:[ ]+b1102573[ ]+csrr[ ]+a0,mhpmcounter17
-[ ]+[0-9a-f]+:[ ]+b1202573[ ]+csrr[ ]+a0,mhpmcounter18
-[ ]+[0-9a-f]+:[ ]+b1302573[ ]+csrr[ ]+a0,mhpmcounter19
-[ ]+[0-9a-f]+:[ ]+b1402573[ ]+csrr[ ]+a0,mhpmcounter20
-[ ]+[0-9a-f]+:[ ]+b1502573[ ]+csrr[ ]+a0,mhpmcounter21
-[ ]+[0-9a-f]+:[ ]+b1602573[ ]+csrr[ ]+a0,mhpmcounter22
-[ ]+[0-9a-f]+:[ ]+b1702573[ ]+csrr[ ]+a0,mhpmcounter23
-[ ]+[0-9a-f]+:[ ]+b1802573[ ]+csrr[ ]+a0,mhpmcounter24
-[ ]+[0-9a-f]+:[ ]+b1902573[ ]+csrr[ ]+a0,mhpmcounter25
-[ ]+[0-9a-f]+:[ ]+b1a02573[ ]+csrr[ ]+a0,mhpmcounter26
-[ ]+[0-9a-f]+:[ ]+b1b02573[ ]+csrr[ ]+a0,mhpmcounter27
-[ ]+[0-9a-f]+:[ ]+b1c02573[ ]+csrr[ ]+a0,mhpmcounter28
-[ ]+[0-9a-f]+:[ ]+b1d02573[ ]+csrr[ ]+a0,mhpmcounter29
-[ ]+[0-9a-f]+:[ ]+b1e02573[ ]+csrr[ ]+a0,mhpmcounter30
-[ ]+[0-9a-f]+:[ ]+b1f02573[ ]+csrr[ ]+a0,mhpmcounter31
-[ ]+[0-9a-f]+:[ ]+b8002573[ ]+csrr[ ]+a0,mcycleh
-[ ]+[0-9a-f]+:[ ]+b8202573[ ]+csrr[ ]+a0,minstreth
-[ ]+[0-9a-f]+:[ ]+b8302573[ ]+csrr[ ]+a0,mhpmcounter3h
-[ ]+[0-9a-f]+:[ ]+b8402573[ ]+csrr[ ]+a0,mhpmcounter4h
-[ ]+[0-9a-f]+:[ ]+b8502573[ ]+csrr[ ]+a0,mhpmcounter5h
-[ ]+[0-9a-f]+:[ ]+b8602573[ ]+csrr[ ]+a0,mhpmcounter6h
-[ ]+[0-9a-f]+:[ ]+b8702573[ ]+csrr[ ]+a0,mhpmcounter7h
-[ ]+[0-9a-f]+:[ ]+b8802573[ ]+csrr[ ]+a0,mhpmcounter8h
-[ ]+[0-9a-f]+:[ ]+b8902573[ ]+csrr[ ]+a0,mhpmcounter9h
-[ ]+[0-9a-f]+:[ ]+b8a02573[ ]+csrr[ ]+a0,mhpmcounter10h
-[ ]+[0-9a-f]+:[ ]+b8b02573[ ]+csrr[ ]+a0,mhpmcounter11h
-[ ]+[0-9a-f]+:[ ]+b8c02573[ ]+csrr[ ]+a0,mhpmcounter12h
-[ ]+[0-9a-f]+:[ ]+b8d02573[ ]+csrr[ ]+a0,mhpmcounter13h
-[ ]+[0-9a-f]+:[ ]+b8e02573[ ]+csrr[ ]+a0,mhpmcounter14h
-[ ]+[0-9a-f]+:[ ]+b8f02573[ ]+csrr[ ]+a0,mhpmcounter15h
-[ ]+[0-9a-f]+:[ ]+b9002573[ ]+csrr[ ]+a0,mhpmcounter16h
-[ ]+[0-9a-f]+:[ ]+b9102573[ ]+csrr[ ]+a0,mhpmcounter17h
-[ ]+[0-9a-f]+:[ ]+b9202573[ ]+csrr[ ]+a0,mhpmcounter18h
-[ ]+[0-9a-f]+:[ ]+b9302573[ ]+csrr[ ]+a0,mhpmcounter19h
-[ ]+[0-9a-f]+:[ ]+b9402573[ ]+csrr[ ]+a0,mhpmcounter20h
-[ ]+[0-9a-f]+:[ ]+b9502573[ ]+csrr[ ]+a0,mhpmcounter21h
-[ ]+[0-9a-f]+:[ ]+b9602573[ ]+csrr[ ]+a0,mhpmcounter22h
-[ ]+[0-9a-f]+:[ ]+b9702573[ ]+csrr[ ]+a0,mhpmcounter23h
-[ ]+[0-9a-f]+:[ ]+b9802573[ ]+csrr[ ]+a0,mhpmcounter24h
-[ ]+[0-9a-f]+:[ ]+b9902573[ ]+csrr[ ]+a0,mhpmcounter25h
-[ ]+[0-9a-f]+:[ ]+b9a02573[ ]+csrr[ ]+a0,mhpmcounter26h
-[ ]+[0-9a-f]+:[ ]+b9b02573[ ]+csrr[ ]+a0,mhpmcounter27h
-[ ]+[0-9a-f]+:[ ]+b9c02573[ ]+csrr[ ]+a0,mhpmcounter28h
-[ ]+[0-9a-f]+:[ ]+b9d02573[ ]+csrr[ ]+a0,mhpmcounter29h
-[ ]+[0-9a-f]+:[ ]+b9e02573[ ]+csrr[ ]+a0,mhpmcounter30h
-[ ]+[0-9a-f]+:[ ]+b9f02573[ ]+csrr[ ]+a0,mhpmcounter31h
-[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mcountinhibit
-[ ]+[0-9a-f]+:[ ]+32302573[ ]+csrr[ ]+a0,mhpmevent3
-[ ]+[0-9a-f]+:[ ]+32402573[ ]+csrr[ ]+a0,mhpmevent4
-[ ]+[0-9a-f]+:[ ]+32502573[ ]+csrr[ ]+a0,mhpmevent5
-[ ]+[0-9a-f]+:[ ]+32602573[ ]+csrr[ ]+a0,mhpmevent6
-[ ]+[0-9a-f]+:[ ]+32702573[ ]+csrr[ ]+a0,mhpmevent7
-[ ]+[0-9a-f]+:[ ]+32802573[ ]+csrr[ ]+a0,mhpmevent8
-[ ]+[0-9a-f]+:[ ]+32902573[ ]+csrr[ ]+a0,mhpmevent9
-[ ]+[0-9a-f]+:[ ]+32a02573[ ]+csrr[ ]+a0,mhpmevent10
-[ ]+[0-9a-f]+:[ ]+32b02573[ ]+csrr[ ]+a0,mhpmevent11
-[ ]+[0-9a-f]+:[ ]+32c02573[ ]+csrr[ ]+a0,mhpmevent12
-[ ]+[0-9a-f]+:[ ]+32d02573[ ]+csrr[ ]+a0,mhpmevent13
-[ ]+[0-9a-f]+:[ ]+32e02573[ ]+csrr[ ]+a0,mhpmevent14
-[ ]+[0-9a-f]+:[ ]+32f02573[ ]+csrr[ ]+a0,mhpmevent15
-[ ]+[0-9a-f]+:[ ]+33002573[ ]+csrr[ ]+a0,mhpmevent16
-[ ]+[0-9a-f]+:[ ]+33102573[ ]+csrr[ ]+a0,mhpmevent17
-[ ]+[0-9a-f]+:[ ]+33202573[ ]+csrr[ ]+a0,mhpmevent18
-[ ]+[0-9a-f]+:[ ]+33302573[ ]+csrr[ ]+a0,mhpmevent19
-[ ]+[0-9a-f]+:[ ]+33402573[ ]+csrr[ ]+a0,mhpmevent20
-[ ]+[0-9a-f]+:[ ]+33502573[ ]+csrr[ ]+a0,mhpmevent21
-[ ]+[0-9a-f]+:[ ]+33602573[ ]+csrr[ ]+a0,mhpmevent22
-[ ]+[0-9a-f]+:[ ]+33702573[ ]+csrr[ ]+a0,mhpmevent23
-[ ]+[0-9a-f]+:[ ]+33802573[ ]+csrr[ ]+a0,mhpmevent24
-[ ]+[0-9a-f]+:[ ]+33902573[ ]+csrr[ ]+a0,mhpmevent25
-[ ]+[0-9a-f]+:[ ]+33a02573[ ]+csrr[ ]+a0,mhpmevent26
-[ ]+[0-9a-f]+:[ ]+33b02573[ ]+csrr[ ]+a0,mhpmevent27
-[ ]+[0-9a-f]+:[ ]+33c02573[ ]+csrr[ ]+a0,mhpmevent28
-[ ]+[0-9a-f]+:[ ]+33d02573[ ]+csrr[ ]+a0,mhpmevent29
-[ ]+[0-9a-f]+:[ ]+33e02573[ ]+csrr[ ]+a0,mhpmevent30
-[ ]+[0-9a-f]+:[ ]+33f02573[ ]+csrr[ ]+a0,mhpmevent31
-[ ]+[0-9a-f]+:[ ]+7a002573[ ]+csrr[ ]+a0,tselect
-[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
-[ ]+[0-9a-f]+:[ ]+7a202573[ ]+csrr[ ]+a0,tdata2
-[ ]+[0-9a-f]+:[ ]+7a302573[ ]+csrr[ ]+a0,tdata3
-[ ]+[0-9a-f]+:[ ]+7b002573[ ]+csrr[ ]+a0,dcsr
-[ ]+[0-9a-f]+:[ ]+7b102573[ ]+csrr[ ]+a0,dpc
-[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch0
-[ ]+[0-9a-f]+:[ ]+7b302573[ ]+csrr[ ]+a0,dscratch1
-[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,utval
-[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,stval
-[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,satp
-[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mtval
-[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mcountinhibit
-[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch0
-[ ]+[0-9a-f]+:[ ]+20002573[ ]+csrr[ ]+a0,hstatus
-[ ]+[0-9a-f]+:[ ]+20202573[ ]+csrr[ ]+a0,hedeleg
-[ ]+[0-9a-f]+:[ ]+20302573[ ]+csrr[ ]+a0,hideleg
-[ ]+[0-9a-f]+:[ ]+20402573[ ]+csrr[ ]+a0,hie
-[ ]+[0-9a-f]+:[ ]+20502573[ ]+csrr[ ]+a0,htvec
-[ ]+[0-9a-f]+:[ ]+24002573[ ]+csrr[ ]+a0,hscratch
-[ ]+[0-9a-f]+:[ ]+24102573[ ]+csrr[ ]+a0,hepc
-[ ]+[0-9a-f]+:[ ]+24202573[ ]+csrr[ ]+a0,hcause
-[ ]+[0-9a-f]+:[ ]+24302573[ ]+csrr[ ]+a0,hbadaddr
-[ ]+[0-9a-f]+:[ ]+24402573[ ]+csrr[ ]+a0,hip
-[ ]+[0-9a-f]+:[ ]+38002573[ ]+csrr[ ]+a0,mbase
-[ ]+[0-9a-f]+:[ ]+38102573[ ]+csrr[ ]+a0,mbound
-[ ]+[0-9a-f]+:[ ]+38202573[ ]+csrr[ ]+a0,mibase
-[ ]+[0-9a-f]+:[ ]+38302573[ ]+csrr[ ]+a0,mibound
-[ ]+[0-9a-f]+:[ ]+38402573[ ]+csrr[ ]+a0,mdbase
-[ ]+[0-9a-f]+:[ ]+38502573[ ]+csrr[ ]+a0,mdbound
-[ ]+[0-9a-f]+:[ ]+32102573[ ]+csrr[ ]+a0,mscounteren
-[ ]+[0-9a-f]+:[ ]+32202573[ ]+csrr[ ]+a0,mhcounteren
diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c
index dae6520f1f..4b0dd025f0 100644
--- a/gdb/riscv-tdep.c
+++ b/gdb/riscv-tdep.c
@@ -240,7 +240,7 @@ static struct riscv_register_feature riscv_csr_feature =
{
"org.gnu.gdb.riscv.csr",
{
-#define DECLARE_CSR(NAME,VALUE,CLASS) \
+#define DECLARE_CSR(NAME,VALUE,CLASS,DEFINE_VER,ABORT_VER) \
{ RISCV_ ## VALUE ## _REGNUM, { # NAME }, false },
#include "opcode/riscv-opc.h"
#undef DECLARE_CSR
@@ -498,7 +498,7 @@ riscv_register_name (struct gdbarch *gdbarch, int regnum)
if (regnum >= RISCV_FIRST_CSR_REGNUM && regnum <= RISCV_LAST_CSR_REGNUM)
{
-#define DECLARE_CSR(NAME,VALUE,CLASS) \
+#define DECLARE_CSR(NAME,VALUE,CLASS,DEFINE_VER,ABORT_VER) \
case RISCV_ ## VALUE ## _REGNUM: return # NAME;
switch (regnum)
@@ -828,7 +828,7 @@ riscv_is_regnum_a_named_csr (int regnum)
switch (regnum)
{
-#define DECLARE_CSR(name, num, class) case RISCV_ ## num ## _REGNUM:
+#define DECLARE_CSR(name, num, class, define_ver, abort_ver) case RISCV_ ## num ## _REGNUM:
#include "opcode/riscv-opc.h"
#undef DECLARE_CSR
return true;
diff --git a/gdb/riscv-tdep.h b/gdb/riscv-tdep.h
index 90bae0810a..e415fb4a7a 100644
--- a/gdb/riscv-tdep.h
+++ b/gdb/riscv-tdep.h
@@ -44,7 +44,7 @@ enum
RISCV_LAST_FP_REGNUM = 64, /* Last Floating Point Register */
RISCV_FIRST_CSR_REGNUM = 65, /* First CSR */
-#define DECLARE_CSR(name, num, class) \
+#define DECLARE_CSR(name, num, class, define_version, abort_version) \
RISCV_ ## num ## _REGNUM = RISCV_FIRST_CSR_REGNUM + num,
#include "opcode/riscv-opc.h"
#undef DECLARE_CSR
diff --git a/include/ChangeLog b/include/ChangeLog
index 9f2599f81c..c309780544 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,23 @@
+2020-05-20 Nelson Chu <nelson.chu@sifive.com>
+
+ * 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.
+
2020-05-19 Alexander Fedotov <alfedotov@gmail.com>
PR 25992
diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h
index fe00bb6b56..a6a5de3887 100644
--- a/include/opcode/riscv-opc.h
+++ b/include/opcode/riscv-opc.h
@@ -656,7 +656,6 @@
#define CSR_SIDELEG 0x103
#define CSR_SIE 0x104
#define CSR_STVEC 0x105
-/* scounteren is present int priv spec 1.10. */
#define CSR_SCOUNTEREN 0x106
#define CSR_SSCRATCH 0x140
#define CSR_SEPC 0x141
@@ -669,20 +668,17 @@
#define CSR_MIMPID 0xf13
#define CSR_MHARTID 0xf14
#define CSR_MSTATUS 0x300
-/* misa is 0xf10 in 1.9, but 0x301 in 1.9.1. */
#define CSR_MISA 0x301
#define CSR_MEDELEG 0x302
#define CSR_MIDELEG 0x303
#define CSR_MIE 0x304
#define CSR_MTVEC 0x305
-/* mcounteren is present in priv spec 1.10. */
#define CSR_MCOUNTEREN 0x306
#define CSR_MSCRATCH 0x340
#define CSR_MEPC 0x341
#define CSR_MCAUSE 0x342
#define CSR_MTVAL 0x343
#define CSR_MIP 0x344
-/* pmpcfg0 to pmpcfg3, pmpaddr0 to pmpaddr15 are present in priv spec 1.10. */
#define CSR_PMPCFG0 0x3a0
#define CSR_PMPCFG1 0x3a1
#define CSR_PMPCFG2 0x3a2
@@ -765,7 +761,6 @@
#define CSR_MHPMCOUNTER29H 0xb9d
#define CSR_MHPMCOUNTER30H 0xb9e
#define CSR_MHPMCOUNTER31H 0xb9f
-/* mcountinhibit is present in priv spec 1.11. */
#define CSR_MCOUNTINHIBIT 0x320
#define CSR_MHPMEVENT3 0x323
#define CSR_MHPMEVENT4 0x324
@@ -802,10 +797,8 @@
#define CSR_TDATA3 0x7a3
#define CSR_DCSR 0x7b0
#define CSR_DPC 0x7b1
-/* dscratch0 and dscratch1 are present in priv spec 1.11. */
#define CSR_DSCRATCH0 0x7b2
#define CSR_DSCRATCH1 0x7b3
-/* These registers are present in priv spec 1.9.1, but are dropped in 1.10. */
#define CSR_HSTATUS 0x200
#define CSR_HEDELEG 0x202
#define CSR_HIDELEG 0x203
@@ -1124,262 +1117,256 @@ DECLARE_INSN(custom3_rd_rs1, MATCH_CUSTOM3_RD_RS1, MASK_CUSTOM3_RD_RS1)
DECLARE_INSN(custom3_rd_rs1_rs2, MATCH_CUSTOM3_RD_RS1_RS2, MASK_CUSTOM3_RD_RS1_RS2)
#endif
#ifdef DECLARE_CSR
-DECLARE_CSR(ustatus, CSR_USTATUS, CSR_CLASS_I)
-DECLARE_CSR(uie, CSR_UIE, CSR_CLASS_I)
-DECLARE_CSR(utvec, CSR_UTVEC, CSR_CLASS_I)
-DECLARE_CSR(uscratch, CSR_USCRATCH, CSR_CLASS_I)
-DECLARE_CSR(uepc, CSR_UEPC, CSR_CLASS_I)
-DECLARE_CSR(ucause, CSR_UCAUSE, CSR_CLASS_I)
-DECLARE_CSR(utval, CSR_UTVAL, CSR_CLASS_I)
-DECLARE_CSR(uip, CSR_UIP, CSR_CLASS_I)
-DECLARE_CSR(fflags, CSR_FFLAGS, CSR_CLASS_F)
-DECLARE_CSR(frm, CSR_FRM, CSR_CLASS_F)
-DECLARE_CSR(fcsr, CSR_FCSR, CSR_CLASS_F)
-DECLARE_CSR(cycle, CSR_CYCLE, CSR_CLASS_I)
-DECLARE_CSR(time, CSR_TIME, CSR_CLASS_I)
-DECLARE_CSR(instret, CSR_INSTRET, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter3, CSR_HPMCOUNTER3, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter4, CSR_HPMCOUNTER4, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter5, CSR_HPMCOUNTER5, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter6, CSR_HPMCOUNTER6, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter7, CSR_HPMCOUNTER7, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter8, CSR_HPMCOUNTER8, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter9, CSR_HPMCOUNTER9, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter10, CSR_HPMCOUNTER10, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter11, CSR_HPMCOUNTER11, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter12, CSR_HPMCOUNTER12, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter13, CSR_HPMCOUNTER13, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter14, CSR_HPMCOUNTER14, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter15, CSR_HPMCOUNTER15, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter16, CSR_HPMCOUNTER16, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter17, CSR_HPMCOUNTER17, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter18, CSR_HPMCOUNTER18, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter19, CSR_HPMCOUNTER19, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter20, CSR_HPMCOUNTER20, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter21, CSR_HPMCOUNTER21, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter22, CSR_HPMCOUNTER22, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter23, CSR_HPMCOUNTER23, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter24, CSR_HPMCOUNTER24, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter25, CSR_HPMCOUNTER25, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter26, CSR_HPMCOUNTER26, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter27, CSR_HPMCOUNTER27, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter28, CSR_HPMCOUNTER28, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter29, CSR_HPMCOUNTER29, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter30, CSR_HPMCOUNTER30, CSR_CLASS_I)
-DECLARE_CSR(hpmcounter31, CSR_HPMCOUNTER31, CSR_CLASS_I)
-DECLARE_CSR(cycleh, CSR_CYCLEH, CSR_CLASS_I_32)
-DECLARE_CSR(timeh, CSR_TIMEH, CSR_CLASS_I_32)
-DECLARE_CSR(instreth, CSR_INSTRETH, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter3h, CSR_HPMCOUNTER3H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter4h, CSR_HPMCOUNTER4H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter5h, CSR_HPMCOUNTER5H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter6h, CSR_HPMCOUNTER6H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter7h, CSR_HPMCOUNTER7H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter8h, CSR_HPMCOUNTER8H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter9h, CSR_HPMCOUNTER9H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter10h, CSR_HPMCOUNTER10H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter11h, CSR_HPMCOUNTER11H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter12h, CSR_HPMCOUNTER12H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter13h, CSR_HPMCOUNTER13H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter14h, CSR_HPMCOUNTER14H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter15h, CSR_HPMCOUNTER15H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter16h, CSR_HPMCOUNTER16H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter17h, CSR_HPMCOUNTER17H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter18h, CSR_HPMCOUNTER18H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter19h, CSR_HPMCOUNTER19H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter20h, CSR_HPMCOUNTER20H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter21h, CSR_HPMCOUNTER21H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter22h, CSR_HPMCOUNTER22H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter23h, CSR_HPMCOUNTER23H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter24h, CSR_HPMCOUNTER24H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter25h, CSR_HPMCOUNTER25H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter26h, CSR_HPMCOUNTER26H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter27h, CSR_HPMCOUNTER27H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter28h, CSR_HPMCOUNTER28H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter29h, CSR_HPMCOUNTER29H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter30h, CSR_HPMCOUNTER30H, CSR_CLASS_I_32)
-DECLARE_CSR(hpmcounter31h, CSR_HPMCOUNTER31H, CSR_CLASS_I_32)
-DECLARE_CSR(sstatus, CSR_SSTATUS, CSR_CLASS_I)
-DECLARE_CSR(sedeleg, CSR_SEDELEG, CSR_CLASS_I)
-DECLARE_CSR(sideleg, CSR_SIDELEG, CSR_CLASS_I)
-DECLARE_CSR(sie, CSR_SIE, CSR_CLASS_I)
-DECLARE_CSR(stvec, CSR_STVEC, CSR_CLASS_I)
-DECLARE_CSR(scounteren, CSR_SCOUNTEREN, CSR_CLASS_I)
-DECLARE_CSR(sscratch, CSR_SSCRATCH, CSR_CLASS_I)
-DECLARE_CSR(sepc, CSR_SEPC, CSR_CLASS_I)
-DECLARE_CSR(scause, CSR_SCAUSE, CSR_CLASS_I)
-DECLARE_CSR(stval, CSR_STVAL, CSR_CLASS_I)
-DECLARE_CSR(sip, CSR_SIP, CSR_CLASS_I)
-DECLARE_CSR(satp, CSR_SATP, CSR_CLASS_I)
-DECLARE_CSR(mvendorid, CSR_MVENDORID, CSR_CLASS_I)
-DECLARE_CSR(marchid, CSR_MARCHID, CSR_CLASS_I)
-DECLARE_CSR(mimpid, CSR_MIMPID, CSR_CLASS_I)
-DECLARE_CSR(mhartid, CSR_MHARTID, CSR_CLASS_I)
-DECLARE_CSR(mstatus, CSR_MSTATUS, CSR_CLASS_I)
-DECLARE_CSR(misa, CSR_MISA, CSR_CLASS_I)
-DECLARE_CSR(medeleg, CSR_MEDELEG, CSR_CLASS_I)
-DECLARE_CSR(mideleg, CSR_MIDELEG, CSR_CLASS_I)
-DECLARE_CSR(mie, CSR_MIE, CSR_CLASS_I)
-DECLARE_CSR(mtvec, CSR_MTVEC, CSR_CLASS_I)
-DECLARE_CSR(mcounteren, CSR_MCOUNTEREN, CSR_CLASS_I)
-DECLARE_CSR(mscratch, CSR_MSCRATCH, CSR_CLASS_I)
-DECLARE_CSR(mepc, CSR_MEPC, CSR_CLASS_I)
-DECLARE_CSR(mcause, CSR_MCAUSE, CSR_CLASS_I)
-DECLARE_CSR(mtval, CSR_MTVAL, CSR_CLASS_I)
-DECLARE_CSR(mip, CSR_MIP, CSR_CLASS_I)
-DECLARE_CSR(pmpcfg0, CSR_PMPCFG0, CSR_CLASS_I)
-DECLARE_CSR(pmpcfg1, CSR_PMPCFG1, CSR_CLASS_I_32)
-DECLARE_CSR(pmpcfg2, CSR_PMPCFG2, CSR_CLASS_I)
-DECLARE_CSR(pmpcfg3, CSR_PMPCFG3, CSR_CLASS_I_32)
-DECLARE_CSR(pmpaddr0, CSR_PMPADDR0, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr1, CSR_PMPADDR1, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr2, CSR_PMPADDR2, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr3, CSR_PMPADDR3, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr4, CSR_PMPADDR4, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr5, CSR_PMPADDR5, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr6, CSR_PMPADDR6, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr7, CSR_PMPADDR7, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr8, CSR_PMPADDR8, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr9, CSR_PMPADDR9, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr10, CSR_PMPADDR10, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr11, CSR_PMPADDR11, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr12, CSR_PMPADDR12, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr13, CSR_PMPADDR13, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr14, CSR_PMPADDR14, CSR_CLASS_I)
-DECLARE_CSR(pmpaddr15, CSR_PMPADDR15, CSR_CLASS_I)
-DECLARE_CSR(mcycle, CSR_MCYCLE, CSR_CLASS_I)
-DECLARE_CSR(minstret, CSR_MINSTRET, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter3, CSR_MHPMCOUNTER3, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter4, CSR_MHPMCOUNTER4, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter5, CSR_MHPMCOUNTER5, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter6, CSR_MHPMCOUNTER6, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter7, CSR_MHPMCOUNTER7, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter8, CSR_MHPMCOUNTER8, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter9, CSR_MHPMCOUNTER9, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter10, CSR_MHPMCOUNTER10, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter11, CSR_MHPMCOUNTER11, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter12, CSR_MHPMCOUNTER12, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter13, CSR_MHPMCOUNTER13, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter14, CSR_MHPMCOUNTER14, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter15, CSR_MHPMCOUNTER15, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter16, CSR_MHPMCOUNTER16, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter17, CSR_MHPMCOUNTER17, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter18, CSR_MHPMCOUNTER18, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter19, CSR_MHPMCOUNTER19, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter20, CSR_MHPMCOUNTER20, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter21, CSR_MHPMCOUNTER21, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter22, CSR_MHPMCOUNTER22, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter23, CSR_MHPMCOUNTER23, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter24, CSR_MHPMCOUNTER24, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter25, CSR_MHPMCOUNTER25, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter26, CSR_MHPMCOUNTER26, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter27, CSR_MHPMCOUNTER27, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter28, CSR_MHPMCOUNTER28, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter29, CSR_MHPMCOUNTER29, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter30, CSR_MHPMCOUNTER30, CSR_CLASS_I)
-DECLARE_CSR(mhpmcounter31, CSR_MHPMCOUNTER31, CSR_CLASS_I)
-DECLARE_CSR(mcycleh, CSR_MCYCLEH, CSR_CLASS_I_32)
-DECLARE_CSR(minstreth, CSR_MINSTRETH, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter3h, CSR_MHPMCOUNTER3H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter4h, CSR_MHPMCOUNTER4H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter5h, CSR_MHPMCOUNTER5H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter6h, CSR_MHPMCOUNTER6H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter7h, CSR_MHPMCOUNTER7H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter8h, CSR_MHPMCOUNTER8H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter9h, CSR_MHPMCOUNTER9H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter10h, CSR_MHPMCOUNTER10H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter11h, CSR_MHPMCOUNTER11H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter12h, CSR_MHPMCOUNTER12H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter13h, CSR_MHPMCOUNTER13H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter14h, CSR_MHPMCOUNTER14H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter15h, CSR_MHPMCOUNTER15H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter16h, CSR_MHPMCOUNTER16H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter17h, CSR_MHPMCOUNTER17H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter18h, CSR_MHPMCOUNTER18H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter19h, CSR_MHPMCOUNTER19H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter20h, CSR_MHPMCOUNTER20H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter21h, CSR_MHPMCOUNTER21H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter22h, CSR_MHPMCOUNTER22H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter23h, CSR_MHPMCOUNTER23H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter24h, CSR_MHPMCOUNTER24H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter25h, CSR_MHPMCOUNTER25H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter26h, CSR_MHPMCOUNTER26H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter27h, CSR_MHPMCOUNTER27H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter28h, CSR_MHPMCOUNTER28H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter29h, CSR_MHPMCOUNTER29H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter30h, CSR_MHPMCOUNTER30H, CSR_CLASS_I_32)
-DECLARE_CSR(mhpmcounter31h, CSR_MHPMCOUNTER31H, CSR_CLASS_I_32)
-DECLARE_CSR(mcountinhibit, CSR_MCOUNTINHIBIT, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent3, CSR_MHPMEVENT3, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent4, CSR_MHPMEVENT4, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent5, CSR_MHPMEVENT5, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent6, CSR_MHPMEVENT6, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent7, CSR_MHPMEVENT7, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent8, CSR_MHPMEVENT8, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent9, CSR_MHPMEVENT9, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent10, CSR_MHPMEVENT10, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent11, CSR_MHPMEVENT11, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent12, CSR_MHPMEVENT12, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent13, CSR_MHPMEVENT13, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent14, CSR_MHPMEVENT14, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent15, CSR_MHPMEVENT15, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent16, CSR_MHPMEVENT16, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent17, CSR_MHPMEVENT17, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent18, CSR_MHPMEVENT18, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent19, CSR_MHPMEVENT19, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent20, CSR_MHPMEVENT20, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent21, CSR_MHPMEVENT21, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent22, CSR_MHPMEVENT22, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent23, CSR_MHPMEVENT23, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent24, CSR_MHPMEVENT24, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent25, CSR_MHPMEVENT25, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent26, CSR_MHPMEVENT26, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent27, CSR_MHPMEVENT27, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent28, CSR_MHPMEVENT28, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30, CSR_CLASS_I)
-DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31, CSR_CLASS_I)
-DECLARE_CSR(tselect, CSR_TSELECT, CSR_CLASS_I)
-DECLARE_CSR(tdata1, CSR_TDATA1, CSR_CLASS_I)
-DECLARE_CSR(tdata2, CSR_TDATA2, CSR_CLASS_I)
-DECLARE_CSR(tdata3, CSR_TDATA3, CSR_CLASS_I)
-DECLARE_CSR(dcsr, CSR_DCSR, CSR_CLASS_I)
-DECLARE_CSR(dpc, CSR_DPC, CSR_CLASS_I)
-DECLARE_CSR(dscratch0, CSR_DSCRATCH0, CSR_CLASS_I)
-DECLARE_CSR(dscratch1, CSR_DSCRATCH1, CSR_CLASS_I)
-/* These registers are present in priv spec 1.9.1, dropped in 1.10. */
-DECLARE_CSR(hstatus, CSR_HSTATUS, CSR_CLASS_I)
-DECLARE_CSR(hedeleg, CSR_HEDELEG, CSR_CLASS_I)
-DECLARE_CSR(hideleg, CSR_HIDELEG, CSR_CLASS_I)
-DECLARE_CSR(hie, CSR_HIE, CSR_CLASS_I)
-DECLARE_CSR(htvec, CSR_HTVEC, CSR_CLASS_I)
-DECLARE_CSR(hscratch, CSR_HSCRATCH, CSR_CLASS_I)
-DECLARE_CSR(hepc, CSR_HEPC, CSR_CLASS_I)
-DECLARE_CSR(hcause, CSR_HCAUSE, CSR_CLASS_I)
-DECLARE_CSR(hbadaddr, CSR_HBADADDR, CSR_CLASS_I)
-DECLARE_CSR(hip, CSR_HIP, CSR_CLASS_I)
-DECLARE_CSR(mbase, CSR_MBASE, CSR_CLASS_I)
-DECLARE_CSR(mbound, CSR_MBOUND, CSR_CLASS_I)
-DECLARE_CSR(mibase, CSR_MIBASE, CSR_CLASS_I)
-DECLARE_CSR(mibound, CSR_MIBOUND, CSR_CLASS_I)
-DECLARE_CSR(mdbase, CSR_MDBASE, CSR_CLASS_I)
-DECLARE_CSR(mdbound, CSR_MDBOUND, CSR_CLASS_I)
-DECLARE_CSR(mscounteren, CSR_MSCOUNTEREN, CSR_CLASS_I)
-DECLARE_CSR(mhcounteren, CSR_MHCOUNTEREN, CSR_CLASS_I)
+DECLARE_CSR(ustatus, CSR_USTATUS, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(uie, CSR_UIE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(utvec, CSR_UTVEC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(uscratch, CSR_USCRATCH, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(uepc, CSR_UEPC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(ucause, CSR_UCAUSE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(utval, CSR_UTVAL, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(uip, CSR_UIP, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(fflags, CSR_FFLAGS, CSR_CLASS_F, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(frm, CSR_FRM, CSR_CLASS_F, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(fcsr, CSR_FCSR, CSR_CLASS_F, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(cycle, CSR_CYCLE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(time, CSR_TIME, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(instret, CSR_INSTRET, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter3, CSR_HPMCOUNTER3, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter4, CSR_HPMCOUNTER4, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter5, CSR_HPMCOUNTER5, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter6, CSR_HPMCOUNTER6, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter7, CSR_HPMCOUNTER7, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter8, CSR_HPMCOUNTER8, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter9, CSR_HPMCOUNTER9, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter10, CSR_HPMCOUNTER10, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter11, CSR_HPMCOUNTER11, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter12, CSR_HPMCOUNTER12, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter13, CSR_HPMCOUNTER13, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter14, CSR_HPMCOUNTER14, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter15, CSR_HPMCOUNTER15, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter16, CSR_HPMCOUNTER16, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter17, CSR_HPMCOUNTER17, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter18, CSR_HPMCOUNTER18, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter19, CSR_HPMCOUNTER19, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter20, CSR_HPMCOUNTER20, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter21, CSR_HPMCOUNTER21, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter22, CSR_HPMCOUNTER22, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter23, CSR_HPMCOUNTER23, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter24, CSR_HPMCOUNTER24, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter25, CSR_HPMCOUNTER25, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter26, CSR_HPMCOUNTER26, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter27, CSR_HPMCOUNTER27, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter28, CSR_HPMCOUNTER28, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter29, CSR_HPMCOUNTER29, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter30, CSR_HPMCOUNTER30, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter31, CSR_HPMCOUNTER31, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(cycleh, CSR_CYCLEH, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(timeh, CSR_TIMEH, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(instreth, CSR_INSTRETH, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter3h, CSR_HPMCOUNTER3H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter4h, CSR_HPMCOUNTER4H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter5h, CSR_HPMCOUNTER5H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter6h, CSR_HPMCOUNTER6H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter7h, CSR_HPMCOUNTER7H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter8h, CSR_HPMCOUNTER8H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter9h, CSR_HPMCOUNTER9H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter10h, CSR_HPMCOUNTER10H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter11h, CSR_HPMCOUNTER11H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter12h, CSR_HPMCOUNTER12H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter13h, CSR_HPMCOUNTER13H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter14h, CSR_HPMCOUNTER14H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter15h, CSR_HPMCOUNTER15H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter16h, CSR_HPMCOUNTER16H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter17h, CSR_HPMCOUNTER17H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter18h, CSR_HPMCOUNTER18H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter19h, CSR_HPMCOUNTER19H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter20h, CSR_HPMCOUNTER20H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter21h, CSR_HPMCOUNTER21H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter22h, CSR_HPMCOUNTER22H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter23h, CSR_HPMCOUNTER23H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter24h, CSR_HPMCOUNTER24H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter25h, CSR_HPMCOUNTER25H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter26h, CSR_HPMCOUNTER26H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter27h, CSR_HPMCOUNTER27H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter28h, CSR_HPMCOUNTER28H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter29h, CSR_HPMCOUNTER29H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter30h, CSR_HPMCOUNTER30H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hpmcounter31h, CSR_HPMCOUNTER31H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(sstatus, CSR_SSTATUS, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(sedeleg, CSR_SEDELEG, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(sideleg, CSR_SIDELEG, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(sie, CSR_SIE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(stvec, CSR_STVEC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(scounteren, CSR_SCOUNTEREN, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(sscratch, CSR_SSCRATCH, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(sepc, CSR_SEPC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(scause, CSR_SCAUSE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(stval, CSR_STVAL, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(sip, CSR_SIP, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(satp, CSR_SATP, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mvendorid, CSR_MVENDORID, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(marchid, CSR_MARCHID, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mimpid, CSR_MIMPID, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhartid, CSR_MHARTID, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mstatus, CSR_MSTATUS, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(misa, CSR_MISA, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9P1, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(medeleg, CSR_MEDELEG, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mideleg, CSR_MIDELEG, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mie, CSR_MIE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mtvec, CSR_MTVEC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mcounteren, CSR_MCOUNTEREN, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mscratch, CSR_MSCRATCH, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mepc, CSR_MEPC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mcause, CSR_MCAUSE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mtval, CSR_MTVAL, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mip, CSR_MIP, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpcfg0, CSR_PMPCFG0, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpcfg1, CSR_PMPCFG1, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpcfg2, CSR_PMPCFG2, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpcfg3, CSR_PMPCFG3, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr0, CSR_PMPADDR0, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr1, CSR_PMPADDR1, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr2, CSR_PMPADDR2, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr3, CSR_PMPADDR3, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr4, CSR_PMPADDR4, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr5, CSR_PMPADDR5, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr6, CSR_PMPADDR6, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr7, CSR_PMPADDR7, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr8, CSR_PMPADDR8, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr9, CSR_PMPADDR9, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr10, CSR_PMPADDR10, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr11, CSR_PMPADDR11, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr12, CSR_PMPADDR12, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr13, CSR_PMPADDR13, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr14, CSR_PMPADDR14, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(pmpaddr15, CSR_PMPADDR15, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mcycle, CSR_MCYCLE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(minstret, CSR_MINSTRET, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter3, CSR_MHPMCOUNTER3, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter4, CSR_MHPMCOUNTER4, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter5, CSR_MHPMCOUNTER5, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter6, CSR_MHPMCOUNTER6, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter7, CSR_MHPMCOUNTER7, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter8, CSR_MHPMCOUNTER8, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter9, CSR_MHPMCOUNTER9, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter10, CSR_MHPMCOUNTER10, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter11, CSR_MHPMCOUNTER11, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter12, CSR_MHPMCOUNTER12, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter13, CSR_MHPMCOUNTER13, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter14, CSR_MHPMCOUNTER14, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter15, CSR_MHPMCOUNTER15, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter16, CSR_MHPMCOUNTER16, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter17, CSR_MHPMCOUNTER17, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter18, CSR_MHPMCOUNTER18, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter19, CSR_MHPMCOUNTER19, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter20, CSR_MHPMCOUNTER20, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter21, CSR_MHPMCOUNTER21, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter22, CSR_MHPMCOUNTER22, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter23, CSR_MHPMCOUNTER23, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter24, CSR_MHPMCOUNTER24, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter25, CSR_MHPMCOUNTER25, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter26, CSR_MHPMCOUNTER26, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter27, CSR_MHPMCOUNTER27, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter28, CSR_MHPMCOUNTER28, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter29, CSR_MHPMCOUNTER29, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter30, CSR_MHPMCOUNTER30, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter31, CSR_MHPMCOUNTER31, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mcycleh, CSR_MCYCLEH, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(minstreth, CSR_MINSTRETH, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter3h, CSR_MHPMCOUNTER3H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter4h, CSR_MHPMCOUNTER4H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter5h, CSR_MHPMCOUNTER5H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter6h, CSR_MHPMCOUNTER6H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter7h, CSR_MHPMCOUNTER7H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter8h, CSR_MHPMCOUNTER8H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter9h, CSR_MHPMCOUNTER9H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter10h, CSR_MHPMCOUNTER10H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter11h, CSR_MHPMCOUNTER11H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter12h, CSR_MHPMCOUNTER12H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter13h, CSR_MHPMCOUNTER13H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter14h, CSR_MHPMCOUNTER14H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter15h, CSR_MHPMCOUNTER15H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter16h, CSR_MHPMCOUNTER16H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter17h, CSR_MHPMCOUNTER17H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter18h, CSR_MHPMCOUNTER18H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter19h, CSR_MHPMCOUNTER19H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter20h, CSR_MHPMCOUNTER20H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter21h, CSR_MHPMCOUNTER21H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter22h, CSR_MHPMCOUNTER22H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter23h, CSR_MHPMCOUNTER23H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter24h, CSR_MHPMCOUNTER24H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter25h, CSR_MHPMCOUNTER25H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter26h, CSR_MHPMCOUNTER26H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter27h, CSR_MHPMCOUNTER27H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter28h, CSR_MHPMCOUNTER28H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter29h, CSR_MHPMCOUNTER29H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter30h, CSR_MHPMCOUNTER30H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmcounter31h, CSR_MHPMCOUNTER31H, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mcountinhibit, CSR_MCOUNTINHIBIT, CSR_CLASS_I, PRIV_SPEC_CLASS_1P11, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent3, CSR_MHPMEVENT3, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent4, CSR_MHPMEVENT4, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent5, CSR_MHPMEVENT5, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent6, CSR_MHPMEVENT6, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent7, CSR_MHPMEVENT7, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent8, CSR_MHPMEVENT8, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent9, CSR_MHPMEVENT9, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent10, CSR_MHPMEVENT10, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent11, CSR_MHPMEVENT11, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent12, CSR_MHPMEVENT12, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent13, CSR_MHPMEVENT13, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent14, CSR_MHPMEVENT14, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent15, CSR_MHPMEVENT15, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent16, CSR_MHPMEVENT16, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent17, CSR_MHPMEVENT17, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent18, CSR_MHPMEVENT18, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent19, CSR_MHPMEVENT19, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent20, CSR_MHPMEVENT20, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent21, CSR_MHPMEVENT21, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent22, CSR_MHPMEVENT22, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent23, CSR_MHPMEVENT23, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent24, CSR_MHPMEVENT24, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent25, CSR_MHPMEVENT25, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent26, CSR_MHPMEVENT26, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent27, CSR_MHPMEVENT27, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent28, CSR_MHPMEVENT28, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(tselect, CSR_TSELECT, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(tdata1, CSR_TDATA1, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(tdata2, CSR_TDATA2, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(tdata3, CSR_TDATA3, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(dcsr, CSR_DCSR, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(dpc, CSR_DPC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(dscratch0, CSR_DSCRATCH0, CSR_CLASS_I, PRIV_SPEC_CLASS_1P11, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(dscratch1, CSR_DSCRATCH1, CSR_CLASS_I, PRIV_SPEC_CLASS_1P11, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(hstatus, CSR_HSTATUS, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(hedeleg, CSR_HEDELEG, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(hideleg, CSR_HIDELEG, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(hie, CSR_HIE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(htvec, CSR_HTVEC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(hscratch, CSR_HSCRATCH, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(hepc, CSR_HEPC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(hcause, CSR_HCAUSE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(hbadaddr, CSR_HBADADDR, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(hip, CSR_HIP, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(mbase, CSR_MBASE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(mbound, CSR_MBOUND, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(mibase, CSR_MIBASE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(mibound, CSR_MIBOUND, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(mdbase, CSR_MDBASE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(mdbound, CSR_MDBOUND, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(mscounteren, CSR_MSCOUNTEREN, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR(mhcounteren, CSR_MHCOUNTEREN, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
#endif
#ifdef DECLARE_CSR_ALIAS
-/* Ubadaddr is 0x043 in 1.9.1, but 0x043 is utval in 1.10. */
-DECLARE_CSR_ALIAS(ubadaddr, CSR_UTVAL, CSR_CLASS_I)
-/* Sbadaddr is 0x143 in 1.9.1, but 0x143 is stval in 1.10. */
-DECLARE_CSR_ALIAS(sbadaddr, CSR_STVAL, CSR_CLASS_I)
-/* Sptbr is 0x180 in 1.9.1, but 0x180 is satp in 1.10. */
-DECLARE_CSR_ALIAS(sptbr, CSR_SATP, CSR_CLASS_I)
-/* Mbadaddr is 0x343 in 1.9.1, but 0x343 is mtval in 1.10. */
-DECLARE_CSR_ALIAS(mbadaddr, CSR_MTVAL, CSR_CLASS_I)
-/* Mucounteren is 0x320 in 1.10, but 0x320 is mcountinhibit in 1.11. */
-DECLARE_CSR_ALIAS(mucounteren, CSR_MCOUNTINHIBIT, CSR_CLASS_I)
-/* Dscratch is 0x7b2 in 1.10, but 0x7b2 is dscratch0 in 1.11. */
-DECLARE_CSR_ALIAS(dscratch, CSR_DSCRATCH0, CSR_CLASS_I)
+DECLARE_CSR_ALIAS(misa, 0xf10, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P9P1)
+DECLARE_CSR_ALIAS(ubadaddr, CSR_UTVAL, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR_ALIAS(sbadaddr, CSR_STVAL, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR_ALIAS(sptbr, CSR_SATP, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR_ALIAS(mbadaddr, CSR_MTVAL, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR_ALIAS(mucounteren, CSR_MCOUNTINHIBIT, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P10)
+DECLARE_CSR_ALIAS(dscratch, CSR_DSCRATCH0, CSR_CLASS_I, PRIV_SPEC_CLASS_1P9, PRIV_SPEC_CLASS_1P11)
#endif
#ifdef DECLARE_CAUSE
DECLARE_CAUSE("misaligned fetch", CAUSE_MISALIGNED_FETCH)
diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h
index ac6e861dd9..feeaa6e8dc 100644
--- a/include/opcode/riscv.h
+++ b/include/opcode/riscv.h
@@ -24,6 +24,7 @@
#include "riscv-opc.h"
#include <stdlib.h>
#include <stdint.h>
+#include "bfd.h"
typedef uint64_t insn_t;
@@ -343,6 +344,73 @@ struct riscv_opcode
unsigned long pinfo;
};
+/* The current supported ISA spec versions. */
+
+enum riscv_isa_spec_class
+{
+ ISA_SPEC_CLASS_NONE,
+
+ ISA_SPEC_CLASS_2P2,
+ ISA_SPEC_CLASS_20190608,
+ ISA_SPEC_CLASS_20191213
+};
+
+/* This structure holds version information for specific ISA. */
+
+struct riscv_ext_version
+{
+ const char *name;
+ enum riscv_isa_spec_class isa_spec_class;
+ unsigned int major_version;
+ unsigned int minor_version;
+};
+
+/* All RISC-V CSR belong to one of these classes. */
+
+enum riscv_csr_class
+{
+ CSR_CLASS_NONE,
+
+ CSR_CLASS_I,
+ CSR_CLASS_I_32, /* rv32 only */
+ CSR_CLASS_F, /* f-ext only */
+};
+
+/* The current supported privilege spec versions. */
+
+enum riscv_priv_spec_class
+{
+ PRIV_SPEC_CLASS_NONE,
+
+ PRIV_SPEC_CLASS_1P9,
+ PRIV_SPEC_CLASS_1P9P1,
+ PRIV_SPEC_CLASS_1P10,
+ PRIV_SPEC_CLASS_1P11,
+ PRIV_SPEC_CLASS_DRAFT
+};
+
+/* This structure holds all restricted conditions for a CSR. */
+
+struct riscv_csr_extra
+{
+ /* Class to which this CSR belongs. Used to decide whether or
+ not this CSR is legal in the current -march context. */
+ enum riscv_csr_class csr_class;
+
+ /* CSR may have differnet numbers in the previous priv spec. */
+ unsigned address;
+
+ /* Record the CSR is defined/valid in which versions. */
+ enum riscv_priv_spec_class define_version;
+
+ /* Record the CSR is aborted/invalid from which versions. If it isn't
+ aborted in the current version, then it should be CSR_CLASS_VDRAFT. */
+ enum riscv_priv_spec_class abort_version;
+
+ /* The CSR may have more than one setting. */
+ struct riscv_csr_extra *next;
+};
+
/* Instruction is a simple alias (e.g. "mv" for "addi"). */
#define INSN_ALIAS 0x00000001
@@ -420,5 +488,13 @@ extern const char * const riscv_fpr_names_abi[NFPR];
extern const struct riscv_opcode riscv_opcodes[];
extern const struct riscv_opcode riscv_insn_types[];
+extern const struct riscv_ext_version riscv_ext_version_table[];
+
+extern bfd_boolean
+riscv_get_isa_spec_class (const char *, enum riscv_isa_spec_class *);
+extern bfd_boolean
+riscv_get_priv_spec_class (const char *, enum riscv_priv_spec_class *);
+extern const char *
+riscv_get_priv_spec_name (enum riscv_priv_spec_class);
#endif /* _RISCV_H_ */
diff --git a/ld/ChangeLog b/ld/ChangeLog
index b4ee76c260..d95d5cfc21 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,19 @@
+2020-05-20 Nelson Chu <nelson.chu@sifive.com>
+
+ * 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.
+
2020-05-20 Alan Modra <amodra@gmail.com>
PR 25993
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
index 5baaba4c16..032f9641ad 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
@@ -7,3 +7,6 @@
Attribute Section: riscv
File Attributes
Tag_RISCV_arch: "rv32i2p0_m2p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
index a7d79a1ea2..54a7621f2c 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
@@ -7,3 +7,6 @@
Attribute Section: riscv
File Attributes
Tag_RISCV_arch: "rv32i2p0_m2p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
index d46dee808d..67f0437e32 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
@@ -7,3 +7,6 @@
Attribute Section: riscv
File Attributes
Tag_RISCV_arch: "rv32i2p0_m2p0_xbar2p0_xfoo2p0"
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s
index 1ad95002e5..0b7ffea1fc 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s
@@ -1,3 +1,3 @@
.attribute priv_spec, 1
- .attribute priv_spec_minor, 2
- .attribute priv_spec_revision, 3
+ .attribute priv_spec_minor, 9
+ .attribute priv_spec_revision, 1
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s
index 1ad95002e5..0b7ffea1fc 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s
@@ -1,3 +1,3 @@
.attribute priv_spec, 1
- .attribute priv_spec_minor, 2
- .attribute priv_spec_revision, 3
+ .attribute priv_spec_minor, 9
+ .attribute priv_spec_revision, 1
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec.d b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec.d
index dc4c4e08f9..0aa6fe0701 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec.d
@@ -8,5 +8,5 @@ Attribute Section: riscv
File Attributes
Tag_RISCV_arch: [a-zA-Z0-9_\"].*
Tag_RISCV_priv_spec: 1
- Tag_RISCV_priv_spec_minor: 2
- Tag_RISCV_priv_spec_revision: 3
+ Tag_RISCV_priv_spec_minor: 9
+ Tag_RISCV_priv_spec_revision: 1
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-stack-align.d b/ld/testsuite/ld-riscv-elf/attr-merge-stack-align.d
index 7a5bc8148b..5585fac3b7 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-stack-align.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-stack-align.d
@@ -8,3 +8,6 @@ Attribute Section: riscv
File Attributes
Tag_RISCV_stack_align: 16-bytes
Tag_RISCV_arch: [a-zA-Z0-9_\"].*
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01.d b/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01.d
index 10399307bb..91011a2ba4 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01.d
@@ -8,3 +8,6 @@ Attribute Section: riscv
File Attributes
Tag_RISCV_arch: [a-zA-Z0-9_\"].*
Tag_RISCV_unaligned_access: Unaligned access
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02.d b/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02.d
index 12ca1c4dd3..5bdea27948 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02.d
@@ -8,3 +8,6 @@ Attribute Section: riscv
File Attributes
Tag_RISCV_arch: [a-zA-Z0-9_\"].*
Tag_RISCV_unaligned_access: Unaligned access
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03.d b/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03.d
index e41351da01..ac886fb768 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03.d
@@ -8,3 +8,6 @@ Attribute Section: riscv
File Attributes
Tag_RISCV_arch: [a-zA-Z0-9_\"].*
Tag_RISCV_unaligned_access: Unaligned access
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04.d b/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04.d
index ac2a766cfc..dd45f76317 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04.d
@@ -7,3 +7,6 @@
Attribute Section: riscv
File Attributes
Tag_RISCV_arch: [a-zA-Z0-9_\"].*
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05.d b/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05.d
index 608c05e8c3..ef0c154a12 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05.d
@@ -8,3 +8,6 @@ Attribute Section: riscv
File Attributes
Tag_RISCV_arch: [a-zA-Z0-9_\"].*
Tag_RISCV_unaligned_access: Unaligned access
+ Tag_RISCV_priv_spec: [0-9_\"].*
+ Tag_RISCV_priv_spec_minor: [0-9_\"].*
+#...
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 4d4c77dbd4..d788d8c35a 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,34 @@
+2020-05-20 Nelson Chu <nelson.chu@sifive.com>
+
+ * 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.
+
2020-05-19 Peter Bergner <bergner@linux.ibm.com>
* ppc-opc.c (insert_ls, extract_ls): Handle 3-bit L fields and new
diff --git a/opcodes/po/opcodes.pot b/opcodes/po/opcodes.pot
index 62bcd32dfd..8ff1e9c975 100644
--- a/opcodes/po/opcodes.pot
+++ b/opcodes/po/opcodes.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-04-30 13:57+0100\n"
+"POT-Creation-Date: 2020-05-20 15:53+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"
@@ -75,7 +75,7 @@ msgid ""
msgstr ""
#: aarch64-dis.c:3552 mips-dis.c:2778 mips-dis.c:2788 mips-dis.c:2791
-#: nfp-dis.c:2981 riscv-dis.c:556
+#: nfp-dis.c:2981 riscv-dis.c:616
#, c-format
msgid "\n"
msgstr ""
@@ -663,7 +663,7 @@ msgstr ""
#: bpf-asm.c:181 epiphany-asm.c:456 fr30-asm.c:311 frv-asm.c:1264
#: ip2k-asm.c:512 iq2000-asm.c:460 lm32-asm.c:350 m32c-asm.c:1585
-#: m32r-asm.c:329 mep-asm.c:1288 mt-asm.c:596 or1k-asm.c:580 xc16x-asm.c:377
+#: m32r-asm.c:329 mep-asm.c:1288 mt-asm.c:596 or1k-asm.c:571 xc16x-asm.c:377
#: xstormy16-asm.c:277
#, c-format
msgid "internal error: unrecognized field %d while parsing"
@@ -671,7 +671,7 @@ msgstr ""
#: bpf-asm.c:233 epiphany-asm.c:508 fr30-asm.c:363 frv-asm.c:1316
#: ip2k-asm.c:564 iq2000-asm.c:512 lm32-asm.c:402 m32c-asm.c:1637
-#: m32r-asm.c:381 mep-asm.c:1340 mt-asm.c:648 or1k-asm.c:632 xc16x-asm.c:429
+#: m32r-asm.c:381 mep-asm.c:1340 mt-asm.c:648 or1k-asm.c:623 xc16x-asm.c:429
#: xstormy16-asm.c:329
msgid "missing mnemonic in syntax string"
msgstr ""
@@ -686,8 +686,8 @@ msgstr ""
#: m32c-asm.c:1772 m32c-asm.c:1776 m32c-asm.c:1865 m32c-asm.c:1972
#: m32r-asm.c:516 m32r-asm.c:520 m32r-asm.c:609 m32r-asm.c:716 mep-asm.c:1475
#: mep-asm.c:1479 mep-asm.c:1568 mep-asm.c:1675 mt-asm.c:783 mt-asm.c:787
-#: mt-asm.c:876 mt-asm.c:983 or1k-asm.c:767 or1k-asm.c:771 or1k-asm.c:860
-#: or1k-asm.c:967 xc16x-asm.c:564 xc16x-asm.c:568 xc16x-asm.c:657
+#: mt-asm.c:876 mt-asm.c:983 or1k-asm.c:758 or1k-asm.c:762 or1k-asm.c:851
+#: or1k-asm.c:958 xc16x-asm.c:564 xc16x-asm.c:568 xc16x-asm.c:657
#: xc16x-asm.c:764 xstormy16-asm.c:464 xstormy16-asm.c:468 xstormy16-asm.c:557
#: xstormy16-asm.c:664
msgid "unrecognized instruction"
@@ -695,7 +695,7 @@ msgstr ""
#: bpf-asm.c:415 epiphany-asm.c:690 fr30-asm.c:545 frv-asm.c:1498
#: ip2k-asm.c:746 iq2000-asm.c:694 lm32-asm.c:584 m32c-asm.c:1819
-#: m32r-asm.c:563 mep-asm.c:1522 mt-asm.c:830 or1k-asm.c:814 xc16x-asm.c:611
+#: m32r-asm.c:563 mep-asm.c:1522 mt-asm.c:830 or1k-asm.c:805 xc16x-asm.c:611
#: xstormy16-asm.c:511
#, c-format
msgid "syntax error (expected char `%c', found `%c')"
@@ -703,7 +703,7 @@ msgstr ""
#: bpf-asm.c:425 epiphany-asm.c:700 fr30-asm.c:555 frv-asm.c:1508
#: ip2k-asm.c:756 iq2000-asm.c:704 lm32-asm.c:594 m32c-asm.c:1829
-#: m32r-asm.c:573 mep-asm.c:1532 mt-asm.c:840 or1k-asm.c:824 xc16x-asm.c:621
+#: m32r-asm.c:573 mep-asm.c:1532 mt-asm.c:840 or1k-asm.c:815 xc16x-asm.c:621
#: xstormy16-asm.c:521
#, c-format
msgid "syntax error (expected char `%c', found end of instruction)"
@@ -711,21 +711,21 @@ msgstr ""
#: bpf-asm.c:455 epiphany-asm.c:730 fr30-asm.c:585 frv-asm.c:1538
#: ip2k-asm.c:786 iq2000-asm.c:734 lm32-asm.c:624 m32c-asm.c:1859
-#: m32r-asm.c:603 mep-asm.c:1562 mt-asm.c:870 or1k-asm.c:854 xc16x-asm.c:651
+#: m32r-asm.c:603 mep-asm.c:1562 mt-asm.c:870 or1k-asm.c:845 xc16x-asm.c:651
#: xstormy16-asm.c:551
msgid "junk at end of line"
msgstr ""
#: bpf-asm.c:567 epiphany-asm.c:842 fr30-asm.c:697 frv-asm.c:1650
#: ip2k-asm.c:898 iq2000-asm.c:846 lm32-asm.c:736 m32c-asm.c:1971
-#: m32r-asm.c:715 mep-asm.c:1674 mt-asm.c:982 or1k-asm.c:966 xc16x-asm.c:763
+#: m32r-asm.c:715 mep-asm.c:1674 mt-asm.c:982 or1k-asm.c:957 xc16x-asm.c:763
#: xstormy16-asm.c:663
msgid "unrecognized form of instruction"
msgstr ""
#: bpf-asm.c:581 epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664
#: ip2k-asm.c:912 iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985
-#: m32r-asm.c:729 mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:980 xc16x-asm.c:777
+#: m32r-asm.c:729 mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:971 xc16x-asm.c:777
#: xstormy16-asm.c:677
#, c-format
msgid "bad instruction `%.50s...'"
@@ -733,7 +733,7 @@ msgstr ""
#: bpf-asm.c:584 epiphany-asm.c:859 fr30-asm.c:714 frv-asm.c:1667
#: ip2k-asm.c:915 iq2000-asm.c:863 lm32-asm.c:753 m32c-asm.c:1988
-#: m32r-asm.c:732 mep-asm.c:1691 mt-asm.c:999 or1k-asm.c:983 xc16x-asm.c:780
+#: m32r-asm.c:732 mep-asm.c:1691 mt-asm.c:999 or1k-asm.c:974 xc16x-asm.c:780
#: xstormy16-asm.c:680
#, c-format
msgid "bad instruction `%.50s'"
@@ -766,7 +766,7 @@ msgstr ""
#: bpf-dis.c:203 epiphany-dis.c:279 fr30-dis.c:300 frv-dis.c:397 ip2k-dis.c:289
#: iq2000-dis.c:190 lm32-dis.c:148 m32c-dis.c:892 m32r-dis.c:280 mep-dis.c:1188
-#: mt-dis.c:291 or1k-dis.c:184 xc16x-dis.c:421 xstormy16-dis.c:169
+#: mt-dis.c:291 or1k-dis.c:175 xc16x-dis.c:421 xstormy16-dis.c:169
#, c-format
msgid "internal error: unrecognized field %d while printing insn"
msgstr ""
@@ -797,7 +797,7 @@ msgstr ""
#: bpf-ibld.c:628 epiphany-ibld.c:883 fr30-ibld.c:738 frv-ibld.c:864
#: ip2k-ibld.c:615 iq2000-ibld.c:721 lm32-ibld.c:642 m32c-ibld.c:1739
-#: m32r-ibld.c:673 mep-ibld.c:1216 mt-ibld.c:757 or1k-ibld.c:745
+#: m32r-ibld.c:673 mep-ibld.c:1216 mt-ibld.c:757 or1k-ibld.c:736
#: xc16x-ibld.c:760 xstormy16-ibld.c:686
#, c-format
msgid "internal error: unrecognized field %d while building insn"
@@ -805,7 +805,7 @@ msgstr ""
#: bpf-ibld.c:712 epiphany-ibld.c:1178 fr30-ibld.c:944 frv-ibld.c:1182
#: ip2k-ibld.c:691 iq2000-ibld.c:897 lm32-ibld.c:747 m32c-ibld.c:2901
-#: m32r-ibld.c:811 mep-ibld.c:1816 mt-ibld.c:978 or1k-ibld.c:913
+#: m32r-ibld.c:811 mep-ibld.c:1816 mt-ibld.c:978 or1k-ibld.c:895
#: xc16x-ibld.c:981 xstormy16-ibld.c:833
#, c-format
msgid "internal error: unrecognized field %d while decoding insn"
@@ -813,7 +813,7 @@ msgstr ""
#: bpf-ibld.c:781 epiphany-ibld.c:1322 fr30-ibld.c:1091 frv-ibld.c:1461
#: ip2k-ibld.c:766 iq2000-ibld.c:1029 lm32-ibld.c:837 m32c-ibld.c:3519
-#: m32r-ibld.c:925 mep-ibld.c:2287 mt-ibld.c:1179 or1k-ibld.c:1018
+#: m32r-ibld.c:925 mep-ibld.c:2287 mt-ibld.c:1179 or1k-ibld.c:991
#: xc16x-ibld.c:1203 xstormy16-ibld.c:944
#, c-format
msgid "internal error: unrecognized field %d while getting int operand"
@@ -821,7 +821,7 @@ msgstr ""
#: bpf-ibld.c:832 epiphany-ibld.c:1448 fr30-ibld.c:1220 frv-ibld.c:1722
#: ip2k-ibld.c:823 iq2000-ibld.c:1143 lm32-ibld.c:909 m32c-ibld.c:4119
-#: m32r-ibld.c:1021 mep-ibld.c:2740 mt-ibld.c:1362 or1k-ibld.c:1105
+#: m32r-ibld.c:1021 mep-ibld.c:2740 mt-ibld.c:1362 or1k-ibld.c:1069
#: xc16x-ibld.c:1407 xstormy16-ibld.c:1037
#, c-format
msgid "internal error: unrecognized field %d while getting vma operand"
@@ -829,7 +829,7 @@ msgstr ""
#: bpf-ibld.c:890 epiphany-ibld.c:1581 fr30-ibld.c:1352 frv-ibld.c:1990
#: ip2k-ibld.c:883 iq2000-ibld.c:1264 lm32-ibld.c:988 m32c-ibld.c:4707
-#: m32r-ibld.c:1123 mep-ibld.c:3154 mt-ibld.c:1552 or1k-ibld.c:1199
+#: m32r-ibld.c:1123 mep-ibld.c:3154 mt-ibld.c:1552 or1k-ibld.c:1154
#: xc16x-ibld.c:1612 xstormy16-ibld.c:1137
#, c-format
msgid "internal error: unrecognized field %d while setting int operand"
@@ -837,7 +837,7 @@ msgstr ""
#: bpf-ibld.c:938 epiphany-ibld.c:1704 fr30-ibld.c:1474 frv-ibld.c:2248
#: ip2k-ibld.c:933 iq2000-ibld.c:1375 lm32-ibld.c:1057 m32c-ibld.c:5285
-#: m32r-ibld.c:1215 mep-ibld.c:3558 mt-ibld.c:1732 or1k-ibld.c:1283
+#: m32r-ibld.c:1215 mep-ibld.c:3558 mt-ibld.c:1732 or1k-ibld.c:1229
#: xc16x-ibld.c:1807 xstormy16-ibld.c:1227
#, c-format
msgid "internal error: unrecognized field %d while setting vma operand"
@@ -1881,29 +1881,29 @@ msgstr ""
msgid "internal relocation type invalid"
msgstr ""
-#: or1k-desc.c:2213
+#: or1k-desc.c:2040
#, c-format
msgid ""
"internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize "
"values: `%d' vs. `%d'"
msgstr ""
-#: or1k-desc.c:2296
+#: or1k-desc.c:2123
#, c-format
msgid "internal error: or1k_cgen_cpu_open: unsupported argument `%d'"
msgstr ""
-#: or1k-desc.c:2315
+#: or1k-desc.c:2142
#, c-format
msgid "internal error: or1k_cgen_cpu_open: no endianness specified"
msgstr ""
-#: ppc-dis.c:376
+#: ppc-dis.c:381
#, c-format
msgid "warning: ignoring unknown -M%s option"
msgstr ""
-#: ppc-dis.c:965
+#: ppc-dis.c:972
#, c-format
msgid ""
"\n"
@@ -1935,101 +1935,126 @@ msgstr ""
msgid "attempt to set 'at' bits when using + or - modifier"
msgstr ""
-#: ppc-opc.c:658
+#: ppc-opc.c:677
msgid "invalid R operand"
msgstr ""
-#: ppc-opc.c:713
+#: ppc-opc.c:732
msgid "invalid mask field"
msgstr ""
-#: ppc-opc.c:736
+#: ppc-opc.c:755
msgid "invalid mfcr mask"
msgstr ""
-#: ppc-opc.c:812
+#: ppc-opc.c:873 ppc-opc.c:891
msgid "illegal L operand value"
msgstr ""
-#: ppc-opc.c:851
+#: ppc-opc.c:914
+msgid "illegal WC operand value"
+msgstr ""
+
+#: ppc-opc.c:1011
msgid "incompatible L operand value"
msgstr ""
-#: ppc-opc.c:891 ppc-opc.c:926
+#: ppc-opc.c:1051 ppc-opc.c:1086
msgid "illegal bitmask"
msgstr ""
-#: ppc-opc.c:1013
+#: ppc-opc.c:1173
msgid "address register in load range"
msgstr ""
-#: ppc-opc.c:1079
+#: ppc-opc.c:1213
+msgid "illegal PL operand value"
+msgstr ""
+
+#: ppc-opc.c:1274
msgid "index register in load range"
msgstr ""
-#: ppc-opc.c:1108 ppc-opc.c:1194
+#: ppc-opc.c:1303 ppc-opc.c:1389
msgid "source and target register operands must be different"
msgstr ""
-#: ppc-opc.c:1139
+#: ppc-opc.c:1334
msgid "invalid register operand when updating"
msgstr ""
-#: ppc-opc.c:1257
+#: ppc-opc.c:1452
msgid "illegal immediate value"
msgstr ""
-#: ppc-opc.c:1362
+#: ppc-opc.c:1557
msgid "invalid bat number"
msgstr ""
-#: ppc-opc.c:1397
+#: ppc-opc.c:1592
msgid "invalid sprg number"
msgstr ""
-#: ppc-opc.c:1434
+#: ppc-opc.c:1629
msgid "invalid tbr number"
msgstr ""
-#: ppc-opc.c:1581
+#: ppc-opc.c:1715 ppc-opc.c:1761
+msgid "VSR overlaps ACC operand"
+msgstr ""
+
+#: ppc-opc.c:1868
msgid "invalid constant"
msgstr ""
-#: ppc-opc.c:1683 ppc-opc.c:1706 ppc-opc.c:1729 ppc-opc.c:1752
+#: ppc-opc.c:1970 ppc-opc.c:1993 ppc-opc.c:2016 ppc-opc.c:2039
msgid "UIMM = 00000 is illegal"
msgstr ""
-#: ppc-opc.c:1775
+#: ppc-opc.c:2062
msgid "UIMM values >7 are illegal"
msgstr ""
-#: ppc-opc.c:1798
+#: ppc-opc.c:2085
msgid "UIMM values >15 are illegal"
msgstr ""
-#: ppc-opc.c:1821
+#: ppc-opc.c:2108
msgid "GPR odd is illegal"
msgstr ""
-#: ppc-opc.c:1844 ppc-opc.c:1867
+#: ppc-opc.c:2131 ppc-opc.c:2154
msgid "invalid offset"
msgstr ""
-#: ppc-opc.c:1890
+#: ppc-opc.c:2177
msgid "invalid Ddd value"
msgstr ""
-#: riscv-dis.c:68
+#. The option without '=' should be defined above.
+#: riscv-dis.c:84 riscv-dis.c:108
#, c-format
msgid "unrecognized disassembler option: %s"
msgstr ""
-#: riscv-dis.c:346
+#. Invalid options with '=', no option name before '=',
+#. and no value after '='.
+#: riscv-dis.c:92
+#, c-format
+msgid "unrecognized disassembler option with '=': %s"
+msgstr ""
+
+#: riscv-dis.c:102
+#, c-format
+msgid "unknown privilege spec set by %s=%s"
+msgstr ""
+
+#: riscv-dis.c:402
#, c-format
msgid "# internal error, undefined modifier (%c)"
msgstr ""
-#: riscv-dis.c:545
+#: riscv-dis.c:601
#, c-format
msgid ""
"\n"
@@ -2037,19 +2062,27 @@ msgid ""
"with the -M switch (multiple options should be separated by commas):\n"
msgstr ""
-#: riscv-dis.c:549
+#: riscv-dis.c:605
+#, c-format
+msgid ""
+"\n"
+" numeric Print numeric register names, rather than ABI names.\n"
+msgstr ""
+
+#: riscv-dis.c:608
#, c-format
msgid ""
"\n"
-" numeric Print numeric register names, rather than ABI names.\n"
+" no-aliases Disassemble only into canonical instructions, rather\n"
+" than into pseudoinstructions.\n"
msgstr ""
-#: riscv-dis.c:552
+#: riscv-dis.c:612
#, c-format
msgid ""
"\n"
-" no-aliases Disassemble only into canonical instructions, rather\n"
-" than into pseudoinstructions.\n"
+" priv-spec=PRIV Print the CSR according to the chosen privilege spec\n"
+" (1.9, 1.9.1, 1.10, 1.11).\n"
msgstr ""
#: rx-dis.c:139 rx-dis.c:163 rx-dis.c:171 rx-dis.c:179 rx-dis.c:187
diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c
index d7a184c4f9..f26a46e0b3 100644
--- a/opcodes/riscv-dis.c
+++ b/opcodes/riscv-dis.c
@@ -31,6 +31,8 @@
#include "bfd_stdint.h"
#include <ctype.h>
+static enum riscv_priv_spec_class default_priv_spec = PRIV_SPEC_CLASS_NONE;
+
struct riscv_private_data
{
bfd_vma gp;
@@ -52,8 +54,8 @@ set_default_riscv_dis_options (void)
no_aliases = 0;
}
-static void
-parse_riscv_dis_option (const char *option)
+static bfd_boolean
+parse_riscv_dis_option_without_args (const char *option)
{
if (strcmp (option, "no-aliases") == 0)
no_aliases = 1;
@@ -63,6 +65,44 @@ parse_riscv_dis_option (const char *option)
riscv_fpr_names = riscv_fpr_names_numeric;
}
else
+ return FALSE;
+ return TRUE;
+}
+
+static void
+parse_riscv_dis_option (const char *option)
+{
+ char *equal, *value;
+
+ if (parse_riscv_dis_option_without_args (option))
+ return;
+
+ equal = strchr (option, '=');
+ if (equal == NULL)
+ {
+ /* The option without '=' should be defined above. */
+ opcodes_error_handler (_("unrecognized disassembler option: %s"), option);
+ return;
+ }
+ if (equal == option
+ || *(equal + 1) == '\0')
+ {
+ /* Invalid options with '=', no option name before '=',
+ and no value after '='. */
+ opcodes_error_handler (_("unrecognized disassembler option with '=': %s"),
+ option);
+ return;
+ }
+
+ *equal = '\0';
+ value = equal + 1;
+ if (strcmp (option, "priv-spec") == 0)
+ {
+ if (!riscv_get_priv_spec_class (value, &default_priv_spec))
+ opcodes_error_handler (_("unknown privilege spec set by %s=%s"),
+ option, value);
+ }
+ else
{
/* xgettext:c-format */
opcodes_error_handler (_("unrecognized disassembler option: %s"), option);
@@ -322,16 +362,32 @@ print_insn_args (const char *d, insn_t l, bfd_vma pc, disassemble_info *info)
case 'E':
{
- const char* csr_name = NULL;
+ static const char *riscv_csr_hash[4096]; /* Total 2^12 CSR. */
+ static bfd_boolean init_csr = FALSE;
unsigned int csr = EXTRACT_OPERAND (CSR, l);
- switch (csr)
+
+ if (!init_csr)
{
-#define DECLARE_CSR(name, num, class) case num: csr_name = #name; break;
+ unsigned int i;
+ for (i = 0; i < 4096; i++)
+ riscv_csr_hash[i] = NULL;
+
+ /* Set to the newest privilege version. */
+ if (default_priv_spec == PRIV_SPEC_CLASS_NONE)
+ default_priv_spec = PRIV_SPEC_CLASS_DRAFT - 1;
+
+#define DECLARE_CSR(name, num, class, define_version, abort_version) \
+ if (default_priv_spec >= define_version \
+ && default_priv_spec < abort_version) \
+ riscv_csr_hash[num] = #name;
+#define DECLARE_CSR_ALIAS(name, num, class, define_version, abort_version) \
+ DECLARE_CSR (name, num, class, define_version, abort_version)
#include "opcode/riscv-opc.h"
#undef DECLARE_CSR
}
- if (csr_name)
- print (info->stream, "%s", csr_name);
+
+ if (riscv_csr_hash[csr] != NULL)
+ print (info->stream, "%s", riscv_csr_hash[csr]);
else
print (info->stream, "0x%x", csr);
break;
@@ -547,11 +603,15 @@ The following RISC-V-specific disassembler options are supported for use\n\
with the -M switch (multiple options should be separated by commas):\n"));
fprintf (stream, _("\n\
- numeric Print numeric register names, rather than ABI names.\n"));
+ numeric Print numeric register names, rather than ABI names.\n"));
+
+ fprintf (stream, _("\n\
+ no-aliases Disassemble only into canonical instructions, rather\n\
+ than into pseudoinstructions.\n"));
fprintf (stream, _("\n\
- no-aliases Disassemble only into canonical instructions, rather\n\
- than into pseudoinstructions.\n"));
+ priv-spec=PRIV Print the CSR according to the chosen privilege spec\n\
+ (1.9, 1.9.1, 1.10, 1.11).\n"));
fprintf (stream, _("\n"));
}
diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
index ceedcafc19..f011f1bbb7 100644
--- a/opcodes/riscv-opc.c
+++ b/opcodes/riscv-opc.c
@@ -884,3 +884,147 @@ const struct riscv_opcode riscv_insn_types[] =
/* Terminate the list. */
{0, 0, INSN_CLASS_NONE, 0, 0, 0, 0, 0}
};
+
+/* All standard extensions defined in all supported ISA spec. */
+const struct riscv_ext_version riscv_ext_version_table[] =
+{
+/* name, ISA spec, major version, minor_version. */
+{"e", ISA_SPEC_CLASS_20191213, 1, 9},
+{"e", ISA_SPEC_CLASS_20190608, 1, 9},
+{"e", ISA_SPEC_CLASS_2P2, 1, 9},
+
+{"i", ISA_SPEC_CLASS_20191213, 2, 1},
+{"i", ISA_SPEC_CLASS_20190608, 2, 1},
+{"i", ISA_SPEC_CLASS_2P2, 2, 0},
+
+{"m", ISA_SPEC_CLASS_20191213, 2, 0},
+{"m", ISA_SPEC_CLASS_20190608, 2, 0},
+{"m", ISA_SPEC_CLASS_2P2, 2, 0},
+
+{"a", ISA_SPEC_CLASS_20191213, 2, 1},
+{"a", ISA_SPEC_CLASS_20190608, 2, 0},
+{"a", ISA_SPEC_CLASS_2P2, 2, 0},
+
+{"f", ISA_SPEC_CLASS_20191213, 2, 2},
+{"f", ISA_SPEC_CLASS_20190608, 2, 2},
+{"f", ISA_SPEC_CLASS_2P2, 2, 0},
+
+{"d", ISA_SPEC_CLASS_20191213, 2, 2},
+{"d", ISA_SPEC_CLASS_20190608, 2, 2},
+{"d", ISA_SPEC_CLASS_2P2, 2, 0},
+
+{"q", ISA_SPEC_CLASS_20191213, 2, 2},
+{"q", ISA_SPEC_CLASS_20190608, 2, 2},
+{"q", ISA_SPEC_CLASS_2P2, 2, 0},
+
+{"c", ISA_SPEC_CLASS_20191213, 2, 0},
+{"c", ISA_SPEC_CLASS_20190608, 2, 0},
+{"c", ISA_SPEC_CLASS_2P2, 2, 0},
+
+{"p", ISA_SPEC_CLASS_20191213, 0, 2},
+{"p", ISA_SPEC_CLASS_20190608, 0, 2},
+{"p", ISA_SPEC_CLASS_2P2, 0, 1},
+
+{"v", ISA_SPEC_CLASS_20191213, 0, 7},
+{"v", ISA_SPEC_CLASS_20190608, 0, 7},
+{"v", ISA_SPEC_CLASS_2P2, 0, 7},
+
+{"n", ISA_SPEC_CLASS_20190608, 1, 1},
+{"n", ISA_SPEC_CLASS_2P2, 1, 1},
+
+{"zicsr", ISA_SPEC_CLASS_20191213, 2, 0},
+{"zicsr", ISA_SPEC_CLASS_20190608, 2, 0},
+
+/* Terminate the list. */
+{NULL, 0, 0, 0}
+};
+
+struct isa_spec_t
+{
+ const char *name;
+ enum riscv_isa_spec_class class;
+};
+
+/* List for all supported ISA spec versions. */
+static const struct isa_spec_t isa_specs[] =
+{
+ {"2.2", ISA_SPEC_CLASS_2P2},
+ {"20190608", ISA_SPEC_CLASS_20190608},
+ {"20191213", ISA_SPEC_CLASS_20191213},
+
+/* Terminate the list. */
+ {NULL, 0}
+};
+
+/* Get the corresponding ISA spec class by giving a ISA spec string. */
+
+bfd_boolean
+riscv_get_isa_spec_class (const char *s,
+ enum riscv_isa_spec_class *class)
+{
+ const struct isa_spec_t *version;
+
+ if (s == NULL)
+ return FALSE;
+
+ for (version = &isa_specs[0]; version->name != NULL; ++version)
+ if (strcmp (version->name, s) == 0)
+ {
+ *class = version->class;
+ return TRUE;
+ }
+
+ /* Can not find the supported ISA spec. */
+ return FALSE;
+}
+
+struct priv_spec_t
+{
+ const char *name;
+ enum riscv_priv_spec_class class;
+};
+
+/* List for all supported privilege versions. */
+static const struct priv_spec_t priv_specs[] =
+{
+ {"1.9", PRIV_SPEC_CLASS_1P9},
+ {"1.9.1", PRIV_SPEC_CLASS_1P9P1},
+ {"1.10", PRIV_SPEC_CLASS_1P10},
+ {"1.11", PRIV_SPEC_CLASS_1P11},
+
+/* Terminate the list. */
+ {NULL, 0}
+};
+
+/* Get the corresponding CSR version class by giving a privilege
+ version string. */
+
+bfd_boolean
+riscv_get_priv_spec_class (const char *s,
+ enum riscv_priv_spec_class *class)
+{
+ const struct priv_spec_t *version;
+
+ if (s == NULL)
+ return FALSE;
+
+ for (version = &priv_specs[0]; version->name != NULL; ++version)
+ if (strcmp (version->name, s) == 0)
+ {
+ *class = version->class;
+ return TRUE;
+ }
+
+ /* Can not find the supported privilege version. */
+ return FALSE;
+}
+
+/* Get the corresponding privilege version string by giving a CSR
+ version class. */
+
+const char *
+riscv_get_priv_spec_name (enum riscv_priv_spec_class class)
+{
+ /* The first enum is PRIV_SPEC_CLASS_NONE. */
+ return priv_specs[class - 1].name;
+}