]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
RISC-V: Don't report warnings when linking different privileged spec objects.
authorNelson Chu <nelson@rivosinc.com>
Tue, 8 Oct 2024 04:35:43 +0000 (12:35 +0800)
committerNelson Chu <nelson@rivosinc.com>
Tue, 19 Nov 2024 05:44:49 +0000 (13:44 +0800)
Since only the abandoned privileged spec v1.9.1 will have conflict csrs, to
keep the compatible we still report warnings when linking privileged spec
v1.9.1 objects with others.  But don't report warnings for other compatible
cases because it is actually a bit noisy and useless...

bfd/
* elfnn-riscv.c (riscv_merge_attributes): Only report warnings when
linking the abandoned privileged spec v1.9.1 object with others.
ld/
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d: Removed.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-02.d: Removed.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-03.d: Removed.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-04.d: Removed.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-05.d: Removed.
* testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-06.d: Removed.
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Updated.

bfd/elfnn-riscv.c
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d [deleted file]
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-02.d [deleted file]
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-03.d [deleted file]
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-04.d [deleted file]
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-05.d [deleted file]
ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-06.d [deleted file]
ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp

index c8bf45f42935a8e8222ffb01a18abf0b8437363f..3aba9c85b0f3650fe1cd2b2f8aaec792aec2c388 100644 (file)
@@ -4071,20 +4071,9 @@ riscv_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
            else if (in_priv_spec != PRIV_SPEC_CLASS_NONE
                     && in_priv_spec != out_priv_spec)
              {
-               _bfd_error_handler
-                 (_("warning: %pB use privileged spec version %u.%u.%u but "
-                    "the output use version %u.%u.%u"),
-                  ibfd,
-                  in_attr[Tag_a].i,
-                  in_attr[Tag_b].i,
-                  in_attr[Tag_c].i,
-                  out_attr[Tag_a].i,
-                  out_attr[Tag_b].i,
-                  out_attr[Tag_c].i);
-
-               /* The privileged spec v1.9.1 can not be linked with others
-                  since the conflicts, so we plan to drop it in a year or
-                  two.  */
+               /* The abandoned privileged spec v1.9.1 can not be linked with
+                  others since the conflicts.  Keep the check since compatible
+                  issue.  */
                if (in_priv_spec == PRIV_SPEC_CLASS_1P9P1
                    || out_priv_spec == PRIV_SPEC_CLASS_1P9P1)
                  {
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d
deleted file mode 100644 (file)
index 7f98707..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#source: attr-merge-priv-spec-a.s
-#source: attr-merge-priv-spec-c.s
-#as:
-#ld: -r
-#warning: .*use privileged spec version 1.11.0 but the output use version 1.10.0
-#readelf: -A
-
-Attribute Section: riscv
-File Attributes
-  Tag_RISCV_arch: [a-zA-Z0-9_\"].*
-  Tag_RISCV_priv_spec: 1
-  Tag_RISCV_priv_spec_minor: 11
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-02.d b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-02.d
deleted file mode 100644 (file)
index f86ef10..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#source: attr-merge-priv-spec-c.s
-#source: attr-merge-priv-spec-a.s
-#as:
-#ld: -r
-#warning: .*use privileged spec version 1.10.0 but the output use version 1.11.0
-#readelf: -A
-
-Attribute Section: riscv
-File Attributes
-  Tag_RISCV_arch: [a-zA-Z0-9_\"].*
-  Tag_RISCV_priv_spec: 1
-  Tag_RISCV_priv_spec_minor: 11
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-03.d b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-03.d
deleted file mode 100644 (file)
index cfbb233..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#source: attr-merge-priv-spec-a.s
-#source: attr-merge-priv-spec-d.s
-#source: attr-merge-priv-spec-c.s
-#as:
-#ld: -r
-#warning: .*use privileged spec version 1.11.0 but the output use version 1.10.0
-#readelf: -A
-
-Attribute Section: riscv
-File Attributes
-  Tag_RISCV_arch: [a-zA-Z0-9_\"].*
-  Tag_RISCV_priv_spec: 1
-  Tag_RISCV_priv_spec_minor: 11
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-04.d b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-04.d
deleted file mode 100644 (file)
index 4332597..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#source: attr-merge-priv-spec-d.s
-#source: attr-merge-priv-spec-a.s
-#source: attr-merge-priv-spec-c.s
-#as:
-#ld: -r
-#warning: .*use privileged spec version 1.11.0 but the output use version 1.10.0
-#readelf: -A
-
-Attribute Section: riscv
-File Attributes
-  Tag_RISCV_arch: [a-zA-Z0-9_\"].*
-  Tag_RISCV_priv_spec: 1
-  Tag_RISCV_priv_spec_minor: 11
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-05.d b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-05.d
deleted file mode 100644 (file)
index bb6573d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#source: attr-merge-priv-spec-c.s
-#source: attr-merge-priv-spec-d.s
-#source: attr-merge-priv-spec-a.s
-#as:
-#ld: -r
-#warning: .*use privileged spec version 1.10.0 but the output use version 1.11.0
-#readelf: -A
-
-Attribute Section: riscv
-File Attributes
-  Tag_RISCV_arch: [a-zA-Z0-9_\"].*
-  Tag_RISCV_priv_spec: 1
-  Tag_RISCV_priv_spec_minor: 11
diff --git a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-06.d b/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-06.d
deleted file mode 100644 (file)
index 9d97ff9..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#source: attr-merge-priv-spec-d.s
-#source: attr-merge-priv-spec-c.s
-#source: attr-merge-priv-spec-a.s
-#as:
-#ld: -r
-#warning: .*use privileged spec version 1.10.0 but the output use version 1.11.0
-#readelf: -A
-
-Attribute Section: riscv
-File Attributes
-  Tag_RISCV_arch: [a-zA-Z0-9_\"].*
-  Tag_RISCV_priv_spec: 1
-  Tag_RISCV_priv_spec_minor: 11
index 0ee202555513905a7aab191d5930a10600834b27..7b1b2aa285d3ac653e5b20e56c3ca935497b6852 100644 (file)
@@ -165,12 +165,6 @@ if [istarget "riscv*-*-*"] {
     run_dump_test "attr-merge-priv-spec-03"
     run_dump_test "attr-merge-user-ext-01"
     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"
-    run_dump_test "attr-merge-priv-spec-failed-03"
-    run_dump_test "attr-merge-priv-spec-failed-04"
-    run_dump_test "attr-merge-priv-spec-failed-05"
-    run_dump_test "attr-merge-priv-spec-failed-06"
     run_dump_test "attr-phdr"
     run_dump_test "relax-max-align-gp"
     run_dump_test "uleb128"