diff options
author | Nelson Chu <nelson.chu@sifive.com> | 2022-06-22 17:57:12 +0800 |
---|---|---|
committer | Nelson Chu <nelson.chu@sifive.com> | 2022-06-22 18:13:50 +0800 |
commit | afc41ffb993a275d7f5460e8f5a4341729caab4f (patch) | |
tree | 2b9f1541fc5ed4544d33ace8a1027efa7ae5f481 | |
parent | c625f4ed05eb234d6a182201d14b3b1c64232afd (diff) | |
download | gdb-afc41ffb993a275d7f5460e8f5a4341729caab4f.zip gdb-afc41ffb993a275d7f5460e8f5a4341729caab4f.tar.gz gdb-afc41ffb993a275d7f5460e8f5a4341729caab4f.tar.bz2 |
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.
-rw-r--r-- | bfd/elfxx-riscv.c | 23 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-order-x-z.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-order-x-z.l | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-order-x.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-order-x.l | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-order-z.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-order-z.l | 2 |
7 files changed, 0 insertions, 38 deletions
diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index ffc18c9..f920e0c 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); diff --git a/gas/testsuite/gas/riscv/march-fail-order-x-z.d b/gas/testsuite/gas/riscv/march-fail-order-x-z.d deleted file mode 100644 index 7245e68..0000000 --- a/gas/testsuite/gas/riscv/march-fail-order-x-z.d +++ /dev/null @@ -1,3 +0,0 @@ -#as: -march=rv32i_xargle2p0_zicsr2p0 -#source: empty.s -#error_output: march-fail-order-x-z.l diff --git a/gas/testsuite/gas/riscv/march-fail-order-x-z.l b/gas/testsuite/gas/riscv/march-fail-order-x-z.l deleted file mode 100644 index 53ea820..0000000 --- a/gas/testsuite/gas/riscv/march-fail-order-x-z.l +++ /dev/null @@ -1,2 +0,0 @@ -.*Assembler messages: -.*Error: .*prefixed ISA extension `zicsr' is not in expected order. It must come before `xargle' diff --git a/gas/testsuite/gas/riscv/march-fail-order-x.d b/gas/testsuite/gas/riscv/march-fail-order-x.d deleted file mode 100644 index 72a821e..0000000 --- a/gas/testsuite/gas/riscv/march-fail-order-x.d +++ /dev/null @@ -1,3 +0,0 @@ -#as: -march=rv32i_xbargle2p0_xargle2p0 -#source: empty.s -#error_output: march-fail-order-x.l diff --git a/gas/testsuite/gas/riscv/march-fail-order-x.l b/gas/testsuite/gas/riscv/march-fail-order-x.l deleted file mode 100644 index cfb1185..0000000 --- a/gas/testsuite/gas/riscv/march-fail-order-x.l +++ /dev/null @@ -1,2 +0,0 @@ -.*Assembler messages: -.*Error: .*prefixed ISA extension `xargle' is not in expected order. It must come before `xbargle' diff --git a/gas/testsuite/gas/riscv/march-fail-order-z.d b/gas/testsuite/gas/riscv/march-fail-order-z.d deleted file mode 100644 index dd076c6..0000000 --- a/gas/testsuite/gas/riscv/march-fail-order-z.d +++ /dev/null @@ -1,3 +0,0 @@ -#as: -march=rv32i_zifencei2p0_zicsr2p0 -#source: empty.s -#error_output: march-fail-order-z.l diff --git a/gas/testsuite/gas/riscv/march-fail-order-z.l b/gas/testsuite/gas/riscv/march-fail-order-z.l deleted file mode 100644 index 468c412..0000000 --- a/gas/testsuite/gas/riscv/march-fail-order-z.l +++ /dev/null @@ -1,2 +0,0 @@ -.*Assembler messages: -.*Error: .*prefixed ISA extension `zicsr' is not in expected order. It must come before `zifencei' |