Re: [RISCV] RISC-V GNU Toolchain Biweekly Sync-up call (Jan 27, 2022)

David Abdurachmanov via Gdb
2022-01-28T10:09:25Z

On Thu, Jan 27, 2022 at 6:21 PM Matthias Klose <doko@ubuntu.com> wrote:

> On 1/26/22 14:04, jiawei@iscas.ac.cn wrote:
> > Hi all,
> >
> > There is an agenda for tomorrow's meeting. If you have topics to
> > discuss or share, please let me know and I can add them to the agenda.
> >
> > Agenda:
> >
> >
> >
> >
> >
> > - Bump GCC default ISA spec and got bug report[1] for that.
>
> Tried to join the meeting, but it ended early apparently.
>
> Using in Debian and Ubuntu binutils 2.38, I see then with GCC 11.2
> warnings for
> every link:
>
> /usr/bin/ld: warning: /usr/lib/gcc/riscv64-linux-gnu/10/crtn.o:
> mis-matched ISA
> version 2.0 for 'i' extension, the output version is 2.1
> /usr/bin/ld: warning: /usr/lib/gcc/riscv64-linux-gnu/10/crtn.o:
> mis-matched ISA
> version 2.0 for 'a' extension, the output version is 2.1
> /usr/bin/ld: warning: /usr/lib/gcc/riscv64-linux-gnu/10/crtn.o:
> mis-matched ISA
> version 2.0 for 'f' extension, the output version is 2.2
> /usr/bin/ld: warning: /usr/lib/gcc/riscv64-linux-gnu/10/crtn.o:
> mis-matched ISA
> version 2.0 for 'd' extension, the output version is 2.2
>
> Are there any plans to backport the support for ISA 2.1/2.2 to GCC 11? Or
> do we
> need to configure binutils to use 2.0 until the compiler is changed to GCC
> 12?
>

There are a few packages that will be broken (because they set -march
assuming the old standard). Things like kernel (patch proposed), opensbi
(patch proposed), u-boot, grub and similar. Kudos to Aurelien Jarno for
sending these patches already.

The warnings can be ignored here IIRC. The patch was proposed back in
December:
[PATCH 1/2] RISC-V: Don't report mismatch warnings when versions are larger
than 1.0.
https://sourceware.org/pipermail/binutils/2021-December/119060.html

But it wasn't committed yet. The patch was part of the series to change
default ISA to 20191213.

IIUC all combinations:
- GCC 12 + binutils 2.38
- GCC 11 + binutils 2.37
- GCC 12 + binutils 2.37
are valid, but you might want to use --with-isa-spec=2.2 for now until some
of the packages are patched.

Cheers,
david

>
> There's also no documentation about that change, at least in binutils.
> Should
> that be mentioned in the release notes?
>
> Thanks, Matthias
>