[PATCH] RISC-V: Don't report warnings when linking different privileged spec objects.

Nelson Chu nelson@rivosinc.com
Tue Nov 19 05:50:32 GMT 2024


Committed, thanks.

Nelson

On Tue, Oct 8, 2024 at 12:35 PM Nelson Chu <nelson@rivosinc.com> wrote:

> 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                               | 17 +++--------------
>  .../attr-merge-priv-spec-failed-01.d            | 12 ------------
>  .../attr-merge-priv-spec-failed-02.d            | 12 ------------
>  .../attr-merge-priv-spec-failed-03.d            | 13 -------------
>  .../attr-merge-priv-spec-failed-04.d            | 13 -------------
>  .../attr-merge-priv-spec-failed-05.d            | 13 -------------
>  .../attr-merge-priv-spec-failed-06.d            | 13 -------------
>  ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp      |  6 ------
>  8 files changed, 3 insertions(+), 96 deletions(-)
>  delete mode 100644
> ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d
>  delete mode 100644
> ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-02.d
>  delete mode 100644
> ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-03.d
>  delete mode 100644
> ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-04.d
>  delete mode 100644
> ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-05.d
>  delete mode 100644
> ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-06.d
>
> diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
> index 4844412a4d4..eda23af3af1 100644
> --- a/bfd/elfnn-riscv.c
> +++ b/bfd/elfnn-riscv.c
> @@ -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
> index 7f987070ea0..00000000000
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-01.d
> +++ /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
> index f86ef10b6bc..00000000000
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-02.d
> +++ /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
> index cfbb23328a6..00000000000
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-03.d
> +++ /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
> index 4332597daa4..00000000000
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-04.d
> +++ /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
> index bb6573df51f..00000000000
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-05.d
> +++ /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
> index 9d97ff99a7b..00000000000
> --- a/ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-failed-06.d
> +++ /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
> diff --git a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp
> b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp
> index 0ee20255551..7b1b2aa285d 100644
> --- a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp
> +++ b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp
> @@ -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"
> --
> 2.39.3 (Apple Git-146)
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://sourceware.org/pipermail/binutils/attachments/20241119/7dfd16d1/attachment-0001.htm>


More information about the Binutils mailing list