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

2022-01-28 Thread David Abdurachmanov via Gcc
On Thu, Jan 27, 2022 at 6:21 PM Matthias Klose  wrote:

> On 1/26/22 14:04, jia...@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
>


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

2022-01-28 Thread Matthias Klose
On 1/28/22 11:06, David Abdurachmanov wrote:
> On Thu, Jan 27, 2022 at 6:21 PM Matthias Klose  wrote:
> 
>> On 1/26/22 14:04, jia...@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.

seems to be a bit more ...
we are seeing a lot of build failures building parts of the KDE stack.
https://launchpadlibrarian.net/582482377/buildlog_ubuntu-jammy-riscv64.ktexteditor_5.90.0-0ubuntu2_BUILDING.txt.gz

while you see only warnings, the linker errors out.

Also GCC 11 fails to build with binutils 2.38:

libtool: link: `sstream-inst.lo' is not a valid libtool object
make[8]: *** [Makefile:633: libc++11convenience.la] Error 1


Is there a plan, or procedure to follow doing this ISA change for a set of
packages, e.g. building packages in a particular order?

> 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.

so this leaves "GCC 11 + binutils 2.38" as invalid.  binutils 2.38 will be
released before GCC 12, that is what people will be using. IMO the binutils 2.38
release should default to the old ISA.

Matthias


gcc-10-20220128 is now available

2022-01-28 Thread GCC Administrator via Gcc
Snapshot gcc-10-20220128 is now available on
  https://gcc.gnu.org/pub/gcc/snapshots/10-20220128/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 10 git branch
with the following options: git://gcc.gnu.org/git/gcc.git branch 
releases/gcc-10 revision 06760243382ea3ae1398294db4cfde6660779ed8

You'll find:

 gcc-10-20220128.tar.xz   Complete GCC

  SHA256=01d62bc847a5d0b01c99d238a566e9b003893c66cd324cb535e7c4028fbb6768
  SHA1=3266bf398991869a65d75f6d23bad3b1ada643e7

Diffs from 10-20220121 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-10
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.