public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger than 1.0.
@ 2021-12-30 16:00 Nelson Chu
  2021-12-30 16:00 ` [PATCH 2/2] RISC-V: Updated the default ISA spec to 20191213 Nelson Chu
  2022-02-06 12:26 ` [PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger than 1.0 Aurelien Jarno
  0 siblings, 2 replies; 6+ messages in thread
From: Nelson Chu @ 2021-12-30 16:00 UTC (permalink / raw)
  To: binutils, jim.wilson.gcc, kito.cheng, palmer, andrew

In general, the extension is ratified when it's version is 1.0, that means
the versions larger than 1.0 should be compatible.  Therefore, report the
mismatch warnings for these compatible versions seems redundant and a little
bit annoying.  I know that there are some exceptions like zba 0.93 and e 1.9,
but we could handle them specially in the future patches.

bfd/
	* elfnn-riscv.c (riscv_version_mismatch): Do not report the mismatch
	warnings when versions are larger than 1.0.
ld/
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Removed.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Removed.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Removed.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d: Updated
	and renamed from attr-merge-arch-failed-02a testcase.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s: Likewise.
	* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
---
 bfd/elfnn-riscv.c                                  | 12 ++++++----
 .../ld-riscv-elf/attr-merge-arch-failed-01.d       | 11 ---------
 .../ld-riscv-elf/attr-merge-arch-failed-01a.s      |  1 -
 .../ld-riscv-elf/attr-merge-arch-failed-01b.s      |  1 -
 .../ld-riscv-elf/attr-merge-arch-failed-02.d       | 27 ----------------------
 .../ld-riscv-elf/attr-merge-arch-failed-02a.s      |  1 -
 .../ld-riscv-elf/attr-merge-arch-failed-02b.s      |  1 -
 .../ld-riscv-elf/attr-merge-arch-failed-02c.s      |  1 -
 .../ld-riscv-elf/attr-merge-arch-failed-02d.s      |  1 -
 .../attr-merge-arch-failed-ratified-a.s            |  1 +
 .../attr-merge-arch-failed-ratified-b.s            |  1 +
 .../attr-merge-arch-failed-ratified-c.s            |  1 +
 .../attr-merge-arch-failed-ratified-d.s            |  1 +
 .../ld-riscv-elf/attr-merge-arch-failed-ratified.d | 22 ++++++++++++++++++
 ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp         |  3 +--
 15 files changed, 35 insertions(+), 50 deletions(-)
 delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d
 delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s
 delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s
 delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02.d
 delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02a.s
 delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02b.s
 delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02c.s
 delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02d.s
 create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
 create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
 create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
 create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
 create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d

diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index d8c9066..ba2f2c1 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -3389,11 +3389,15 @@ riscv_version_mismatch (bfd *ibfd,
       if ((in->major_version == RISCV_UNKNOWN_VERSION
 	   && in->minor_version == RISCV_UNKNOWN_VERSION)
 	  || (out->major_version == RISCV_UNKNOWN_VERSION
-	      && out->minor_version == RISCV_UNKNOWN_VERSION))
+	      && out->minor_version == RISCV_UNKNOWN_VERSION)
+	  || (in->major_version > 0
+	      && out->major_version > 0))
 	{
-	  /* Do not report the warning when the version of input
-	     or output is RISCV_UNKNOWN_VERSION, since the extension
-	     is added implicitly.  */
+	  /* Do not report the warning when,
+	     * The version of input or output is RISCV_UNKNOWN_VERSION,
+	       since the extension is added implicitly.
+	     * The version of input and output are larger than v1.0,
+	       which means they are ratified in general.  */
 	}
       else
 	_bfd_error_handler
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d
deleted file mode 100644
index 669a139..0000000
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d
+++ /dev/null
@@ -1,11 +0,0 @@
-#source: attr-merge-arch-failed-01a.s
-#source: attr-merge-arch-failed-01b.s
-#as: -march-attr
-#ld: -r -m[riscv_choose_ilp32_emul]
-#warning: .*mis-matched ISA version 3.0 for 'a' extension, the output version is 2.0
-#readelf: -A
-
-Attribute Section: riscv
-File Attributes
-  Tag_RISCV_arch: ".*a3p0.*"
-#..
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s
deleted file mode 100644
index 365901d..0000000
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s
+++ /dev/null
@@ -1 +0,0 @@
-	.attribute arch, "rv32i2p0_m2p0_a2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s
deleted file mode 100644
index 49263bf..0000000
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s
+++ /dev/null
@@ -1 +0,0 @@
-	.attribute arch, "rv32i2p0_m2p0_a3p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02.d
deleted file mode 100644
index 3f4935d..0000000
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02.d
+++ /dev/null
@@ -1,27 +0,0 @@
-#source: attr-merge-arch-failed-02a.s
-#source: attr-merge-arch-failed-02b.s
-#source: attr-merge-arch-failed-02c.s
-#source: attr-merge-arch-failed-02d.s
-#as: -march-attr
-#ld: -r -m[riscv_choose_ilp32_emul]
-#warning: .*mis-matched ISA version 3.0 for 'i' extension, the output version is 2.0
-#warning: .*mis-matched ISA version 3.0 for 'm' extension, the output version is 2.0
-#warning: .*mis-matched ISA version 3.0 for 'a' extension, the output version is 2.0
-#warning: .*mis-matched ISA version 3.0 for 'zicsr' extension, the output version is 2.0
-#warning: .*mis-matched ISA version 3.0 for 'xunknown' extension, the output version is 2.0
-#warning: .*mis-matched ISA version 2.1 for 'i' extension, the output version is 3.0
-#warning: .*mis-matched ISA version 2.2 for 'm' extension, the output version is 3.0
-#warning: .*mis-matched ISA version 2.3 for 'a' extension, the output version is 3.0
-#warning: .*mis-matched ISA version 2.4 for 'zicsr' extension, the output version is 3.0
-#warning: .*mis-matched ISA version 2.5 for 'xunknown' extension, the output version is 3.0
-#warning: .*mis-matched ISA version 4.6 for 'i' extension, the output version is 3.0
-#warning: .*mis-matched ISA version 4.7 for 'm' extension, the output version is 3.0
-#warning: .*mis-matched ISA version 4.8 for 'a' extension, the output version is 3.0
-#warning: .*mis-matched ISA version 4.9 for 'zicsr' extension, the output version is 3.0
-#warning: .*mis-matched ISA version 4.0 for 'xunknown' extension, the output version is 3.0
-#readelf: -A
-
-Attribute Section: riscv
-File Attributes
-  Tag_RISCV_arch: "rv32i4p6_m4p7_a4p8_zicsr4p9_xunknown4p0"
-#..
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02a.s
deleted file mode 100644
index 3dbf8a2..0000000
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02a.s
+++ /dev/null
@@ -1 +0,0 @@
-	.attribute arch, "rv32i2p0_m2p0_a2p0_zicsr2p0_xunknown2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02b.s
deleted file mode 100644
index 7bbc39f..0000000
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02b.s
+++ /dev/null
@@ -1 +0,0 @@
-	.attribute arch, "rv32i3p0_m3p0_a3p0_zicsr3p0_xunknown3p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02c.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02c.s
deleted file mode 100644
index 2a921e6..0000000
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02c.s
+++ /dev/null
@@ -1 +0,0 @@
-	.attribute arch, "rv32i2p1_m2p2_a2p3_zicsr2p4_xunknown2p5"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02d.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02d.s
deleted file mode 100644
index 6ef5ee5..0000000
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02d.s
+++ /dev/null
@@ -1 +0,0 @@
-	.attribute arch, "rv32i4p6_m4p7_a4p8_zicsr4p9_xunknown4p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
new file mode 100644
index 0000000..e7fadf0
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
@@ -0,0 +1 @@
+	.attribute arch, "rv32i0p1_m0p1_a0p1_zicsr0p1_xunknown0p1"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
new file mode 100644
index 0000000..1a7a11c
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
@@ -0,0 +1 @@
+	.attribute arch, "rv32i0p9_m0p9_a0p9_zicsr0p9_xunknown0p9"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
new file mode 100644
index 0000000..1a935e7
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
@@ -0,0 +1 @@
+	.attribute arch, "rv32i1p0_m1p0_a1p0_zicsr1p0_xunknown1p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
new file mode 100644
index 0000000..3dbf8a2
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
@@ -0,0 +1 @@
+	.attribute arch, "rv32i2p0_m2p0_a2p0_zicsr2p0_xunknown2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
new file mode 100644
index 0000000..b835aa3
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
@@ -0,0 +1,22 @@
+#source: attr-merge-arch-failed-ratified-a.s
+#source: attr-merge-arch-failed-ratified-b.s
+#source: attr-merge-arch-failed-ratified-c.s
+#source: attr-merge-arch-failed-ratified-d.s
+#as: -march-attr
+#ld: -r -m[riscv_choose_ilp32_emul]
+#warning: .*mis-matched ISA version 0.9 for 'i' extension, the output version is 0.1
+#warning: .*mis-matched ISA version 0.9 for 'm' extension, the output version is 0.1
+#warning: .*mis-matched ISA version 0.9 for 'a' extension, the output version is 0.1
+#warning: .*mis-matched ISA version 0.9 for 'zicsr' extension, the output version is 0.1
+#warning: .*mis-matched ISA version 0.9 for 'xunknown' extension, the output version is 0.1
+#warning: .*mis-matched ISA version 1.0 for 'i' extension, the output version is 0.9
+#warning: .*mis-matched ISA version 1.0 for 'm' extension, the output version is 0.9
+#warning: .*mis-matched ISA version 1.0 for 'a' extension, the output version is 0.9
+#warning: .*mis-matched ISA version 1.0 for 'zicsr' extension, the output version is 0.9
+#warning: .*mis-matched ISA version 1.0 for 'xunknown' extension, the output version is 0.9
+#readelf: -A
+
+Attribute Section: riscv
+File Attributes
+  Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_zicsr2p0_xunknown2p0"
+#..
diff --git a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp
index 961f064..84d3654 100644
--- a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp
+++ b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp
@@ -160,8 +160,7 @@ if [istarget "riscv*-*-*"] {
     run_dump_test "attr-merge-priv-spec-01"
     run_dump_test "attr-merge-priv-spec-02"
     run_dump_test "attr-merge-priv-spec-03"
-    run_dump_test "attr-merge-arch-failed-01"
-    run_dump_test "attr-merge-arch-failed-02"
+    run_dump_test "attr-merge-arch-failed-ratified"
     run_dump_test "attr-merge-stack-align-failed"
     run_dump_test "attr-merge-priv-spec-failed-01"
     run_dump_test "attr-merge-priv-spec-failed-02"
-- 
2.7.4


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/2] RISC-V: Updated the default ISA spec to 20191213.
  2021-12-30 16:00 [PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger than 1.0 Nelson Chu
@ 2021-12-30 16:00 ` Nelson Chu
  2021-12-30 16:46   ` Palmer Dabbelt
  2022-02-06 12:26 ` [PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger than 1.0 Aurelien Jarno
  1 sibling, 1 reply; 6+ messages in thread
From: Nelson Chu @ 2021-12-30 16:00 UTC (permalink / raw)
  To: binutils, jim.wilson.gcc, kito.cheng, palmer, andrew

Update the default ISA spec from 2.2 to 20191213 will change the default
version of i from 2.0 to 2.1.  Since zicsr and zifencei are separated
from i 2.1, users need to add them in the architecture string if they need
fence.i and csr instructions.  Besides, we also allow old ISA spec can
recognize zicsr and zifencei, but we won't output them since they are
already included in the i extension when i's version is less than 2.1.

bfd/
	* elfxx-riscv.c (riscv_parse_add_subset): Allow old ISA spec can
	recognize zicsr and zifencei.
gas/
	* config/tc-riscv.c (DEFAULT_RISCV_ISA_SPEC): Updated to 20191213.
	* testsuite/gas/riscv/csr-version-1p10.d: Added zicsr to -march since
	the default version of i is 2.1.
	* testsuite/gas/riscv/csr-version-1p11.d: Likewise.
	* testsuite/gas/riscv/csr-version-1p12.d: Likewise.
	* testsuite/gas/riscv/csr-version-1p9p1.d: Likewise.
	* testsuite/gas/riscv/option-arch-03.d: Updated i's version to 2.1.
	* testsuite/gas/riscv/option-arch-03.s: Likewise.
ld/
	* testsuite/ld-riscv-elf/call-relax.d: Added zicsr to -march since
	the default version of i is 2.1.
	* testsuite/ld-riscv-elf/attr-merge-arch-01.d: Updated i's version to 2.1.
	* testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-01b.: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s: Likewise.
	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d: Likewise.
---
 bfd/elfxx-riscv.c                                             | 4 +++-
 gas/config/tc-riscv.c                                         | 2 +-
 gas/testsuite/gas/riscv/csr-version-1p10.d                    | 2 +-
 gas/testsuite/gas/riscv/csr-version-1p11.d                    | 2 +-
 gas/testsuite/gas/riscv/csr-version-1p12.d                    | 2 +-
 gas/testsuite/gas/riscv/csr-version-1p9p1.d                   | 2 +-
 gas/testsuite/gas/riscv/option-arch-03.d                      | 2 +-
 gas/testsuite/gas/riscv/option-arch-03.s                      | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d                | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s               | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s               | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d                | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s               | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s               | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d                | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s               | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s               | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s | 2 +-
 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d   | 4 +---
 ld/testsuite/ld-riscv-elf/call-relax.d                        | 2 +-
 23 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index c575ab0..83705ec 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -1562,7 +1562,9 @@ riscv_parse_add_subset (riscv_parse_subset_t *rps,
 	rps->error_handler
 	  (_("x ISA extension `%s' must be set with the versions"),
 	   subset);
-      else
+      /* Allow old ISA spec can recognize zicsr and zifencei.  */
+      else if (strcmp (subset, "zicsr") != 0
+	       && strcmp (subset, "zifencei") != 0)
 	rps->error_handler
 	  (_("cannot find default versions of the ISA extension `%s'"),
 	   subset);
diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
index dbf0e23..debe6bf 100644
--- a/gas/config/tc-riscv.c
+++ b/gas/config/tc-riscv.c
@@ -104,7 +104,7 @@ struct riscv_csr_extra
 
 /* Need to sync the version with RISC-V compiler.  */
 #ifndef DEFAULT_RISCV_ISA_SPEC
-#define DEFAULT_RISCV_ISA_SPEC "2.2"
+#define DEFAULT_RISCV_ISA_SPEC "20191213"
 #endif
 
 #ifndef DEFAULT_RISCV_PRIV_SPEC
diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.d b/gas/testsuite/gas/riscv/csr-version-1p10.d
index ee56ae3..88da724 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p10.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p10.d
@@ -1,4 +1,4 @@
-#as: -march=rv64i -mcsr-check -mpriv-spec=1.10
+#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.10
 #source: csr.s
 #warning_output: csr-version-1p10.l
 #objdump: -dr -Mpriv-spec=1.10
diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.d b/gas/testsuite/gas/riscv/csr-version-1p11.d
index a1d8169..b40c1d5 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p11.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p11.d
@@ -1,4 +1,4 @@
-#as: -march=rv64i -mcsr-check -mpriv-spec=1.11
+#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.11
 #source: csr.s
 #warning_output: csr-version-1p11.l
 #objdump: -dr -Mpriv-spec=1.11
diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.d b/gas/testsuite/gas/riscv/csr-version-1p12.d
index c4c2118..fbc30ee 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p12.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p12.d
@@ -1,4 +1,4 @@
-#as: -march=rv64i -mcsr-check -mpriv-spec=1.12
+#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.12
 #source: csr.s
 #warning_output: csr-version-1p12.l
 #objdump: -dr -Mpriv-spec=1.12
diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.d b/gas/testsuite/gas/riscv/csr-version-1p9p1.d
index 01e05ae..a96e8c9 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p9p1.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.d
@@ -1,4 +1,4 @@
-#as: -march=rv64i -mcsr-check -mpriv-spec=1.9.1
+#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.9.1
 #source: csr.s
 #warning_output: csr-version-1p9p1.l
 #objdump: -dr -Mpriv-spec=1.9.1
diff --git a/gas/testsuite/gas/riscv/option-arch-03.d b/gas/testsuite/gas/riscv/option-arch-03.d
index b621d03..62d7f7d 100644
--- a/gas/testsuite/gas/riscv/option-arch-03.d
+++ b/gas/testsuite/gas/riscv/option-arch-03.d
@@ -4,5 +4,5 @@
 
 Attribute Section: riscv
 File Attributes
-  Tag_RISCV_arch: "rv32i2p0_c2p0"
+  Tag_RISCV_arch: "rv32i2p1_c2p0"
 #...
diff --git a/gas/testsuite/gas/riscv/option-arch-03.s b/gas/testsuite/gas/riscv/option-arch-03.s
index d982a0b..ccdb1c3 100644
--- a/gas/testsuite/gas/riscv/option-arch-03.s
+++ b/gas/testsuite/gas/riscv/option-arch-03.s
@@ -1,3 +1,3 @@
 .attribute arch, "rv64ic"
 .option arch, +d2p0, -c
-.option arch, rv32ic
+.option arch, rv32i2p1c2p0
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
index c148cdb..a4b0322 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
@@ -6,4 +6,4 @@
 
 Attribute Section: riscv
 File Attributes
-  Tag_RISCV_arch: "rv32i2p0_m2p0"
+  Tag_RISCV_arch: "rv32i2p1_m2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s
index acc98a5..ea097f9 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s
@@ -1 +1 @@
-	.attribute arch, "rv32i2p0_m2p0"
+	.attribute arch, "rv32i2p1_m2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s
index acc98a5..ea097f9 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s
@@ -1 +1 @@
-	.attribute arch, "rv32i2p0_m2p0"
+	.attribute arch, "rv32i2p1_m2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
index bc0e0fd..852fd55 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
@@ -6,4 +6,4 @@
 
 Attribute Section: riscv
 File Attributes
-  Tag_RISCV_arch: "rv32i2p0_m2p0"
+  Tag_RISCV_arch: "rv32i2p1_m2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s
index acc98a5..ea097f9 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s
@@ -1 +1 @@
-	.attribute arch, "rv32i2p0_m2p0"
+	.attribute arch, "rv32i2p1_m2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s
index 65d0fef..610c7e5 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s
@@ -1 +1 @@
-	.attribute arch, "rv32i2p0"
+	.attribute arch, "rv32i2p1"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
index 374a043..c1cf808 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
@@ -6,4 +6,4 @@
 
 Attribute Section: riscv
 File Attributes
-  Tag_RISCV_arch: "rv32i2p0_m2p0_xbar2p0_xfoo2p0"
+  Tag_RISCV_arch: "rv32i2p1_m2p0_xbar2p0_xfoo2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s
index b86cc55..3a9fb97 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s
@@ -1 +1 @@
-	.attribute arch, "rv32i2p0_m2p0_xfoo2p0"
+	.attribute arch, "rv32i2p1_m2p0_xfoo2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s
index 376e373..878f2de 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s
@@ -1 +1 @@
-	.attribute arch, "rv32i2p0_xbar2p0"
+	.attribute arch, "rv32i2p1_xbar2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
index e7fadf0..e05cb1e 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
@@ -1 +1 @@
-	.attribute arch, "rv32i0p1_m0p1_a0p1_zicsr0p1_xunknown0p1"
+	.attribute arch, "rv32i2p1_m0p1_a0p1_zicsr0p1_xunknown0p1"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
index 1a7a11c..91de4f4 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
@@ -1 +1 @@
-	.attribute arch, "rv32i0p9_m0p9_a0p9_zicsr0p9_xunknown0p9"
+	.attribute arch, "rv32i2p1_m0p9_a0p9_zicsr0p9_xunknown0p9"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
index 1a935e7..5b42d52 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
@@ -1 +1 @@
-	.attribute arch, "rv32i1p0_m1p0_a1p0_zicsr1p0_xunknown1p0"
+	.attribute arch, "rv32i2p1_m1p0_a1p0_zicsr1p0_xunknown1p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
index 3dbf8a2..4c4421b 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
@@ -1 +1 @@
-	.attribute arch, "rv32i2p0_m2p0_a2p0_zicsr2p0_xunknown2p0"
+	.attribute arch, "rv32i2p1_m2p0_a2p0_zicsr2p0_xunknown2p0"
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
index b835aa3..8b9140c 100644
--- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
+++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
@@ -4,12 +4,10 @@
 #source: attr-merge-arch-failed-ratified-d.s
 #as: -march-attr
 #ld: -r -m[riscv_choose_ilp32_emul]
-#warning: .*mis-matched ISA version 0.9 for 'i' extension, the output version is 0.1
 #warning: .*mis-matched ISA version 0.9 for 'm' extension, the output version is 0.1
 #warning: .*mis-matched ISA version 0.9 for 'a' extension, the output version is 0.1
 #warning: .*mis-matched ISA version 0.9 for 'zicsr' extension, the output version is 0.1
 #warning: .*mis-matched ISA version 0.9 for 'xunknown' extension, the output version is 0.1
-#warning: .*mis-matched ISA version 1.0 for 'i' extension, the output version is 0.9
 #warning: .*mis-matched ISA version 1.0 for 'm' extension, the output version is 0.9
 #warning: .*mis-matched ISA version 1.0 for 'a' extension, the output version is 0.9
 #warning: .*mis-matched ISA version 1.0 for 'zicsr' extension, the output version is 0.9
@@ -18,5 +16,5 @@
 
 Attribute Section: riscv
 File Attributes
-  Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_zicsr2p0_xunknown2p0"
+  Tag_RISCV_arch: "rv32i2p1_m2p0_a2p0_zicsr2p0_xunknown2p0"
 #..
diff --git a/ld/testsuite/ld-riscv-elf/call-relax.d b/ld/testsuite/ld-riscv-elf/call-relax.d
index c6022be..f8f0229 100644
--- a/ld/testsuite/ld-riscv-elf/call-relax.d
+++ b/ld/testsuite/ld-riscv-elf/call-relax.d
@@ -3,7 +3,7 @@
 #source: call-relax-1.s
 #source: call-relax-2.s
 #source: call-relax-3.s
-#as: -march=rv32ic -mno-arch-attr
+#as: -march=rv32ic_zicsr -mno-arch-attr
 #ld: -m[riscv_choose_ilp32_emul]
 #objdump: -d
 #pass
-- 
2.7.4


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] RISC-V: Updated the default ISA spec to 20191213.
  2021-12-30 16:00 ` [PATCH 2/2] RISC-V: Updated the default ISA spec to 20191213 Nelson Chu
@ 2021-12-30 16:46   ` Palmer Dabbelt
  2022-01-07 11:02     ` Nelson Chu
  0 siblings, 1 reply; 6+ messages in thread
From: Palmer Dabbelt @ 2021-12-30 16:46 UTC (permalink / raw)
  To: Nelson Chu; +Cc: binutils, Jim Wilson, kito.cheng, Andrew Waterman, Nelson Chu

On Thu, 30 Dec 2021 08:00:28 PST (-0800), Nelson Chu wrote:
> Update the default ISA spec from 2.2 to 20191213 will change the default
> version of i from 2.0 to 2.1.  Since zicsr and zifencei are separated
> from i 2.1, users need to add them in the architecture string if they need
> fence.i and csr instructions.  Besides, we also allow old ISA spec can
> recognize zicsr and zifencei, but we won't output them since they are
> already included in the i extension when i's version is less than 2.1.

Acked-by: Palmer Dabbelt <palmer@rivosinc.com>

IIRC we talked about this at some point.  It's going to cause churn for 
users, but there's nothing we can do to avoid that because the ISA 
changed in an incompatible fashion.  We might as well rip the band-aid 
off now, it's been two years ;)

I'd been playing around with providing a better message here -- 
essentially adding some fake patterns that match the assembler mnemonic 
and print out a hint along the lines of "fence.i is no longer in i, you 
need zifencei".  I thought I had this floating around somewhere, but I 
can't find it.

>
> bfd/
> 	* elfxx-riscv.c (riscv_parse_add_subset): Allow old ISA spec can
> 	recognize zicsr and zifencei.
> gas/
> 	* config/tc-riscv.c (DEFAULT_RISCV_ISA_SPEC): Updated to 20191213.
> 	* testsuite/gas/riscv/csr-version-1p10.d: Added zicsr to -march since
> 	the default version of i is 2.1.
> 	* testsuite/gas/riscv/csr-version-1p11.d: Likewise.
> 	* testsuite/gas/riscv/csr-version-1p12.d: Likewise.
> 	* testsuite/gas/riscv/csr-version-1p9p1.d: Likewise.
> 	* testsuite/gas/riscv/option-arch-03.d: Updated i's version to 2.1.
> 	* testsuite/gas/riscv/option-arch-03.s: Likewise.
> ld/
> 	* testsuite/ld-riscv-elf/call-relax.d: Added zicsr to -march since
> 	the default version of i is 2.1.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-01.d: Updated i's version to 2.1.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-01b.: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d: Likewise.
> ---
>  bfd/elfxx-riscv.c                                             | 4 +++-
>  gas/config/tc-riscv.c                                         | 2 +-
>  gas/testsuite/gas/riscv/csr-version-1p10.d                    | 2 +-
>  gas/testsuite/gas/riscv/csr-version-1p11.d                    | 2 +-
>  gas/testsuite/gas/riscv/csr-version-1p12.d                    | 2 +-
>  gas/testsuite/gas/riscv/csr-version-1p9p1.d                   | 2 +-
>  gas/testsuite/gas/riscv/option-arch-03.d                      | 2 +-
>  gas/testsuite/gas/riscv/option-arch-03.s                      | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d                | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s               | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s               | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d                | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s               | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s               | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d                | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s               | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s               | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s | 2 +-
>  ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d   | 4 +---
>  ld/testsuite/ld-riscv-elf/call-relax.d                        | 2 +-
>  23 files changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
> index c575ab0..83705ec 100644
> --- a/bfd/elfxx-riscv.c
> +++ b/bfd/elfxx-riscv.c
> @@ -1562,7 +1562,9 @@ riscv_parse_add_subset (riscv_parse_subset_t *rps,
>  	rps->error_handler
>  	  (_("x ISA extension `%s' must be set with the versions"),
>  	   subset);
> -      else
> +      /* Allow old ISA spec can recognize zicsr and zifencei.  */
> +      else if (strcmp (subset, "zicsr") != 0
> +	       && strcmp (subset, "zifencei") != 0)
>  	rps->error_handler
>  	  (_("cannot find default versions of the ISA extension `%s'"),
>  	   subset);
> diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
> index dbf0e23..debe6bf 100644
> --- a/gas/config/tc-riscv.c
> +++ b/gas/config/tc-riscv.c
> @@ -104,7 +104,7 @@ struct riscv_csr_extra
>
>  /* Need to sync the version with RISC-V compiler.  */
>  #ifndef DEFAULT_RISCV_ISA_SPEC
> -#define DEFAULT_RISCV_ISA_SPEC "2.2"
> +#define DEFAULT_RISCV_ISA_SPEC "20191213"
>  #endif
>
>  #ifndef DEFAULT_RISCV_PRIV_SPEC
> diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.d b/gas/testsuite/gas/riscv/csr-version-1p10.d
> index ee56ae3..88da724 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p10.d
> +++ b/gas/testsuite/gas/riscv/csr-version-1p10.d
> @@ -1,4 +1,4 @@
> -#as: -march=rv64i -mcsr-check -mpriv-spec=1.10
> +#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.10
>  #source: csr.s
>  #warning_output: csr-version-1p10.l
>  #objdump: -dr -Mpriv-spec=1.10
> diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.d b/gas/testsuite/gas/riscv/csr-version-1p11.d
> index a1d8169..b40c1d5 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p11.d
> +++ b/gas/testsuite/gas/riscv/csr-version-1p11.d
> @@ -1,4 +1,4 @@
> -#as: -march=rv64i -mcsr-check -mpriv-spec=1.11
> +#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.11
>  #source: csr.s
>  #warning_output: csr-version-1p11.l
>  #objdump: -dr -Mpriv-spec=1.11
> diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.d b/gas/testsuite/gas/riscv/csr-version-1p12.d
> index c4c2118..fbc30ee 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p12.d
> +++ b/gas/testsuite/gas/riscv/csr-version-1p12.d
> @@ -1,4 +1,4 @@
> -#as: -march=rv64i -mcsr-check -mpriv-spec=1.12
> +#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.12
>  #source: csr.s
>  #warning_output: csr-version-1p12.l
>  #objdump: -dr -Mpriv-spec=1.12
> diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.d b/gas/testsuite/gas/riscv/csr-version-1p9p1.d
> index 01e05ae..a96e8c9 100644
> --- a/gas/testsuite/gas/riscv/csr-version-1p9p1.d
> +++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.d
> @@ -1,4 +1,4 @@
> -#as: -march=rv64i -mcsr-check -mpriv-spec=1.9.1
> +#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.9.1
>  #source: csr.s
>  #warning_output: csr-version-1p9p1.l
>  #objdump: -dr -Mpriv-spec=1.9.1
> diff --git a/gas/testsuite/gas/riscv/option-arch-03.d b/gas/testsuite/gas/riscv/option-arch-03.d
> index b621d03..62d7f7d 100644
> --- a/gas/testsuite/gas/riscv/option-arch-03.d
> +++ b/gas/testsuite/gas/riscv/option-arch-03.d
> @@ -4,5 +4,5 @@
>
>  Attribute Section: riscv
>  File Attributes
> -  Tag_RISCV_arch: "rv32i2p0_c2p0"
> +  Tag_RISCV_arch: "rv32i2p1_c2p0"
>  #...
> diff --git a/gas/testsuite/gas/riscv/option-arch-03.s b/gas/testsuite/gas/riscv/option-arch-03.s
> index d982a0b..ccdb1c3 100644
> --- a/gas/testsuite/gas/riscv/option-arch-03.s
> +++ b/gas/testsuite/gas/riscv/option-arch-03.s
> @@ -1,3 +1,3 @@
>  .attribute arch, "rv64ic"
>  .option arch, +d2p0, -c
> -.option arch, rv32ic
> +.option arch, rv32i2p1c2p0
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
> index c148cdb..a4b0322 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
> @@ -6,4 +6,4 @@
>
>  Attribute Section: riscv
>  File Attributes
> -  Tag_RISCV_arch: "rv32i2p0_m2p0"
> +  Tag_RISCV_arch: "rv32i2p1_m2p0"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s
> index acc98a5..ea097f9 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s
> @@ -1 +1 @@
> -	.attribute arch, "rv32i2p0_m2p0"
> +	.attribute arch, "rv32i2p1_m2p0"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s
> index acc98a5..ea097f9 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s
> @@ -1 +1 @@
> -	.attribute arch, "rv32i2p0_m2p0"
> +	.attribute arch, "rv32i2p1_m2p0"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
> index bc0e0fd..852fd55 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
> @@ -6,4 +6,4 @@
>
>  Attribute Section: riscv
>  File Attributes
> -  Tag_RISCV_arch: "rv32i2p0_m2p0"
> +  Tag_RISCV_arch: "rv32i2p1_m2p0"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s
> index acc98a5..ea097f9 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s
> @@ -1 +1 @@
> -	.attribute arch, "rv32i2p0_m2p0"
> +	.attribute arch, "rv32i2p1_m2p0"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s
> index 65d0fef..610c7e5 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s
> @@ -1 +1 @@
> -	.attribute arch, "rv32i2p0"
> +	.attribute arch, "rv32i2p1"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
> index 374a043..c1cf808 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
> @@ -6,4 +6,4 @@
>
>  Attribute Section: riscv
>  File Attributes
> -  Tag_RISCV_arch: "rv32i2p0_m2p0_xbar2p0_xfoo2p0"
> +  Tag_RISCV_arch: "rv32i2p1_m2p0_xbar2p0_xfoo2p0"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s
> index b86cc55..3a9fb97 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s
> @@ -1 +1 @@
> -	.attribute arch, "rv32i2p0_m2p0_xfoo2p0"
> +	.attribute arch, "rv32i2p1_m2p0_xfoo2p0"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s
> index 376e373..878f2de 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s
> @@ -1 +1 @@
> -	.attribute arch, "rv32i2p0_xbar2p0"
> +	.attribute arch, "rv32i2p1_xbar2p0"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
> index e7fadf0..e05cb1e 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
> @@ -1 +1 @@
> -	.attribute arch, "rv32i0p1_m0p1_a0p1_zicsr0p1_xunknown0p1"
> +	.attribute arch, "rv32i2p1_m0p1_a0p1_zicsr0p1_xunknown0p1"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
> index 1a7a11c..91de4f4 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
> @@ -1 +1 @@
> -	.attribute arch, "rv32i0p9_m0p9_a0p9_zicsr0p9_xunknown0p9"
> +	.attribute arch, "rv32i2p1_m0p9_a0p9_zicsr0p9_xunknown0p9"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
> index 1a935e7..5b42d52 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
> @@ -1 +1 @@
> -	.attribute arch, "rv32i1p0_m1p0_a1p0_zicsr1p0_xunknown1p0"
> +	.attribute arch, "rv32i2p1_m1p0_a1p0_zicsr1p0_xunknown1p0"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
> index 3dbf8a2..4c4421b 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
> @@ -1 +1 @@
> -	.attribute arch, "rv32i2p0_m2p0_a2p0_zicsr2p0_xunknown2p0"
> +	.attribute arch, "rv32i2p1_m2p0_a2p0_zicsr2p0_xunknown2p0"
> diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
> index b835aa3..8b9140c 100644
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
> +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
> @@ -4,12 +4,10 @@
>  #source: attr-merge-arch-failed-ratified-d.s
>  #as: -march-attr
>  #ld: -r -m[riscv_choose_ilp32_emul]
> -#warning: .*mis-matched ISA version 0.9 for 'i' extension, the output version is 0.1
>  #warning: .*mis-matched ISA version 0.9 for 'm' extension, the output version is 0.1
>  #warning: .*mis-matched ISA version 0.9 for 'a' extension, the output version is 0.1
>  #warning: .*mis-matched ISA version 0.9 for 'zicsr' extension, the output version is 0.1
>  #warning: .*mis-matched ISA version 0.9 for 'xunknown' extension, the output version is 0.1
> -#warning: .*mis-matched ISA version 1.0 for 'i' extension, the output version is 0.9
>  #warning: .*mis-matched ISA version 1.0 for 'm' extension, the output version is 0.9
>  #warning: .*mis-matched ISA version 1.0 for 'a' extension, the output version is 0.9
>  #warning: .*mis-matched ISA version 1.0 for 'zicsr' extension, the output version is 0.9
> @@ -18,5 +16,5 @@
>
>  Attribute Section: riscv
>  File Attributes
> -  Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_zicsr2p0_xunknown2p0"
> +  Tag_RISCV_arch: "rv32i2p1_m2p0_a2p0_zicsr2p0_xunknown2p0"
>  #..
> diff --git a/ld/testsuite/ld-riscv-elf/call-relax.d b/ld/testsuite/ld-riscv-elf/call-relax.d
> index c6022be..f8f0229 100644
> --- a/ld/testsuite/ld-riscv-elf/call-relax.d
> +++ b/ld/testsuite/ld-riscv-elf/call-relax.d
> @@ -3,7 +3,7 @@
>  #source: call-relax-1.s
>  #source: call-relax-2.s
>  #source: call-relax-3.s
> -#as: -march=rv32ic -mno-arch-attr
> +#as: -march=rv32ic_zicsr -mno-arch-attr
>  #ld: -m[riscv_choose_ilp32_emul]
>  #objdump: -d
>  #pass

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] RISC-V: Updated the default ISA spec to 20191213.
  2021-12-30 16:46   ` Palmer Dabbelt
@ 2022-01-07 11:02     ` Nelson Chu
  0 siblings, 0 replies; 6+ messages in thread
From: Nelson Chu @ 2022-01-07 11:02 UTC (permalink / raw)
  To: Palmer Dabbelt; +Cc: Binutils, Jim Wilson, Kito Cheng, Andrew Waterman

On Fri, Dec 31, 2021 at 12:47 AM Palmer Dabbelt <palmer@dabbelt.com> wrote:
>
> On Thu, 30 Dec 2021 08:00:28 PST (-0800), Nelson Chu wrote:
> > Update the default ISA spec from 2.2 to 20191213 will change the default
> > version of i from 2.0 to 2.1.  Since zicsr and zifencei are separated
> > from i 2.1, users need to add them in the architecture string if they need
> > fence.i and csr instructions.  Besides, we also allow old ISA spec can
> > recognize zicsr and zifencei, but we won't output them since they are
> > already included in the i extension when i's version is less than 2.1.
>
> Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
>
> IIRC we talked about this at some point.  It's going to cause churn for
> users, but there's nothing we can do to avoid that because the ISA
> changed in an incompatible fashion.  We might as well rip the band-aid
> off now, it's been two years ;)

Yeah, thanks.  Committed.

> I'd been playing around with providing a better message here --
> essentially adding some fake patterns that match the assembler mnemonic
> and print out a hint along the lines of "fence.i is no longer in i, you
> need zifencei".  I thought I had this floating around somewhere, but I
> can't find it.

Agreed!  We can talk about the details in the bugzilla,
https://sourceware.org/bugzilla/show_bug.cgi?id=28733

Thanks
Nelson

> >
> > bfd/
> >       * elfxx-riscv.c (riscv_parse_add_subset): Allow old ISA spec can
> >       recognize zicsr and zifencei.
> > gas/
> >       * config/tc-riscv.c (DEFAULT_RISCV_ISA_SPEC): Updated to 20191213.
> >       * testsuite/gas/riscv/csr-version-1p10.d: Added zicsr to -march since
> >       the default version of i is 2.1.
> >       * testsuite/gas/riscv/csr-version-1p11.d: Likewise.
> >       * testsuite/gas/riscv/csr-version-1p12.d: Likewise.
> >       * testsuite/gas/riscv/csr-version-1p9p1.d: Likewise.
> >       * testsuite/gas/riscv/option-arch-03.d: Updated i's version to 2.1.
> >       * testsuite/gas/riscv/option-arch-03.s: Likewise.
> > ld/
> >       * testsuite/ld-riscv-elf/call-relax.d: Added zicsr to -march since
> >       the default version of i is 2.1.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-01.d: Updated i's version to 2.1.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-01b.: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s: Likewise.
> >       * testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d: Likewise.
> > ---
> >  bfd/elfxx-riscv.c                                             | 4 +++-
> >  gas/config/tc-riscv.c                                         | 2 +-
> >  gas/testsuite/gas/riscv/csr-version-1p10.d                    | 2 +-
> >  gas/testsuite/gas/riscv/csr-version-1p11.d                    | 2 +-
> >  gas/testsuite/gas/riscv/csr-version-1p12.d                    | 2 +-
> >  gas/testsuite/gas/riscv/csr-version-1p9p1.d                   | 2 +-
> >  gas/testsuite/gas/riscv/option-arch-03.d                      | 2 +-
> >  gas/testsuite/gas/riscv/option-arch-03.s                      | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d                | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s               | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s               | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d                | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s               | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s               | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d                | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s               | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s               | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s | 2 +-
> >  ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d   | 4 +---
> >  ld/testsuite/ld-riscv-elf/call-relax.d                        | 2 +-
> >  23 files changed, 25 insertions(+), 25 deletions(-)
> >
> > diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
> > index c575ab0..83705ec 100644
> > --- a/bfd/elfxx-riscv.c
> > +++ b/bfd/elfxx-riscv.c
> > @@ -1562,7 +1562,9 @@ riscv_parse_add_subset (riscv_parse_subset_t *rps,
> >       rps->error_handler
> >         (_("x ISA extension `%s' must be set with the versions"),
> >          subset);
> > -      else
> > +      /* Allow old ISA spec can recognize zicsr and zifencei.  */
> > +      else if (strcmp (subset, "zicsr") != 0
> > +            && strcmp (subset, "zifencei") != 0)
> >       rps->error_handler
> >         (_("cannot find default versions of the ISA extension `%s'"),
> >          subset);
> > diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
> > index dbf0e23..debe6bf 100644
> > --- a/gas/config/tc-riscv.c
> > +++ b/gas/config/tc-riscv.c
> > @@ -104,7 +104,7 @@ struct riscv_csr_extra
> >
> >  /* Need to sync the version with RISC-V compiler.  */
> >  #ifndef DEFAULT_RISCV_ISA_SPEC
> > -#define DEFAULT_RISCV_ISA_SPEC "2.2"
> > +#define DEFAULT_RISCV_ISA_SPEC "20191213"
> >  #endif
> >
> >  #ifndef DEFAULT_RISCV_PRIV_SPEC
> > diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.d b/gas/testsuite/gas/riscv/csr-version-1p10.d
> > index ee56ae3..88da724 100644
> > --- a/gas/testsuite/gas/riscv/csr-version-1p10.d
> > +++ b/gas/testsuite/gas/riscv/csr-version-1p10.d
> > @@ -1,4 +1,4 @@
> > -#as: -march=rv64i -mcsr-check -mpriv-spec=1.10
> > +#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.10
> >  #source: csr.s
> >  #warning_output: csr-version-1p10.l
> >  #objdump: -dr -Mpriv-spec=1.10
> > diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.d b/gas/testsuite/gas/riscv/csr-version-1p11.d
> > index a1d8169..b40c1d5 100644
> > --- a/gas/testsuite/gas/riscv/csr-version-1p11.d
> > +++ b/gas/testsuite/gas/riscv/csr-version-1p11.d
> > @@ -1,4 +1,4 @@
> > -#as: -march=rv64i -mcsr-check -mpriv-spec=1.11
> > +#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.11
> >  #source: csr.s
> >  #warning_output: csr-version-1p11.l
> >  #objdump: -dr -Mpriv-spec=1.11
> > diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.d b/gas/testsuite/gas/riscv/csr-version-1p12.d
> > index c4c2118..fbc30ee 100644
> > --- a/gas/testsuite/gas/riscv/csr-version-1p12.d
> > +++ b/gas/testsuite/gas/riscv/csr-version-1p12.d
> > @@ -1,4 +1,4 @@
> > -#as: -march=rv64i -mcsr-check -mpriv-spec=1.12
> > +#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.12
> >  #source: csr.s
> >  #warning_output: csr-version-1p12.l
> >  #objdump: -dr -Mpriv-spec=1.12
> > diff --git a/gas/testsuite/gas/riscv/csr-version-1p9p1.d b/gas/testsuite/gas/riscv/csr-version-1p9p1.d
> > index 01e05ae..a96e8c9 100644
> > --- a/gas/testsuite/gas/riscv/csr-version-1p9p1.d
> > +++ b/gas/testsuite/gas/riscv/csr-version-1p9p1.d
> > @@ -1,4 +1,4 @@
> > -#as: -march=rv64i -mcsr-check -mpriv-spec=1.9.1
> > +#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.9.1
> >  #source: csr.s
> >  #warning_output: csr-version-1p9p1.l
> >  #objdump: -dr -Mpriv-spec=1.9.1
> > diff --git a/gas/testsuite/gas/riscv/option-arch-03.d b/gas/testsuite/gas/riscv/option-arch-03.d
> > index b621d03..62d7f7d 100644
> > --- a/gas/testsuite/gas/riscv/option-arch-03.d
> > +++ b/gas/testsuite/gas/riscv/option-arch-03.d
> > @@ -4,5 +4,5 @@
> >
> >  Attribute Section: riscv
> >  File Attributes
> > -  Tag_RISCV_arch: "rv32i2p0_c2p0"
> > +  Tag_RISCV_arch: "rv32i2p1_c2p0"
> >  #...
> > diff --git a/gas/testsuite/gas/riscv/option-arch-03.s b/gas/testsuite/gas/riscv/option-arch-03.s
> > index d982a0b..ccdb1c3 100644
> > --- a/gas/testsuite/gas/riscv/option-arch-03.s
> > +++ b/gas/testsuite/gas/riscv/option-arch-03.s
> > @@ -1,3 +1,3 @@
> >  .attribute arch, "rv64ic"
> >  .option arch, +d2p0, -c
> > -.option arch, rv32ic
> > +.option arch, rv32i2p1c2p0
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
> > index c148cdb..a4b0322 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d
> > @@ -6,4 +6,4 @@
> >
> >  Attribute Section: riscv
> >  File Attributes
> > -  Tag_RISCV_arch: "rv32i2p0_m2p0"
> > +  Tag_RISCV_arch: "rv32i2p1_m2p0"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s
> > index acc98a5..ea097f9 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s
> > @@ -1 +1 @@
> > -     .attribute arch, "rv32i2p0_m2p0"
> > +     .attribute arch, "rv32i2p1_m2p0"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s
> > index acc98a5..ea097f9 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s
> > @@ -1 +1 @@
> > -     .attribute arch, "rv32i2p0_m2p0"
> > +     .attribute arch, "rv32i2p1_m2p0"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
> > index bc0e0fd..852fd55 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d
> > @@ -6,4 +6,4 @@
> >
> >  Attribute Section: riscv
> >  File Attributes
> > -  Tag_RISCV_arch: "rv32i2p0_m2p0"
> > +  Tag_RISCV_arch: "rv32i2p1_m2p0"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s
> > index acc98a5..ea097f9 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s
> > @@ -1 +1 @@
> > -     .attribute arch, "rv32i2p0_m2p0"
> > +     .attribute arch, "rv32i2p1_m2p0"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s
> > index 65d0fef..610c7e5 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s
> > @@ -1 +1 @@
> > -     .attribute arch, "rv32i2p0"
> > +     .attribute arch, "rv32i2p1"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
> > index 374a043..c1cf808 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d
> > @@ -6,4 +6,4 @@
> >
> >  Attribute Section: riscv
> >  File Attributes
> > -  Tag_RISCV_arch: "rv32i2p0_m2p0_xbar2p0_xfoo2p0"
> > +  Tag_RISCV_arch: "rv32i2p1_m2p0_xbar2p0_xfoo2p0"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s
> > index b86cc55..3a9fb97 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s
> > @@ -1 +1 @@
> > -     .attribute arch, "rv32i2p0_m2p0_xfoo2p0"
> > +     .attribute arch, "rv32i2p1_m2p0_xfoo2p0"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s
> > index 376e373..878f2de 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s
> > @@ -1 +1 @@
> > -     .attribute arch, "rv32i2p0_xbar2p0"
> > +     .attribute arch, "rv32i2p1_xbar2p0"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
> > index e7fadf0..e05cb1e 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
> > @@ -1 +1 @@
> > -     .attribute arch, "rv32i0p1_m0p1_a0p1_zicsr0p1_xunknown0p1"
> > +     .attribute arch, "rv32i2p1_m0p1_a0p1_zicsr0p1_xunknown0p1"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
> > index 1a7a11c..91de4f4 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
> > @@ -1 +1 @@
> > -     .attribute arch, "rv32i0p9_m0p9_a0p9_zicsr0p9_xunknown0p9"
> > +     .attribute arch, "rv32i2p1_m0p9_a0p9_zicsr0p9_xunknown0p9"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
> > index 1a935e7..5b42d52 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
> > @@ -1 +1 @@
> > -     .attribute arch, "rv32i1p0_m1p0_a1p0_zicsr1p0_xunknown1p0"
> > +     .attribute arch, "rv32i2p1_m1p0_a1p0_zicsr1p0_xunknown1p0"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
> > index 3dbf8a2..4c4421b 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
> > @@ -1 +1 @@
> > -     .attribute arch, "rv32i2p0_m2p0_a2p0_zicsr2p0_xunknown2p0"
> > +     .attribute arch, "rv32i2p1_m2p0_a2p0_zicsr2p0_xunknown2p0"
> > diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
> > index b835aa3..8b9140c 100644
> > --- a/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
> > +++ b/ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
> > @@ -4,12 +4,10 @@
> >  #source: attr-merge-arch-failed-ratified-d.s
> >  #as: -march-attr
> >  #ld: -r -m[riscv_choose_ilp32_emul]
> > -#warning: .*mis-matched ISA version 0.9 for 'i' extension, the output version is 0.1
> >  #warning: .*mis-matched ISA version 0.9 for 'm' extension, the output version is 0.1
> >  #warning: .*mis-matched ISA version 0.9 for 'a' extension, the output version is 0.1
> >  #warning: .*mis-matched ISA version 0.9 for 'zicsr' extension, the output version is 0.1
> >  #warning: .*mis-matched ISA version 0.9 for 'xunknown' extension, the output version is 0.1
> > -#warning: .*mis-matched ISA version 1.0 for 'i' extension, the output version is 0.9
> >  #warning: .*mis-matched ISA version 1.0 for 'm' extension, the output version is 0.9
> >  #warning: .*mis-matched ISA version 1.0 for 'a' extension, the output version is 0.9
> >  #warning: .*mis-matched ISA version 1.0 for 'zicsr' extension, the output version is 0.9
> > @@ -18,5 +16,5 @@
> >
> >  Attribute Section: riscv
> >  File Attributes
> > -  Tag_RISCV_arch: "rv32i2p0_m2p0_a2p0_zicsr2p0_xunknown2p0"
> > +  Tag_RISCV_arch: "rv32i2p1_m2p0_a2p0_zicsr2p0_xunknown2p0"
> >  #..
> > diff --git a/ld/testsuite/ld-riscv-elf/call-relax.d b/ld/testsuite/ld-riscv-elf/call-relax.d
> > index c6022be..f8f0229 100644
> > --- a/ld/testsuite/ld-riscv-elf/call-relax.d
> > +++ b/ld/testsuite/ld-riscv-elf/call-relax.d
> > @@ -3,7 +3,7 @@
> >  #source: call-relax-1.s
> >  #source: call-relax-2.s
> >  #source: call-relax-3.s
> > -#as: -march=rv32ic -mno-arch-attr
> > +#as: -march=rv32ic_zicsr -mno-arch-attr
> >  #ld: -m[riscv_choose_ilp32_emul]
> >  #objdump: -d
> >  #pass

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger than 1.0.
  2021-12-30 16:00 [PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger than 1.0 Nelson Chu
  2021-12-30 16:00 ` [PATCH 2/2] RISC-V: Updated the default ISA spec to 20191213 Nelson Chu
@ 2022-02-06 12:26 ` Aurelien Jarno
  2022-02-07 21:09   ` Palmer Dabbelt
  1 sibling, 1 reply; 6+ messages in thread
From: Aurelien Jarno @ 2022-02-06 12:26 UTC (permalink / raw)
  To: Nelson Chu; +Cc: binutils, jim.wilson.gcc, kito.cheng, palmer, andrew

Hi,

On 2021-12-30 08:00, Nelson Chu wrote:
> In general, the extension is ratified when it's version is 1.0, that means
> the versions larger than 1.0 should be compatible.  Therefore, report the
> mismatch warnings for these compatible versions seems redundant and a little
> bit annoying.  I know that there are some exceptions like zba 0.93 and e 1.9,
> but we could handle them specially in the future patches.
> 
> bfd/
> 	* elfnn-riscv.c (riscv_version_mismatch): Do not report the mismatch
> 	warnings when versions are larger than 1.0.
> ld/
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Removed.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Removed.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Removed.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d: Updated
> 	and renamed from attr-merge-arch-failed-02a testcase.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s: Likewise.
> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s: Likewise.
> 	* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
> ---
>  bfd/elfnn-riscv.c                                  | 12 ++++++----
>  .../ld-riscv-elf/attr-merge-arch-failed-01.d       | 11 ---------
>  .../ld-riscv-elf/attr-merge-arch-failed-01a.s      |  1 -
>  .../ld-riscv-elf/attr-merge-arch-failed-01b.s      |  1 -
>  .../ld-riscv-elf/attr-merge-arch-failed-02.d       | 27 ----------------------
>  .../ld-riscv-elf/attr-merge-arch-failed-02a.s      |  1 -
>  .../ld-riscv-elf/attr-merge-arch-failed-02b.s      |  1 -
>  .../ld-riscv-elf/attr-merge-arch-failed-02c.s      |  1 -
>  .../ld-riscv-elf/attr-merge-arch-failed-02d.s      |  1 -
>  .../attr-merge-arch-failed-ratified-a.s            |  1 +
>  .../attr-merge-arch-failed-ratified-b.s            |  1 +
>  .../attr-merge-arch-failed-ratified-c.s            |  1 +
>  .../attr-merge-arch-failed-ratified-d.s            |  1 +
>  .../ld-riscv-elf/attr-merge-arch-failed-ratified.d | 22 ++++++++++++++++++
>  ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp         |  3 +--
>  15 files changed, 35 insertions(+), 50 deletions(-)
>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d
>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s
>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s
>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02.d
>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02a.s
>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02b.s
>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02c.s
>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02d.s
>  create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
>  create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
>  create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
>  create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
>  create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d

Any reason why this patch hasn't been merged yet? Those warnings are
causing many issues, for instance it adds dozen of thousands of failures
to the gcc testsuite, even when binutils is configured with
--with-isa-spec=2.2:

| FAIL: gcc.target/riscv/pr84660.c (test for excess errors)
| Excess errors:
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crti.o: mis-matched ISA version 2.0 for 'i' extension, the output version is 2.1
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crti.o: mis-matched ISA version 2.0 for 'a' extension, the output version is 2.1
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crti.o: mis-matched ISA version 2.0 for 'f' extension, the output version is 2.2
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crti.o: mis-matched ISA version 2.0 for 'd' extension, the output version is 2.2
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtbeginS.o: mis-matched ISA version 2.0 for 'i' extension, the output version is 2.1
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtbeginS.o: mis-matched ISA version 2.0 for 'a' extension, the output version is 2.1
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtbeginS.o: mis-matched ISA version 2.0 for 'f' extension, the output version is 2.2
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtbeginS.o: mis-matched ISA version 2.0 for 'd' extension, the output version is 2.2
| /usr/bin/riscv64-linux-gnu-ld: warning: /tmp/cczGxSZh.o: mis-matched ISA version 2.0 for 'i' extension, the output version is 2.1
| /usr/bin/riscv64-linux-gnu-ld: warning: /tmp/cczGxSZh.o: mis-matched ISA version 2.0 for 'a' extension, the output version is 2.1
| /usr/bin/riscv64-linux-gnu-ld: warning: /tmp/cczGxSZh.o: mis-matched ISA version 2.0 for 'f' extension, the output version is 2.2
| /usr/bin/riscv64-linux-gnu-ld: warning: /tmp/cczGxSZh.o: mis-matched ISA version 2.0 for 'd' extension, the output version is 2.2
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtendS.o: mis-matched ISA version 2.0 for 'i' extension, the output version is 2.1
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtendS.o: mis-matched ISA version 2.0 for 'a' extension, the output version is 2.1
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtendS.o: mis-matched ISA version 2.0 for 'f' extension, the output version is 2.2
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtendS.o: mis-matched ISA version 2.0 for 'd' extension, the output version is 2.2
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtn.o: mis-matched ISA version 2.0 for 'i' extension, the output version is 2.1
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtn.o: mis-matched ISA version 2.0 for 'a' extension, the output version is 2.1
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtn.o: mis-matched ISA version 2.0 for 'f' extension, the output version is 2.2
| /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtn.o: mis-matched ISA version 2.0 for 'd' extension, the output version is 2.2

Thanks,
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger than 1.0.
  2022-02-06 12:26 ` [PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger than 1.0 Aurelien Jarno
@ 2022-02-07 21:09   ` Palmer Dabbelt
  0 siblings, 0 replies; 6+ messages in thread
From: Palmer Dabbelt @ 2022-02-07 21:09 UTC (permalink / raw)
  To: aurelien, Nelson Chu; +Cc: binutils, Jim Wilson, kito.cheng, Andrew Waterman

On Sun, 06 Feb 2022 04:26:33 PST (-0800), aurelien@aurel32.net wrote:
> Hi,
>
> On 2021-12-30 08:00, Nelson Chu wrote:
>> In general, the extension is ratified when it's version is 1.0, that means
>> the versions larger than 1.0 should be compatible.  Therefore, report the
>> mismatch warnings for these compatible versions seems redundant and a little
>> bit annoying.  I know that there are some exceptions like zba 0.93 and e 1.9,
>> but we could handle them specially in the future patches.
>>
>> bfd/
>> 	* elfnn-riscv.c (riscv_version_mismatch): Do not report the mismatch
>> 	warnings when versions are larger than 1.0.
>> ld/
>> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Removed.
>> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Removed.
>> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Removed.
>> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d: Updated
>> 	and renamed from attr-merge-arch-failed-02a testcase.
>> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s: Likewise.
>> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s: Likewise.
>> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s: Likewise.
>> 	* testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s: Likewise.
>> 	* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.
>> ---
>>  bfd/elfnn-riscv.c                                  | 12 ++++++----
>>  .../ld-riscv-elf/attr-merge-arch-failed-01.d       | 11 ---------
>>  .../ld-riscv-elf/attr-merge-arch-failed-01a.s      |  1 -
>>  .../ld-riscv-elf/attr-merge-arch-failed-01b.s      |  1 -
>>  .../ld-riscv-elf/attr-merge-arch-failed-02.d       | 27 ----------------------
>>  .../ld-riscv-elf/attr-merge-arch-failed-02a.s      |  1 -
>>  .../ld-riscv-elf/attr-merge-arch-failed-02b.s      |  1 -
>>  .../ld-riscv-elf/attr-merge-arch-failed-02c.s      |  1 -
>>  .../ld-riscv-elf/attr-merge-arch-failed-02d.s      |  1 -
>>  .../attr-merge-arch-failed-ratified-a.s            |  1 +
>>  .../attr-merge-arch-failed-ratified-b.s            |  1 +
>>  .../attr-merge-arch-failed-ratified-c.s            |  1 +
>>  .../attr-merge-arch-failed-ratified-d.s            |  1 +
>>  .../ld-riscv-elf/attr-merge-arch-failed-ratified.d | 22 ++++++++++++++++++
>>  ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp         |  3 +--
>>  15 files changed, 35 insertions(+), 50 deletions(-)
>>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d
>>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s
>>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s
>>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02.d
>>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02a.s
>>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02b.s
>>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02c.s
>>  delete mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-02d.s
>>  create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-a.s
>>  create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-b.s
>>  create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-c.s
>>  create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified-d.s
>>  create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-ratified.d
>
> Any reason why this patch hasn't been merged yet? Those warnings are
> causing many issues, for instance it adds dozen of thousands of failures
> to the gcc testsuite, even when binutils is configured with
> --with-isa-spec=2.2:

Sorry, looks like we dropped the ball here.  I remember having talked 
about just dropping all the version checks, as they're not really 
something sane to enforce at link time any more, but I can't find that 
discussion so I'm not sure if that's what got us distracted.  I tried 
putting this on master and it fails the included 
ld-riscv-elf/attr-merge-arch-failed-ratified for me, not sure if I'm 
missing something here or if it wasn't passing to begin with and that's 
why it didn't get merged.

Nelson, do you have a version of this that passes the tests?

This also brings up an ugly question about 2.38: it's really way later 
then we should be considering taking anything, but it's also pretty 
unfriendly to introduce a bunch of new warnings that users are unlikely 
to care about.

> | FAIL: gcc.target/riscv/pr84660.c (test for excess errors)
> | Excess errors:
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crti.o: mis-matched ISA version 2.0 for 'i' extension, the output version is 2.1
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crti.o: mis-matched ISA version 2.0 for 'a' extension, the output version is 2.1
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crti.o: mis-matched ISA version 2.0 for 'f' extension, the output version is 2.2
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crti.o: mis-matched ISA version 2.0 for 'd' extension, the output version is 2.2
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtbeginS.o: mis-matched ISA version 2.0 for 'i' extension, the output version is 2.1
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtbeginS.o: mis-matched ISA version 2.0 for 'a' extension, the output version is 2.1
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtbeginS.o: mis-matched ISA version 2.0 for 'f' extension, the output version is 2.2
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtbeginS.o: mis-matched ISA version 2.0 for 'd' extension, the output version is 2.2
> | /usr/bin/riscv64-linux-gnu-ld: warning: /tmp/cczGxSZh.o: mis-matched ISA version 2.0 for 'i' extension, the output version is 2.1
> | /usr/bin/riscv64-linux-gnu-ld: warning: /tmp/cczGxSZh.o: mis-matched ISA version 2.0 for 'a' extension, the output version is 2.1
> | /usr/bin/riscv64-linux-gnu-ld: warning: /tmp/cczGxSZh.o: mis-matched ISA version 2.0 for 'f' extension, the output version is 2.2
> | /usr/bin/riscv64-linux-gnu-ld: warning: /tmp/cczGxSZh.o: mis-matched ISA version 2.0 for 'd' extension, the output version is 2.2
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtendS.o: mis-matched ISA version 2.0 for 'i' extension, the output version is 2.1
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtendS.o: mis-matched ISA version 2.0 for 'a' extension, the output version is 2.1
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtendS.o: mis-matched ISA version 2.0 for 'f' extension, the output version is 2.2
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtendS.o: mis-matched ISA version 2.0 for 'd' extension, the output version is 2.2
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtn.o: mis-matched ISA version 2.0 for 'i' extension, the output version is 2.1
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtn.o: mis-matched ISA version 2.0 for 'a' extension, the output version is 2.1
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtn.o: mis-matched ISA version 2.0 for 'f' extension, the output version is 2.2
> | /usr/bin/riscv64-linux-gnu-ld: warning: /build/gcc-9-WXLb8U/gcc-9-9.4.0/build/gcc/crtn.o: mis-matched ISA version 2.0 for 'd' extension, the output version is 2.2
>
> Thanks,
> Aurelien

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-02-07 21:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-30 16:00 [PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger than 1.0 Nelson Chu
2021-12-30 16:00 ` [PATCH 2/2] RISC-V: Updated the default ISA spec to 20191213 Nelson Chu
2021-12-30 16:46   ` Palmer Dabbelt
2022-01-07 11:02     ` Nelson Chu
2022-02-06 12:26 ` [PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger than 1.0 Aurelien Jarno
2022-02-07 21:09   ` Palmer Dabbelt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).