summaryrefslogtreecommitdiff
path: root/bfd/elfxx-riscv.c
diff options
context:
space:
mode:
authorNelson Chu <nelson.chu@sifive.com>2022-06-22 17:57:12 +0800
committerNelson Chu <nelson.chu@sifive.com>2022-06-22 18:13:50 +0800
commitafc41ffb993a275d7f5460e8f5a4341729caab4f (patch)
tree2b9f1541fc5ed4544d33ace8a1027efa7ae5f481 /bfd/elfxx-riscv.c
parentc625f4ed05eb234d6a182201d14b3b1c64232afd (diff)
RISC-V: Reorder the prefixed extensions which are out of order.
This patch has been pending for almost a year... However, I noticed that llvm can already re-order the extensions, even if they are out of orders. Not really sure if they can also re-order the single letter extensions, but at least we can do this for the multi-letter extensions in binutils. bfd/ * elfxx-riscv.c (riscv_parse_prefixed_ext): Removed the code which are used to check the prefixed extension orders. gas/ * testsuite/gas/riscv/march-fail-order-x-z.d: Removed since we will help tp reorder the prefixed extensions for now. * testsuite/gas/riscv/march-fail-order-x-z.l: Likewise. * testsuite/gas/riscv/march-fail-order-x.d: Likewise. * testsuite/gas/riscv/march-fail-order-x.l: Likewise. * testsuite/gas/riscv/march-fail-order-z.d: Likewise. * testsuite/gas/riscv/march-fail-order-z.l: Likewise.
Diffstat (limited to 'bfd/elfxx-riscv.c')
-rw-r--r--bfd/elfxx-riscv.c23
1 files changed, 0 insertions, 23 deletions
diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index ffc18c97d1..f920e0ce9f 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -1729,7 +1729,6 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps,
{
int major_version;
int minor_version;
- const char *last_name;
enum riscv_prefix_ext_class class;
while (*p)
@@ -1806,28 +1805,6 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps,
return NULL;
}
- /* Check that the extension isn't duplicate. */
- last_name = rps->subset_list->tail->name;
- if (!strcasecmp (last_name, subset))
- {
- rps->error_handler
- (_("%s: duplicate prefixed ISA extension `%s'"),
- arch, subset);
- free (subset);
- return NULL;
- }
-
- /* Check that the extension is in expected order. */
- if (riscv_compare_subsets (last_name, subset) > 0)
- {
- rps->error_handler
- (_("%s: prefixed ISA extension `%s' is not in expected "
- "order. It must come before `%s'"),
- arch, subset, last_name);
- free (subset);
- return NULL;
- }
-
riscv_parse_add_subset (rps, subset,
major_version,
minor_version, false);