DevHeads.net

Postings by Marek Polacek

GCC 8/9 ABI change: call for rebuilds

Recently a serious bug in the compiler was discovered whereby we miscompiled
several packages. The problem only occurs in C++ programs that contain a class
with a trivial move constructor and deleted copy constructor. For such
programs, the calling convention changed inappropriately, in the sense that an
object was passed via memory rather than via registers. See
<https://gcc.gnu.org/PR86094>.

I did a scratch mass rebuild with a specially-tweaked gcc in order to find out
which packages need to be rebuilt.

GCC 8 ABI change on x86_64

Recently we discovered a serious bug in the compiler whereby we miscompiled
several packages. The problem started with my ABI-changing patch which changed
how empty classes are passed, as per the x86_64 psABI (so this bug only affects
x86_64). The problem could arise when the code contained empty class templates.
For more info see <https://gcc.gnu.org/PR84502>.

I did another mass rebuild with a specially-tweaked gcc in order to find out
which packages need to be rebuild with patched gcc-8.0.1-0.16.

Fedora mass rebuild 2018

As many of you know, every year we (the GCC team) rebuild all the Fedora
packages with the upcoming GCC, so as to reveal as many bugs as possible before
we release the new version.

Fedora mass rebuild 2017

It's been a tradition now that every January we rebuild all the Fedora packages
with the upcoming GCC, to reveal as many bugs as possible before we release
the new version. This year is no different.

There were 18811 packages overall (last year we had 17741 packages).
17263 built fine with the new GCC (mostly gcc-7.0.0-0.1.fc26.src.rpm but I also
used a newer version from rawhide). 1350 failed with both GCC 6 and GCC 7,
so I ignored these.

Fedora mass rebuild 2016

In the past few days and weeks we did a mass rebuild of Fedora rawhide packages
in mock with GCC 6 (and corresponding libtool) and for those packages that
failed also rebuilt the same package with gcc-5.3.1-2.fc23.x86_64 to quickly
remove from the list packages that fail for non-GCC related reasons.

There were 17741 packages overall (last year we had 16230 packages). 16281
packages built fine, 883 packages failed to build with both gcc-6 and gcc-5
(ignored for this analysis, unlikely to be GCC 6 related). This left us with
577 packages that had to be analyzed.

Results of a test mass rebuild of rawhide/x86_64 with gcc-5.0.0-0.5.fc22

To get some sense on how is GCC 5 standing, we (myself and Jakub Jelinek)
have performed a test mass rebuild of rawhide (January 15th package list)
using gcc-5.0.0-0.5.fc22 on x86_64, and for those packages that failed also
rebuilt the same package with gcc-4.9.2-5.fc22.x86_64 to quickly remove from
the list packages that fail for non-GCC related reasons.

There were 16230 packages overall. 15303 packages built fine, 691 packages
failed to build with both gcc-5.0.0-0.5.fc22 and gcc-4.9.2-5.fc22 (ignored for
this analysis, unlikely to be GCC 5 related).