diff options
-rw-r--r-- | bfd/elfxx-riscv.c | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-rv32iq-isa-2p2.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-rv32iq.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-rv32iq2.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-rv32iq2p0.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-fail-rv32iq2p0.l (renamed from gas/testsuite/gas/riscv/march-fail-rv32iq.l) | 0 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-ok-rv32iq-isa-20190608.d | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/riscv/march-ok-rv32iq2p2.d | 5 |
8 files changed, 22 insertions, 5 deletions
diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index b280618..2953dc3 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1887,10 +1887,11 @@ riscv_parse_check_conflicts (riscv_parse_subset_t *rps) no_conflict = false; } if (riscv_lookup_subset (rps->subset_list, "q", &subset) + && (subset->major_version < 2 || (subset->major_version == 2 + && subset->minor_version < 2)) && xlen < 64) { - rps->error_handler - (_("rv%d does not support the `q' extension"), xlen); + rps->error_handler (_("rv%d does not support the `q' extension"), xlen); no_conflict = false; } if (riscv_lookup_subset (rps->subset_list, "e", &subset) diff --git a/gas/testsuite/gas/riscv/march-fail-rv32iq-isa-2p2.d b/gas/testsuite/gas/riscv/march-fail-rv32iq-isa-2p2.d new file mode 100644 index 0000000..16451b0 --- /dev/null +++ b/gas/testsuite/gas/riscv/march-fail-rv32iq-isa-2p2.d @@ -0,0 +1,3 @@ +#as: -misa-spec=2.2 -march=rv32iq +#source: empty.s +#error_output: march-fail-rv32iq2p0.l diff --git a/gas/testsuite/gas/riscv/march-fail-rv32iq.d b/gas/testsuite/gas/riscv/march-fail-rv32iq.d deleted file mode 100644 index c289c69..0000000 --- a/gas/testsuite/gas/riscv/march-fail-rv32iq.d +++ /dev/null @@ -1,3 +0,0 @@ -#as: -march=rv32iq -#source: empty.s -#error_output: march-fail-rv32iq.l diff --git a/gas/testsuite/gas/riscv/march-fail-rv32iq2.d b/gas/testsuite/gas/riscv/march-fail-rv32iq2.d new file mode 100644 index 0000000..34fce73 --- /dev/null +++ b/gas/testsuite/gas/riscv/march-fail-rv32iq2.d @@ -0,0 +1,3 @@ +#as: -march=rv32iq2 +#source: empty.s +#error_output: march-fail-rv32iq2p0.l diff --git a/gas/testsuite/gas/riscv/march-fail-rv32iq2p0.d b/gas/testsuite/gas/riscv/march-fail-rv32iq2p0.d new file mode 100644 index 0000000..916f845 --- /dev/null +++ b/gas/testsuite/gas/riscv/march-fail-rv32iq2p0.d @@ -0,0 +1,3 @@ +#as: -march=rv32iq2p0 +#source: empty.s +#error_output: march-fail-rv32iq2p0.l diff --git a/gas/testsuite/gas/riscv/march-fail-rv32iq.l b/gas/testsuite/gas/riscv/march-fail-rv32iq2p0.l index dc201b3..dc201b3 100644 --- a/gas/testsuite/gas/riscv/march-fail-rv32iq.l +++ b/gas/testsuite/gas/riscv/march-fail-rv32iq2p0.l diff --git a/gas/testsuite/gas/riscv/march-ok-rv32iq-isa-20190608.d b/gas/testsuite/gas/riscv/march-ok-rv32iq-isa-20190608.d new file mode 100644 index 0000000..8322957 --- /dev/null +++ b/gas/testsuite/gas/riscv/march-ok-rv32iq-isa-20190608.d @@ -0,0 +1,5 @@ +#as: -misa-spec=20190608 -march=rv32iq +#objdump: -dr +#source: empty.s + +.*: file format elf32-(little|big)riscv diff --git a/gas/testsuite/gas/riscv/march-ok-rv32iq2p2.d b/gas/testsuite/gas/riscv/march-ok-rv32iq2p2.d new file mode 100644 index 0000000..1a922bf --- /dev/null +++ b/gas/testsuite/gas/riscv/march-ok-rv32iq2p2.d @@ -0,0 +1,5 @@ +#as: -march=rv32iq2p2 +#objdump: -dr +#source: empty.s + +.*: file format elf32-(little|big)riscv |