From: Nelson Chu Date: Fri, 20 Nov 2020 15:42:28 +0000 (+0800) Subject: RISC-V: Fix the order checking for Z* extension. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6729e2c2af2bd94408430734316597843718a484;p=binutils-gdb.git RISC-V: Fix the order checking for Z* extension. We have to check the first char of the Z* extensions, to make sure that they follow the order of the standard extensions. But we can not have the testcases for this patch, since we only support the zicsr and zifencei so far, both of them are the sub extensions of i. bfd/ * elfxx-riscv.c (riscv_parse_prefixed_ext): Use riscv_compare_subsets to check the Z* extensions' order. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 2a5ae822cc5..b3bcf9ea1e6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2020-12-01 Nelson Chu + + * elfxx-riscv.c (riscv_parse_prefixed_ext): Use riscv_compare_subsets + to check the Z* extensions' order. + 2020-12-01 Nelson Chu * elfxx-riscv.c (riscv_parse_add_subset): Allow to add g with diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index 711b3677180..06967804d6c 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1543,8 +1543,7 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps, } /* Check that the extension is in alphabetical order. */ - if (!strncasecmp (last_name, config->prefix, 1) - && strcasecmp (last_name, subset) > 0) + if (riscv_compare_subsets (last_name, subset) > 0) { rps->error_handler (_("-march=%s: %s ISA extension `%s' is not in alphabetical "