[PATCH 17/19] RISC-V: drop dead code from subset parsing
Jiawei
jiawei@iscas.ac.cn
Wed Apr 29 12:50:53 GMT 2026
> In riscv_update_subset1(), when explicit_subset is NULL, errmsg_internal
> is the empty string. There's no need then to pass this as an extra
> argument to the error handler.
>
> riscv_parsing_subset_version() can't return NULL. Dropping the respective
> checks clarifies that there is no issue with a missing error message (gas
> would rely on one being emitted when parsing fails).
>
> --- a/bfd/elfxx-riscv.c
> +++ b/bfd/elfxx-riscv.c
> @@ -2141,11 +2141,6 @@ riscv_parse_extensions (riscv_parse_subs
> end_of_version =
> riscv_parsing_subset_version (q, &major_version, &minor_version);
> *q = '\0';
> - if (end_of_version == NULL)
> - {
> - free (subset);
> - return NULL;
> - }
>
> /* Check if the prefixed extension name is well-formed. */
> if (class != RV_ISA_CLASS_SINGLE
> @@ -2700,11 +2695,6 @@ riscv_update_subset1 (riscv_parse_subset
> end_of_version =
> riscv_parsing_subset_version (q, &major_version, &minor_version);
> *q = '\0';
> - if (end_of_version == NULL)
> - {
> - free (subset);
> - return false;
> - }
>
> if (strlen (subset) == 0
> || (strlen (subset) == 1
> @@ -2725,8 +2715,8 @@ riscv_update_subset1 (riscv_parse_subset
> if (removed)
> {
> rps->error_handler
> - (_("%sdeprecated - extension `%s' in %s `%s'"),
> - errmsg_internal, subset, errmsg_caller, implicit_exts);
> + (_("deprecated - extension `%s' in %s `%s'"),
> + subset, errmsg_caller, implicit_exts);
> free (subset);
> return false;
> }
> @@ -2735,8 +2725,8 @@ riscv_update_subset1 (riscv_parse_subset
> || strcmp (subset, "g") == 0)
> {
> rps->error_handler
> - (_("%scannot + base extension `%s' in %s `%s'"),
> - errmsg_internal, subset, errmsg_caller, implicit_exts);
> + (_("cannot + base extension `%s' in %s `%s'"),
> + subset, errmsg_caller, implicit_exts);
> free (subset);
> return false;
> }
>
LGTM.
Reviewed-by: Jiawei <jiawei@iscas.ac.cn>
More information about the Binutils
mailing list