From: Nelson Chu Date: Wed, 20 May 2020 16:22:48 +0000 (+0100) Subject: [PATCH v2 0/9] RISC-V: Support version controling for ISA standard extensions and CSR X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8f595e9b4fd0a3a74d53ddffd69f2825627ae5c6;p=binutils-gdb.git [PATCH v2 0/9] RISC-V: Support version controling for ISA standard extensions and CSR 1. Remove the -mriscv-isa-version and --with-riscv-isa-version options. We can still use -march to choose the version for each extensions, so there is no need to add these. 2. Change the arguments of options from [1p9|1p9p1|...] to [1.9|1.9.1|...]. Unlike the architecture string has specified by spec, ther is no need to do the same thing for options. 3. Spilt the patches to reduce the burdens of review. [PATCH 3/7] RISC-V: Support new GAS options and configure options to set ISA versions to [PATCH v2 3/9] RISC-V: Support GAS option -misa-spec to set ISA versions [PATCH v2 4/9] RISC-V: Support configure options to set ISA versions by default. [PATCH 4/7] RISC-V: Support version checking for CSR according to privilege version. to [PATCH v2 5/9] RISC-V: Support version checking for CSR according to privilege spec version. [PATCH v2 6/9] RISC-V: Support configure option to choose the privilege spec version. 4. Use enum class rather than string to compare the choosen ISA spec in opcodes/riscv-opc.c. The behavior is same as comparing the choosen privilege spec. include * opcode/riscv.h: Include "bfd.h" to support bfd_boolean. (enum riscv_isa_spec_class): New enum class. All supported ISA spec belong to one of the class (struct riscv_ext_version): New structure holds version information for the specific ISA. * opcode/riscv-opc.h (DECLARE_CSR): There are two version information, define_version and abort_version. The define_version means which privilege spec is started to define the CSR, and the abort_version means which privilege spec is started to abort the CSR. If the CSR is valid for the newest spec, then the abort_version should be PRIV_SPEC_CLASS_DRAFT. (DECLARE_CSR_ALIAS): Same as DECLARE_CSR, but only for the obselete CSR. * opcode/riscv.h (enum riscv_priv_spec_class): New enum class. Define the current supported privilege spec versions. (struct riscv_csr_extra): Add new fields to store more information about the CSR. We use these information to find the suitable CSR address when user choosing a specific privilege spec. binutils * dwarf.c: Updated since DECLARE_CSR is changed. opcodes * riscv-opc.c (riscv_ext_version_table): The table used to store all information about the supported spec and the corresponding ISA versions. Currently, only Zicsr is supported to verify the correctness of Z sub extension settings. Others will be supported in the future patches. (struct isa_spec_t, isa_specs): List for all supported ISA spec classes and the corresponding strings. (riscv_get_isa_spec_class): New function. Get the corresponding ISA spec class by giving a ISA spec string. * riscv-opc.c (struct priv_spec_t): New structure. (struct priv_spec_t priv_specs): List for all supported privilege spec classes and the corresponding strings. (riscv_get_priv_spec_class): New function. Get the corresponding privilege spec class by giving a spec string. (riscv_get_priv_spec_name): New function. Get the corresponding privilege spec string by giving a CSR version class. * riscv-dis.c: Updated since DECLARE_CSR is changed. * riscv-dis.c: Add new disassembler option -Mpriv-spec to dump the CSR according to the chosen version. Build a hash table riscv_csr_hash to store the valid CSR for the chosen pirv verison. Dump the direct CSR address rather than it's name if it is invalid. (parse_riscv_dis_option_without_args): New function. Parse the options without arguments. (parse_riscv_dis_option): Call parse_riscv_dis_option_without_args to parse the options without arguments first, and then handle the options with arguments. Add the new option -Mpriv-spec, which has argument. * riscv-dis.c (print_riscv_disassembler_options): Add description about the new OBJDUMP option. ld * testsuite/ld-riscv-elf/attr-merge-arch-01.d: Updated priv attributes according to the -mpriv-spec option. * testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise. bfd * elfxx-riscv.h (riscv_parse_subset_t): Add new callback function get_default_version. It is used to find the default version for the specific extension. * elfxx-riscv.c (riscv_parsing_subset_version): Remove the parameters default_major_version and default_minor_version. Add new bfd_boolean parameter *use_default_version. Set it to TRUE if we need to call the callback rps->get_default_version to find the default version. (riscv_parse_std_ext): Call rps->get_default_version if we fail to find the default version in riscv_parsing_subset_version, and then call riscv_add_subset to add the subset into subset list. (riscv_parse_prefixed_ext): Likewise. (riscv_std_z_ext_strtab): Support Zicsr extensions. * elfnn-riscv.c (riscv_merge_std_ext): Use strcasecmp to compare the strings rather than characters. riscv_merge_arch_attr_info): The callback function get_default_version is only needed for assembler, so set it to NULL int the linker. * elfxx-riscv.c (riscv_estimate_digit): Remove the static. * elfxx-riscv.h: Updated. gas * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: Updated. * config/tc-riscv.c (default_arch_with_ext, default_isa_spec): Static variables which are used to set the ISA extensions. You can use -march (or ELF build attributes) and -misa-spec to set them, respectively. (ext_version_hash): The hash table used to handle the extensions with versions. (init_ext_version_hash): Initialize the ext_version_hash according to riscv_ext_version_table. (riscv_get_default_ext_version): The callback function of riscv_parse_subset_t. According to the choosed ISA spec, get the default version for the specific extension. (riscv_set_arch): Set the callback function. (enum options, struct option md_longopts): Add new option -misa-spec. (md_parse_option): Do not call riscv_set_arch for -march. We will call it later in riscv_after_parse_args. Call riscv_get_isa_spec_class to set default_isa_spec class. (riscv_after_parse_args): Call init_ext_version_hash to initialize the ext_version_hash, and then call riscv_set_arch to set the architecture with versions according to default_arch_with_ext. * testsuite/gas/riscv/attribute-02.d: Set 0p0 as default version for x extensions. * testsuite/gas/riscv/attribute-03.d: Likewise. * testsuite/gas/riscv/attribute-09.d: New testcase. For i-ext, we already set it's version to 2p1 by march, so no need to use the default 2p2 version. For m-ext, we do not set the version by -march and ELF arch attribute, so set the default 2p0 to it. For zicsr, it is not defined in ISA spec 2p2, so set 0p0 to it. * testsuite/gas/riscv/attribute-10.d: New testcase. The version of zicsr is 2p0 according to ISA spec 20191213. * config/tc-riscv.c (DEFAULT_RISCV_ARCH_WITH_EXT) (DEFAULT_RISCV_ISA_SPEC): Default configure option settings. You can set them by configure options --with-arch and --with-isa-spec, respectively. (riscv_set_default_isa_spec): New function used to set the default ISA spec. (md_parse_option): Call riscv_set_default_isa_spec rather than call riscv_get_isa_spec_class directly. (riscv_after_parse_args): If the -isa-spec is not set, then we set the default ISA spec according to DEFAULT_RISCV_ISA_SPEC by calling riscv_set_default_isa_spec. * testsuite/gas/riscv/attribute-01.d: Add -misa-spec=2.2, since the --with-isa-spec may be set to different ISA spec. * testsuite/gas/riscv/attribute-02.d: Likewise. * testsuite/gas/riscv/attribute-03.d: Likewise. * testsuite/gas/riscv/attribute-04.d: Likewise. * testsuite/gas/riscv/attribute-05.d: Likewise. * testsuite/gas/riscv/attribute-06.d: Likewise. * testsuite/gas/riscv/attribute-07.d: Likewise. * configure.ac: Add configure options, --with-arch and --with-isa-spec. * configure: Regenerated. * config.in: Regenerated. * config/tc-riscv.c (default_priv_spec): Static variable which is used to check if the CSR is valid for the chosen privilege spec. You can use -mpriv-spec to set it. (enum reg_class): We now get the CSR address from csr_extra_hash rather than reg_names_hash. Therefore, move RCLASS_CSR behind RCLASS_MAX. (riscv_init_csr_hashes): Only need to initialize one hash table csr_extra_hash. (riscv_csr_class_check): Change the return type to void. Don't check the ISA dependency if -mcsr-check isn't set. (riscv_csr_version_check): New function. Check and find the CSR address from csr_extra_hash, according to default_priv_spec. Report warning for the invalid CSR if -mcsr-check is set. (reg_csr_lookup_internal): Updated. (reg_lookup_internal): Likewise. (md_begin): Updated since DECLARE_CSR and DECLARE_CSR_ALIAS are changed. (enum options, struct option md_longopts): Add new GAS option -mpriv-spec. (md_parse_option): Call riscv_set_default_priv_version to set default_priv_spec. (riscv_after_parse_args): If -mpriv-spec isn't set, then set the default privilege spec to the newest one. (enum riscv_csr_class, struct riscv_csr_extra): Move them to include/opcode/riscv.h. * testsuite/gas/riscv/priv-reg-fail-fext.d: This test case just want to check the ISA dependency for CSR, so fix the spec version by adding -mpriv-spec=1.11. * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise. There are some version warnings for the test case. * gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise. * gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise. * gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise. * gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise. * gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise. * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.d: New test case. Check whether the CSR is valid when privilege version 1.9 is choosed. * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Likewise. * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: New test case. Check whether the CSR is valid when privilege version 1.9.1 is choosed. * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l: Likewise. * gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.d: New test case. Check whether the CSR is valid when privilege version 1.10 is choosed. * gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l: Likewise. * gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.d: New test case. Check whether the CSR is valid when privilege version 1.11 is choosed. * gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l: Likewise. * config/tc-riscv.c (DEFAULT_RISCV_ISA_SPEC): Default configure option setting. You can set it by configure option --with-priv-spec. (riscv_set_default_priv_spec): New function used to set the default privilege spec. (md_parse_option): Call riscv_set_default_priv_spec rather than call riscv_get_priv_spec_class directly. (riscv_after_parse_args): If -mpriv-spec isn't set, then we set the default privilege spec according to DEFAULT_RISCV_PRIV_SPEC by calling riscv_set_default_priv_spec. * testsuite/gas/riscv/csr-dw-regnums.d: Add -mpriv-spec=1.11, since the --with-priv-spec may be set to different privilege spec. * testsuite/gas/riscv/priv-reg.d: Likewise. * configure.ac: Add configure option --with-priv-spec. * configure: Regenerated. * config.in: Regenerated. * config/tc-riscv.c (explicit_attr): Rename explicit_arch_attr to explicit_attr. Set it to TRUE if any ELF attribute is found. (riscv_set_default_priv_spec): Try to set the default_priv_spec if the priv attributes are set. (md_assemble): Set the default_priv_spec according to the priv attributes when we start to assemble instruction. (riscv_write_out_attrs): Rename riscv_write_out_arch_attr to riscv_write_out_attrs. Update the arch and priv attributes. If we don't set the corresponding ELF attributes, then try to output the default ones. (riscv_set_public_attributes): If any ELF attribute or -march-attr options is set (explicit_attr is TRUE), then call riscv_write_out_attrs to update the arch and priv attributes. (s_riscv_attribute): Make sure all arch and priv attributes are set before any instruction. * testsuite/gas/riscv/attribute-01.d: Update the priv attributes if any ELF attribute or -march-attr is set. If the priv attributes are not set, then try to update them by the default setting (-mpriv-spec or --with-priv-spec). * testsuite/gas/riscv/attribute-02.d: Likewise. * testsuite/gas/riscv/attribute-03.d: Likewise. * testsuite/gas/riscv/attribute-04.d: Likewise. * testsuite/gas/riscv/attribute-06.d: Likewise. * testsuite/gas/riscv/attribute-07.d: Likewise. * testsuite/gas/riscv/attribute-08.d: Likewise. * testsuite/gas/riscv/attribute-09.d: Likewise. * testsuite/gas/riscv/attribute-10.d: Likewise. * testsuite/gas/riscv/attribute-unknown.d: Likewise. * testsuite/gas/riscv/attribute-05.d: Likewise. Also, the priv spec set by priv attributes must be supported. * testsuite/gas/riscv/attribute-05.s: Likewise. * testsuite/gas/riscv/priv-reg-fail-version-1p9.d: Likewise. Updated priv attributes according to the -mpriv-spec option. * testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: Likewise. * testsuite/gas/riscv/priv-reg-fail-version-1p10.d: Likewise. * testsuite/gas/riscv/priv-reg-fail-version-1p11.d: Likewise. * testsuite/gas/riscv/priv-reg.d: Removed. * testsuite/gas/riscv/priv-reg-version-1p9.d: New test case. Dump the CSR according to the priv spec 1.9. * testsuite/gas/riscv/priv-reg-version-1p9p1.d: New test case. Dump the CSR according to the priv spec 1.9.1. * testsuite/gas/riscv/priv-reg-version-1p10.d: New test case. Dump the CSR according to the priv spec 1.10. * testsuite/gas/riscv/priv-reg-version-1p11.d: New test case. Dump the CSR according to the priv spec 1.11. * config/tc-riscv.c (md_show_usage): Add descriptions about the new GAS options. * doc/c-riscv.texi: Likewise. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 18543cf8403..b3dabb3f33a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,24 @@ +2020-05-20 Nelson Chu + + * 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 PR 25993 diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c index a9e8132505b..e8e377e3257 100644 --- a/bfd/elfnn-riscv.c +++ b/bfd/elfnn-riscv.c @@ -2810,7 +2810,7 @@ riscv_merge_std_ext (bfd *ibfd, if (!riscv_i_or_e_p (ibfd, out_arch, out)) return FALSE; - if (in->name[0] != out->name[0]) + if (strcasecmp (in->name, out->name) != 0) { /* TODO: We might allow merge 'i' with 'e'. */ _bfd_error_handler @@ -2983,13 +2983,17 @@ riscv_merge_arch_attr_info (bfd *ibfd, char *in_arch, char *out_arch) riscv_parse_subset_t rpe_in; riscv_parse_subset_t rpe_out; + /* Only assembler needs to check the default version of ISA, so just set + the rpe_in.get_default_version and rpe_out.get_default_version to NULL. */ rpe_in.subset_list = &in_subsets; rpe_in.error_handler = _bfd_error_handler; rpe_in.xlen = &xlen_in; + rpe_in.get_default_version = NULL; rpe_out.subset_list = &out_subsets; rpe_out.error_handler = _bfd_error_handler; rpe_out.xlen = &xlen_out; + rpe_out.get_default_version = NULL; if (in_arch == NULL && out_arch == NULL) return NULL; diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index b15fdee9c71..5dd36ab965a 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1025,9 +1025,8 @@ riscv_elf_add_sub_reloc (bfd *abfd, `minor_version`: Parsing result of minor version, set to 0 if version is not present in arch string, but set to `default_minor_version` if `major_version` using default_major_version. - `default_major_version`: Default major version. - `default_minor_version`: Default minor version. - `std_ext_p`: True if parsing std extension. */ + `std_ext_p`: True if parsing std extension. + `use_default_version`: Set it to True if we need the default version. */ static const char * riscv_parsing_subset_version (riscv_parse_subset_t *rps, @@ -1035,17 +1034,16 @@ riscv_parsing_subset_version (riscv_parse_subset_t *rps, const char *p, unsigned *major_version, unsigned *minor_version, - unsigned default_major_version, - unsigned default_minor_version, - bfd_boolean std_ext_p) + bfd_boolean std_ext_p, + bfd_boolean *use_default_version) { bfd_boolean major_p = TRUE; unsigned version = 0; - unsigned major = 0; - unsigned minor = 0; char np; - for (;*p; ++p) + *major_version = 0; + *minor_version = 0; + for (; *p; ++p) { if (*p == 'p') { @@ -1062,13 +1060,14 @@ riscv_parsing_subset_version (riscv_parse_subset_t *rps, } else { - rps->error_handler ("-march=%s: Expect number after `%dp'.", - march, version); + rps->error_handler + (_("-march=%s: Expect number after `%dp'."), + march, version); return NULL; } } - major = version; + *major_version = version; major_p = FALSE; version = 0; } @@ -1079,21 +1078,15 @@ riscv_parsing_subset_version (riscv_parse_subset_t *rps, } if (major_p) - major = version; + *major_version = version; else - minor = version; + *minor_version = version; - if (major == 0 && minor == 0) - { - /* We don't found any version string, use default version. */ - *major_version = default_major_version; - *minor_version = default_minor_version; - } - else - { - *major_version = major; - *minor_version = minor; - } + /* We can not find any version in string, need to parse default version. */ + if (use_default_version != NULL + && *major_version == 0 + && *minor_version == 0) + *use_default_version = TRUE; return p; } @@ -1118,78 +1111,114 @@ riscv_supported_std_ext (void) static const char * riscv_parse_std_ext (riscv_parse_subset_t *rps, - const char *march, const char *p) + const char *march, + const char *p) { const char *all_std_exts = riscv_supported_std_ext (); const char *std_exts = all_std_exts; - unsigned major_version = 0; unsigned minor_version = 0; char std_ext = '\0'; + bfd_boolean use_default_version = FALSE; /* First letter must start with i, e or g. */ switch (*p) { case 'i': - p++; - p = riscv_parsing_subset_version ( - rps, - march, - p, &major_version, &minor_version, - /* default_major_version= */ 2, - /* default_minor_version= */ 0, - /* std_ext_p= */TRUE); - riscv_add_subset (rps->subset_list, "i", major_version, minor_version); + p = riscv_parsing_subset_version (rps, + march, + ++p, + &major_version, + &minor_version, + /* std_ext_p= */TRUE, + &use_default_version); + + /* Find the default version if needed. */ + if (use_default_version + && rps->get_default_version != NULL) + rps->get_default_version ("i", + &major_version, + &minor_version); + riscv_add_subset (rps->subset_list, "i", + major_version, minor_version); break; case 'e': - p++; - p = riscv_parsing_subset_version ( - rps, - march, - p, &major_version, &minor_version, - /* default_major_version= */ 1, - /* default_minor_version= */ 9, - /* std_ext_p= */TRUE); - - riscv_add_subset (rps->subset_list, "e", major_version, minor_version); - riscv_add_subset (rps->subset_list, "i", 2, 0); + p = riscv_parsing_subset_version (rps, + march, + ++p, + &major_version, + &minor_version, + /* std_ext_p= */TRUE, + &use_default_version); + + /* Find the default version if needed. */ + if (use_default_version + && rps->get_default_version != NULL) + rps->get_default_version ("e", + &major_version, + &minor_version); + riscv_add_subset (rps->subset_list, "e", + major_version, minor_version); + + /* i-ext must be enabled. */ + if (rps->get_default_version != NULL) + rps->get_default_version ("i", + &major_version, + &minor_version); + riscv_add_subset (rps->subset_list, "i", + major_version, minor_version); if (*rps->xlen > 32) { - rps->error_handler ("-march=%s: rv%de is not a valid base ISA", - march, *rps->xlen); + rps->error_handler + (_("-march=%s: rv%de is not a valid base ISA"), + march, *rps->xlen); return NULL; } - break; case 'g': - p++; - p = riscv_parsing_subset_version ( - rps, - march, - p, &major_version, &minor_version, - /* default_major_version= */ 2, - /* default_minor_version= */ 0, - /* std_ext_p= */TRUE); - riscv_add_subset (rps->subset_list, "i", major_version, minor_version); + /* The g-ext shouldn't has the version, so we just + skip the setting if user set a version to it. */ + p = riscv_parsing_subset_version (rps, + march, + ++p, + &major_version, + &minor_version, + TRUE, + &use_default_version); + + /* i-ext must be enabled. */ + if (rps->get_default_version != NULL) + rps->get_default_version ("i", + &major_version, + &minor_version); + riscv_add_subset (rps->subset_list, "i", + major_version, minor_version); for ( ; *std_exts != 'q'; std_exts++) { const char subset[] = {*std_exts, '\0'}; - riscv_add_subset ( - rps->subset_list, subset, major_version, minor_version); + + if (rps->get_default_version != NULL) + rps->get_default_version (subset, + &major_version, + &minor_version); + riscv_add_subset (rps->subset_list, subset, + major_version, minor_version); } break; default: - rps->error_handler ( - "-march=%s: first ISA subset must be `e', `i' or `g'", march); + rps->error_handler + (_("-march=%s: first ISA subset must be `e', `i' or `g'"), march); return NULL; } - while (*p) + /* The riscv_parsing_subset_version may set `p` to NULL, so I think we should + skip parsing the string if `p` is NULL or value of `p` is `\0`. */ + while (p != NULL && *p != '\0') { char subset[2] = {0, 0}; @@ -1210,29 +1239,35 @@ riscv_parse_std_ext (riscv_parse_subset_t *rps, if (std_ext != *std_exts) { if (strchr (all_std_exts, std_ext) == NULL) - rps->error_handler ( - "-march=%s: unsupported ISA subset `%c'", march, *p); + rps->error_handler + (_("-march=%s: unsupported ISA subset `%c'"), march, *p); else - rps->error_handler ( - "-march=%s: ISA string is not in canonical order. `%c'", - march, *p); + rps->error_handler + (_("-march=%s: ISA string is not in canonical order. `%c'"), + march, *p); return NULL; } std_exts++; - p++; - p = riscv_parsing_subset_version ( - rps, - march, - p, &major_version, &minor_version, - /* default_major_version= */ 2, - /* default_minor_version= */ 0, - /* std_ext_p= */TRUE); - + use_default_version = FALSE; subset[0] = std_ext; - - riscv_add_subset (rps->subset_list, subset, major_version, minor_version); + p = riscv_parsing_subset_version (rps, + march, + ++p, + &major_version, + &minor_version, + TRUE, + &use_default_version); + + /* Find the default version if needed. */ + if (use_default_version + && rps->get_default_version != NULL) + rps->get_default_version (subset, + &major_version, + &minor_version); + riscv_add_subset (rps->subset_list, subset, + major_version, minor_version); } return p; } @@ -1272,9 +1307,10 @@ typedef struct riscv_parse_config } riscv_parse_config_t; /* Parse a generic prefixed extension. - march: The full architecture string as passed in by "-march=...". - p: Point from which to start parsing the -march string. - config: What class of extensions to parse, predicate funcs, + `rps`: Hooks and status for parsing subset. + `march`: The full architecture string as passed in by "-march=...". + `p`: Point from which to start parsing the -march string. + `config`: What class of extensions to parse, predicate funcs, and strings to use in error reporting. */ static const char * @@ -1287,6 +1323,7 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps, unsigned minor_version = 0; const char *last_name; riscv_isa_ext_class_t class; + bfd_boolean use_default_version; while (*p) { @@ -1309,15 +1346,11 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps, while (*++q != '\0' && *q != '_' && !ISDIGIT (*q)) ; + use_default_version = FALSE; end_of_version = - riscv_parsing_subset_version ( - rps, - march, - q, &major_version, &minor_version, - /* default_major_version= */ 2, - /* default_minor_version= */ 0, - /* std_ext_p= */FALSE); - + riscv_parsing_subset_version (rps, march, q, &major_version, + &minor_version, FALSE, + &use_default_version); *q = '\0'; /* Check that the name is valid. @@ -1329,7 +1362,7 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps, if (!config->ext_valid_p (subset)) { rps->error_handler - ("-march=%s: Invalid or unknown %s ISA extension: '%s'", + (_("-march=%s: Invalid or unknown %s ISA extension: '%s'"), march, config->prefix, subset); free (subset); return NULL; @@ -1337,11 +1370,11 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps, /* Check that the last item is not the same as this. */ last_name = rps->subset_list->tail->name; - if (!strcasecmp (last_name, subset)) { - rps->error_handler ("-march=%s: Duplicate %s ISA extension: \'%s\'", - march, config->prefix, subset); + rps->error_handler + (_("-march=%s: Duplicate %s ISA extension: \'%s\'"), + march, config->prefix, subset); free (subset); return NULL; } @@ -1350,20 +1383,29 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps, if (!strncasecmp (last_name, config->prefix, 1) && strcasecmp (last_name, subset) > 0) { - rps->error_handler ("-march=%s: %s ISA extension not in alphabetical " - "order: \'%s\' must come before \'%s\'.", - march, config->prefix, subset, last_name); + rps->error_handler + (_("\ +-march=%s: %s ISA extension not in alphabetical order: \'%s\' must come before \'%s\'."), + march, config->prefix, subset, last_name); free (subset); return NULL; } - riscv_add_subset (rps->subset_list, subset, major_version, minor_version); + /* Find the default version if needed. */ + if (use_default_version + && rps->get_default_version != NULL) + rps->get_default_version (subset, + &major_version, + &minor_version); + riscv_add_subset (rps->subset_list, subset, + major_version, minor_version); + free (subset); p += end_of_version - subset; if (*p != '\0' && *p != '_') { - rps->error_handler ("-march=%s: %s must separate with _", + rps->error_handler (_("-march=%s: %s must separate with _"), march, config->prefix); return NULL; } @@ -1384,7 +1426,7 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps, static const char * const riscv_std_z_ext_strtab[] = { - NULL + "zicsr", NULL }; /* Same as `riscv_std_z_ext_strtab', but for S-class extensions. */ @@ -1478,8 +1520,9 @@ riscv_parse_subset (riscv_parse_subset_t *rps, } else { - rps->error_handler ("-march=%s: ISA string must begin with rv32 or rv64", - arch); + rps->error_handler + (_("-march=%s: ISA string must begin with rv32 or rv64"), + arch); return FALSE; } @@ -1490,7 +1533,6 @@ riscv_parse_subset (riscv_parse_subset_t *rps, return FALSE; /* Parse the different classes of extensions in the specified order. */ - for (i = 0; i < ARRAY_SIZE (parse_config); ++i) { p = riscv_parse_prefixed_ext (rps, arch, p, &parse_config[i]); @@ -1500,7 +1542,7 @@ riscv_parse_subset (riscv_parse_subset_t *rps, if (*p != '\0') { - rps->error_handler ("-march=%s: unexpected ISA string at end: %s", + rps->error_handler (_("-march=%s: unexpected ISA string at end: %s"), arch, p); return FALSE; } @@ -1508,31 +1550,35 @@ riscv_parse_subset (riscv_parse_subset_t *rps, if (riscv_lookup_subset (rps->subset_list, "e") && riscv_lookup_subset (rps->subset_list, "f")) { - rps->error_handler ("-march=%s: rv32e does not support the `f' extension", - arch); + rps->error_handler + (_("-march=%s: rv32e does not support the `f' extension"), + arch); return FALSE; } if (riscv_lookup_subset (rps->subset_list, "d") && !riscv_lookup_subset (rps->subset_list, "f")) { - rps->error_handler ("-march=%s: `d' extension requires `f' extension", - arch); + rps->error_handler + (_("-march=%s: `d' extension requires `f' extension"), + arch); return FALSE; } if (riscv_lookup_subset (rps->subset_list, "q") && !riscv_lookup_subset (rps->subset_list, "d")) { - rps->error_handler ("-march=%s: `q' extension requires `d' extension", - arch); + rps->error_handler + (_("-march=%s: `q' extension requires `d' extension"), + arch); return FALSE; } if (riscv_lookup_subset (rps->subset_list, "q") && *rps->xlen < 64) { - rps->error_handler ("-march=%s: rv32 does not support the `q' extension", - arch); + rps->error_handler + (_("-march=%s: rv32 does not support the `q' extension"), + arch); return FALSE; } return TRUE; @@ -1543,7 +1589,8 @@ riscv_parse_subset (riscv_parse_subset_t *rps, void riscv_add_subset (riscv_subset_list_t *subset_list, const char *subset, - int major, int minor) + int major, + int minor) { riscv_subset_t *s = xmalloc (sizeof *s); @@ -1567,10 +1614,10 @@ riscv_subset_t * riscv_lookup_subset (const riscv_subset_list_t *subset_list, const char *subset) { - return riscv_lookup_subset_version ( - subset_list, subset, - RISCV_DONT_CARE_VERSION, - RISCV_DONT_CARE_VERSION); + return riscv_lookup_subset_version + (subset_list, subset, + RISCV_DONT_CARE_VERSION, + RISCV_DONT_CARE_VERSION); } /* Find subset in list with version checking, return NULL if not found. */ @@ -1617,7 +1664,7 @@ riscv_release_subset_list (riscv_subset_list_t *subset_list) /* Return the number of digits for the input. */ -static size_t +size_t riscv_estimate_digit (unsigned num) { size_t digit = 0; diff --git a/bfd/elfxx-riscv.h b/bfd/elfxx-riscv.h index 76ee27404cb..7b8f09b82c4 100644 --- a/bfd/elfxx-riscv.h +++ b/bfd/elfxx-riscv.h @@ -72,6 +72,9 @@ typedef struct { void (*error_handler) (const char *, ...) ATTRIBUTE_PRINTF_1; unsigned *xlen; + void (*get_default_version) (const char *, + unsigned int *, + unsigned int *); } riscv_parse_subset_t; extern bfd_boolean @@ -87,6 +90,9 @@ riscv_release_subset_list (riscv_subset_list_t *); extern char * riscv_arch_str (unsigned, const riscv_subset_list_t *); +extern size_t +riscv_estimate_digit (unsigned); + /* ISA extension name class. E.g. "zbb" corresponds to RV_ISA_CLASS_Z, "xargs" corresponds to RV_ISA_CLASS_X, etc. Order is important here. */ diff --git a/bfd/po/bfd.pot b/bfd/po/bfd.pot index ef909fa0698..3b4f0afba35 100644 --- a/bfd/po/bfd.pot +++ b/bfd/po/bfd.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" -"POT-Creation-Date: 2020-01-18 13:58+0000\n" +"POT-Creation-Date: 2020-05-20 15:51+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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 % >= %" 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 "#" 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 %# 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 %#" 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: %#" -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 %# symbols of size " -"%#" -msgstr "" - -#: coffgen.c:1742 +#: coffgen.c:1709 #, c-format msgid "%pB: bad string table size %" 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 "" msgstr "" -#: coffgen.c:2120 +#: coffgen.c:2090 #, c-format msgid " %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 %# 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 (%# bytes) is larger than file size " "(%# bytes)" msgstr "" -#: compress.c:279 +#: compress.c:282 #, c-format msgid "error: %pB(%pA) is too large (%# 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 (%) larger than buffer size" msgstr "" -#: dwarf2.c:2040 +#: dwarf2.c:2045 #, c-format msgid "DWARF error: unknown format content type %" msgstr "" -#: dwarf2.c:2107 +#: dwarf2.c:2112 #, c-format msgid "DWARF error: line info section is too small (%)" msgstr "" -#: dwarf2.c:2137 +#: dwarf2.c:2142 #, c-format msgid "" "DWARF error: line info data is bigger (%#) 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 %" msgstr "" -#: dwarf2.c:3011 +#: dwarf2.c:3016 #, c-format msgid "DWARF error: unable to locate abstract instance DIE ref %" 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: %" 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+%#): 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 >= % 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: %#" -msgstr "" - -#: elf.c:687 +#: elf.c:678 #, c-format msgid "%pB: invalid size field in group section header: %#" 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 %# adjusted to %#" 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=%#, is this " "intentional?" msgstr "" -#: elf.c:7722 +#: elf.c:7778 #, c-format msgid "%pB: warning: segment alignment of %# 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 (%# 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+%#): 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+%#): 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+%#): %s relocation not permitted in shared object" msgstr "" -#: elf32-arm.c:12339 +#: elf32-arm.c:12353 #, c-format msgid "" "%pB(%pA+%#): 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+%#): overflow whilst splitting %# 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+%#): %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+%#): %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+%#): %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 " " 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 "" 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(%#): error: cannot create STM32L4XX veneer; jump out of range by " "% 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+%#): 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+%#): 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+%#): 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+%#): %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+%#): 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 %# 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 %# (dest = %#)" 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 %#" 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 %# when _gp not " "defined\n" msgstr "" -#: elf32-nios2.c:3852 +#: elf32-nios2.c:3863 #, c-format msgid "" "unable to reach %s (at %#) from the global pointer (at %#) " "because the offset (%) 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+%#): 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 %# (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+%#): 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 %# 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: %#: 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: %#: 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: %#: fatal: unaligned %s relocation %#" msgstr "" -#: elf32-sh.c:3944 +#: elf32-sh.c:3931 #, c-format msgid "" "%pB: %#: fatal: R_SH_PSHA relocation % not in range -32..32" msgstr "" -#: elf32-sh.c:3960 +#: elf32-sh.c:3947 #, c-format msgid "" "%pB: %#: fatal: R_SH_PSHL relocation % 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+%#): cannot emit fixup to `%s' in read-only section" msgstr "" -#: elf32-sh.c:4588 +#: elf32-sh.c:4575 #, c-format msgid "%pB(%pA+%#): %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+%#): unexpected instruction %#04X (expected 0xd4??)" msgstr "" -#: elf32-sh.c:4733 +#: elf32-sh.c:4720 #, c-format msgid "%pB(%pA+%#): unexpected instruction %#04X (expected 0xc7??)" msgstr "" -#: elf32-sh.c:4740 +#: elf32-sh.c:4727 #, c-format msgid "%pB(%pA+%#): unexpected instruction %#04X (expected 0xd1??)" msgstr "" -#: elf32-sh.c:4747 +#: elf32-sh.c:4734 #, c-format msgid "%pB(%pA+%#): unexpected instruction %#04X (expected 0x310c)" msgstr "" -#: elf32-sh.c:4754 +#: elf32-sh.c:4741 #, c-format msgid "%pB(%pA+%#): unexpected instruction %#04X (expected 0x410b)" msgstr "" -#: elf32-sh.c:4761 +#: elf32-sh.c:4748 #, c-format msgid "%pB(%pA+%#): 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: " "%#" msgstr "" -#: elf32-sh.c:4814 +#: elf32-sh.c:4801 #, c-format msgid "" "%pB(%pA+%#): unexpected instruction %#04X (expected 0xd0??: mov.l)" msgstr "" -#: elf32-sh.c:4823 +#: elf32-sh.c:4810 #, c-format msgid "" "%pB(%pA+%#): unexpected instruction %#04X (expected 0x0?12: stc)" msgstr "" -#: elf32-sh.c:4830 +#: elf32-sh.c:4817 #, c-format msgid "" "%pB(%pA+%#): 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: " "%#" msgstr "" -#: elf32-sh.c:5013 +#: elf32-sh.c:5000 #, c-format msgid "" "%pB(%pA): offset in relocation for LD->LE translation is too small: " "%#" 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+%#): 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: %#: 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: %#: 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: %#: warning: %s points to unrecognized reloc" msgstr "" -#: elf32-v850.c:3703 +#: elf32-v850.c:3708 #, c-format msgid "%pB: %#: warning: %s points to unrecognized reloc %#" 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+%#): relocation offset out of range (size=%#)" 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+%#): could not decode instruction; possible configuration " "mismatch" msgstr "" -#: elf32-xtensa.c:7760 +#: elf32-xtensa.c:7804 #, c-format msgid "" "%pB(%pA+%#): 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+%#): 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+%#: 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 "" 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 = %" msgstr "" -#: elf64-hppa.c:3283 +#: elf64-hppa.c:3285 #, c-format msgid "%pB(%pA+%#): 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 %# 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 (%# >= 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 %# 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 %# in section `%pA' with size " "%# (> 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 % in %pB to % in " "%pB" msgstr "" -#: elf64-mips.c:4098 +#: elf64-mips.c:4095 #, c-format msgid "%pB(%pA): relocation % 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: " "%" 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 %# 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 (%) 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 (%#) 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+%#: 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: " 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 %, got %" 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 %# not expected in executables" msgstr "" -#: elfxx-mips.c:8887 +#: elfxx-mips.c:8893 #, c-format msgid "%pB: CALL16 reloc at %# 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 %# 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 %# 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 % from `%pA' beyond the range of ADDIUPC" msgstr "" -#: elfxx-mips.c:11600 +#: elfxx-mips.c:11615 #, c-format msgid "" "%pB: `%pA' start VMA of %# 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: " 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 %# out of range for Intel Hex file" msgstr "" -#: ihex.c:852 +#: ihex.c:851 #, c-format msgid "%pB: address %# 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 (%#) below start of segment (%#)" 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 (%)" 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 %" msgstr "" -#: mmo.c:3236 +#: mmo.c:3240 #, c-format msgid "" "%pB: invalid start address for initialized registers of length %: " @@ -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 %" msgstr "" -#: xcofflink.c:1534 +#: xcofflink.c:1538 #, c-format msgid "%pB: XMC_TC0 symbol `%s' is class %d scnlen %" 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:% 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: %# > 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+%#): % bytes required for alignment to %-" "byte boundary, but only % 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" 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] \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 "\n" msgstr "" -#: peigen.c:2397 pepigen.c:2397 pex64igen.c:2397 +#: peXXigen.c:2397 #, c-format msgid "\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 "\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 (%)" 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 76de37e449a..2b903512bf5 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2020-05-20 Nelson Chu + + * dwarf.c: Updated since DECLARE_CSR is changed. + 2020-05-19 H.J. Lu PR binutils/25809 diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 7b5f7af8a1e..598f8562abf 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 6b159fe3571..05ba3e9ce6d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,166 @@ +2020-05-20 Nelson Chu + + * 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 * testsuite/gas/ppc/power9.s : Add tests. diff --git a/gas/config.in b/gas/config.in index 8724eb153ae..bd125047d56 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 168561e7b56..04df0884f37 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 1515787cee4..e480b1d9971 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=. The syntax of 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 6f32e55a1ae..b65108fecb2 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=. The syntax of 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 488cf56051f..bf942c3b7e9 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 0b9d5d7e35c..f93cfac6dde 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 , 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 \n" "Language-Team: LANGUAGE \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- generate DWARF debugging information. 2 <= " +"<= 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= set the hash table size close to \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 , " 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 "\t specify for ABI " 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 "\t assemble for CPU " msgstr "" -#: config/tc-aarch64.c:9312 config/tc-arm.c:31947 +#: config/tc-aarch64.c:9314 config/tc-arm.c:32504 msgid "\t assemble for architecture " 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 , " 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 , " 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 , " 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 or or 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 "" 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 "\t assemble for FPU architecture " msgstr "" -#: config/tc-arm.c:31951 +#: config/tc-arm.c:32508 msgid "\t assemble for floating point ABI " msgstr "" -#: config/tc-arm.c:31954 +#: config/tc-arm.c:32511 msgid "\t\t assemble for eabi version " msgstr "" -#: config/tc-arm.c:31957 +#: config/tc-arm.c:32514 msgid "\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 in --march=: %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=\n" msgstr "" -#: config/tc-rx.c:221 +#: config/tc-rx.c:220 #, c-format msgid " --mcpu=\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 " 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 "" 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 e22773e22b8..f02734744e1 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 bc3295be7ef..02b532d0a88 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 78b706a73ad..ded529aa617 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 c97bf03d5e4..df6c8182d5b 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 f9b65f206b7..247f52e0ed8 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 3b3b7f6d561..49203097994 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 1abeb47383d..e1d62c45db7 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 dfd7e6bd6e5..59f02b4c4e3 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 c10ac0ca353..13b82a97a63 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 00000000000..53945a27ebc --- /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 00000000000..91691fda77a --- /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 667f21acfc1..120e3dee6ca 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 df9642f1e2f..c03d45986e8 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 a514d4aec76..00000000000 --- 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 da535663693..d9939eb7f12 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 76818c812c1..d74863ef444 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 ae190c053c6..b0f67264f2e 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 7e52bd7bea3..2dc82f4ec03 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 501a52ef518..af0fc4e14a4 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 3c4715f0482..ec206e4d6d1 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 d71b2615c5f..eced438ea47 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 fa5a1b4a4b4..19f13a0ee5c 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 00000000000..07cf05a9c29 --- /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 00000000000..414617490c9 --- /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 00000000000..bf4b1db3ed6 --- /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 00000000000..eadcb5cc79d --- /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 00000000000..c9143341813 --- /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 00000000000..d7cee80a7d0 --- /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 00000000000..e2c33d81dc8 --- /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 00000000000..907ed7339a0 --- /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 00000000000..0071f75c30e --- /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 00000000000..225f4c4aa7e --- /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 00000000000..fd2a56b9ca4 --- /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 00000000000..61628037a63 --- /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 8fc41d22aa6..00000000000 --- 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 dae6520f1f8..4b0dd025f0b 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 90bae0810a8..e415fb4a7a1 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 9f2599f81c4..c309780544e 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,23 @@ +2020-05-20 Nelson Chu + + * 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 PR 25992 diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h index fe00bb6b562..a6a5de38873 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 ac6e861dd9c..feeaa6e8dca 100644 --- a/include/opcode/riscv.h +++ b/include/opcode/riscv.h @@ -24,6 +24,7 @@ #include "riscv-opc.h" #include #include +#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 b4ee76c2606..d95d5cfc217 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,19 @@ +2020-05-20 Nelson Chu + + * 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 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 5baaba4c16f..032f9641ad2 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 a7d79a1ea2b..54a7621f2c3 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 d46dee808de..67f0437e328 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 1ad95002e5c..0b7ffea1fc2 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 1ad95002e5c..0b7ffea1fc2 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 dc4c4e08f9b..0aa6fe0701b 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 7a5bc8148bb..5585fac3b7b 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 10399307bbb..91011a2ba4d 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 12ca1c4dd31..5bdea27948b 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 e41351da011..ac886fb7681 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 ac2a766cfca..dd45f76317a 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 608c05e8c38..ef0c154a121 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 4d4c77dbd4a..d788d8c35af 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,34 @@ +2020-05-20 Nelson Chu + + * 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 * 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 62bcd32dfdb..8ff1e9c9751 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 \n" "Language-Team: LANGUAGE \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 d7a184c4f97..f26a46e0b34 100644 --- a/opcodes/riscv-dis.c +++ b/opcodes/riscv-dis.c @@ -31,6 +31,8 @@ #include "bfd_stdint.h" #include +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; @@ -62,6 +64,44 @@ parse_riscv_dis_option (const char *option) riscv_gpr_names = riscv_gpr_names_numeric; 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 */ @@ -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 ceedcafc191..f011f1bbb7e 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; +}