Marek Polacek píše v Út 07. 02. 2017 v 22:32 +0100: > 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. This left us with ~198 packages that had to be > analyzed, > a number which, fortunately, was smaller than last year, when we'd > had 577 FTBFS to > investigate. MongoDB is not failing in your rebuild. However latest minor upgrade (v3.4.2) with gcc 7 is failing. I've figured out, that is optimization issue (with -O0 it is fine, with -01 it is failing) and it is ONLY ON ppc64le (other architectures are fine). I know which file is cause this issue, but I can't figure out with which optimization. I get what changes between O0 and O1 in output of 'gcc -O0/1 -Q --help=optimizers' and compiled with -O0 and flags of individual optimizations (which are added by O1), but failure does not appear. What else differs in -O1? How should I debug it? > > The Fedora packages I rebuilt were grabbed on Jan 12. > > It's all fairly good, and nothing particularly stands out. There is > the usual > batch of new warnings (-Wimplicit-fallthrough and -Wformat-truncation > causing > the biggest churn), some C++ FE changes (especially the "Fix type- > dependence > and the current instantiation" changes made the compiler to reject > invalid code > that had previously been accepted, plus invalid conversions with '\0' > are now > rejected), some libstdc++ changes (header dependency changes), as > well as some > mangling changes. > > We found several GCC bugs, most of which have already been > fixed. Furthermore, > Fortran ABI has changed in GCC 7. Anyway, there's nothing that > particularly > worries me (except perhaps the -fprintf-return-value stuff that might > still > cause some wrong codes). > > Shortlog appended for the people who want to get an overview of the > details. > > As usual, there will be a "porting to" document to ease the > transition to the > new GCC. We already have https://gcc.gnu.org/gcc-7/porting_to.html, > even though > this document is still somewhat in flux. > > I'd like to thank Jakub Jelinek and Jonathan Wakely, the guys I roped > in to help > me with all this undertaking. > > GCC bugs > ~~~~~~~~ > The following is a list of bugs we've found so far in the compiler > and the C++ > library during the mass rebuild: > > schroot-1.6.5-16.fc24.src.rpm > ICE in cxx_incomplete_type_diagnostic > https://gcc.gnu.org/PR78690 > not fixed yet > > python-plyvel-0.9-7.fc26.src.rpm > error: invalid rhs for gimple memory store > https://gcc.gnu.org/PR79232 > fixed in gcc-7.0.1-0.4.fc26 > > mathicgb-1.0-6.20160202.gitbb268df.fc26.src.rpm > ICE in tsubst_copy > https://gcc.gnu.org/PR79253 > fixed upstream and in gcc-7.0.1-0.5.fc26 > > cvc4-1.4-11.fc25.src.rpm > TLS model wrong for static data members > https://gcc.gnu.org/PR79288 > fixed in gcc-7.0.1-0.4.fc26 > > golang-1.7.4-1.fc26.src.rpm > DWARF info for typeof of C function with no args and no > prototype > is empty pointer > https://gcc.gnu.org/PR79289 > fixed upstream and in gcc-7.0.1-0.4.fc26 > > texlive-2016-30.20160520.fc26.src.rpm > tlog-2-1.fc25.src.rpm > wrong code at -O2 and -fprintf-return-value > https://gcc.gnu.org/PR79327 > fixed upstream and in gcc-7.0.1-0.6.fc26 > > perl-Prima-1.50-1.fc26.src.rpm > -fprintf-return-value doesn't handle flexible-like array > members properly > https://gcc.gnu.org/PR79352 > fixed upstream and in gcc-7.0.1-0.6.fc26 > > clucene09-0.9.21b-16.fc24.src.rpm > qt5-qttools-5.7.1-4.fc26.src.rpm > g++ rejects valid code with error: looser throw specifier > https://gcc.gnu.org/PR79393 class="Apple-tab-span" > style="white-space:pre"> > > Failures due to new warnings and -Werror > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > efivar-30-4.fc26.src.rpm > a new -Walloc-size-larger-than warning > > bind-dyndb-ldap-11.0-1.fc26.src.rpm > efibootmgr-14-3.fc26.src.rpm > fwupdate-8-2.fc26.src.rpm > a new -Wduplicate-decl-specifier warning > > mstflint-4.4.0-1.12.gd1edd58.1.fc26.src.rpm > a new -Wformat-length warning > > blobwars-1.19-13.fc24.src.rpm > czmq-4.0.2-1.fc26.src.rpm > elfutils-0.168-1.fc26.src.rpm > fcoe-utils-1.0.30-5.git91c0c8c.fc24.src.rpm > glib2-2.51.0-2.fc26.src.rpm > glibc-2.24.90-26.fc26.src.rpm > ipv6calc-0.99.2-17.fc26.src.rpm > isomd5sum-1.1.0-4.fc26.src.rpm > ixpdimm_sw-01.00.00.2144-1.fc26.src.rpm > libhid-0.2.17-21.fc25.src.rpm > libpsm2-10.2.2-2.fc25.src.rpm > libyui-3.2.8-1.fc26.src.rpm > logrotate-3.11.0-2.fc26.src.rpm > memcached-1.4.33-1.fc26.src.rpm > nfs-ganesha-2.4.1-2.fc26.src.rpm > nodm-0.12-1.fc25.src.rpm > openvas-libraries-8.0.8-2.fc26.src.rpm > pacemaker-1.1.16-1.fc26.src.rpm > sbd-1.2.1-3.fc24.1.src.rpm > Simple-Fuzzer-0.7.1-1.src.rpm > usbip-4.5-1.fc25.src.rpm > varnish-5.0.0-1.fc26.src.rpm > vsftpd-3.0.3-4.fc26.src.rpm > xrootd-4.5.0-1.fc26.src.rpm > a new -Wformat-truncation > > ArpON-3.0-2.fc25.src.rpm > clevis-2-1.fc26.src.rpm > coreboot-utils-4.5-2.fc26.src.rpm > crash-7.1.7-1.fc26.src.rpm > gmqcc-0.3.5-10.fc26.src.rpm > hidrd-0.2.0-3.20160712git1abf7033.fc25.src.rpm > libs3-2.0-0.5.20161104gita052a00.fc26.src.rpm > libvma-8.0.1-1.fc25.src.rpm > lldpad-1.0.1-4.git036e314.fc24.src.rpm > luksmeta-3-1.fc26.src.rpm > mdadm-3.4-3.fc26.src.rpm > mingw-w64-tools-3.1.999-0.8.trunk.git430863.20140530.fc24.src.rpm > msgpack-1.4.1-1.fc25.src.rpm > percona-xtrabackup-2.2.9-4.fc24.src.rpm > pesign-0.112-5.fc26.src.rpm > pidgin-sipe-1.21.1-1.fc25.src.rpm > qpid-cpp-1.35.0-1.fc26.src.rpm > qpid-qmf-1.35.0-1.fc26.src.rpm > quassel-irssi-0-2.20161120gitcbd9bd7.fc26.src.rpm > sway-0.11-4.fc26.src.rpm > a new -Wimplicit-fallthrough warning > > cdrkit-1.1.11-32.fc26.src.rpm > a new -Wint-in-bool-contex warning > > Invalid C++ > ~~~~~~~~~~~~~~~~~~~~~~ > Add64-1.2.2-10.fc24.src.rpm > berusky2-0.10-11.fc24.src.rpm > easystroke-0.6.0-15.fc24.src.rpm > guitarix-0.35.0-3.fc26.src.rpm > inkscape-0.92.0-11.fc26.src.rpm > jack-audio-connection-kit-1.9.10-5.fc24.src.rpm > kate4-4.14.3-16.fc24.src.rpm > milkytracker-0.90.86-3.fc25.src.rpm > muse-2.2.1-2.fc24.src.rpm > rawtherapee-4.2.1234-2.20161105gitb766110.fc26.src.rpm > svxlink-15.11-1.fc24.src.rpm > vdr-2.2.0-10.fc25.src.rpm > error: call of overloaded 'abs(...)' is ambiguous > All overloads of the abs function are now declared by including > either > of <cstdlib> or <cmath>, and the custom overloads conflict with > one of > the additional overloads in the standard > headers. Additionally, > calling abs with an argument of unsigned type is now ill-formed > after > inclusion of any standard abs overload. > > capnproto-0.5.3-2.fc25.src.rpm > error: could not convert template argument 'b' from 'bool' to > 'capnp::Kind' > Presumably invalid C++. > > atlascpp-0.6.3-6.fc24.src.rpm > glmark2-2014.03-6.fc25.src.rpm > ladish-2-13.3.gitfcb16ae.fc24.src.rpm > libinvm-cim-1.0.0.1043-1.fc26.src.rpm > libvoikko-3.8-2.fc25.src.rpm > openoffice.org-diafilter-1.7.5-1.fc24.src.rpm > pulseview-0.3.0-1.fc24.src.rpm > error: dynamic exception specifications are deprecated in > C++11; use 'noexcept' instead > In C++17, throw(int) is no longer valid. > > asgp-1.0.18-6.fc26.src.rpm > bear-0.7.0-0.11.20161230git781ec80.fc26.src.rpm > crawl-0.19.1-1.fc26.src.rpm > libclaw-1.7.4-16.fc26.src.rpm > plee-the-bear-0.7.0-10.fc26.src.rpm > steghide-0.5.1-28.fc26.src.rpm > error: expected primary-expression before ... token > Invalid C++ code; it needs to be "position.template > cast_value_type_to". > See https://womble.decadent.org.uk/c++/template-faq.html#disamb > iguation. > > normaliz-2.12.2-8.fc24.src.rpm > error: expression cannot be used as a function > Invalid C++, Jon opened: > https://bugzilla.redhat.com/show_bug.cgi?id=1417678 > class="Apple-tab-span" style="white-space:pre"> > > apt-cacher-ng-0.9.0-1.fc24.src.rpm > clementine-1.3.1-4.fc26.src.rpm > conky-1.10.4-1.fc26.src.rpm > dwgrep-0.2-4.fc24.src.rpm > fflas-ffpack-2.2.2-3.fc26.src.rpm > glogg-1.1.2-1.fc26.src.rpm > gpgme-1.8.0-7.fc26.src.rpm > gtengine-3.5-1.fc26.src.rpm > lldb-3.9.0-3.fc26.src.rpm > pingus-0.7.6-20.fc24.src.rpm > plasma-desktop-5.8.5-2.fc26.src.rpm > worker-3.3.3-6.fc24.src.rpm > Quoting from porting_to: > Several C++ Standard Library headers have been changed to no > longer > include the <functional> header. As such, C++ programs that > used components > defined in <functional> without explicitly including that > header will no > longer compile. > > Previously components such as std::bind and std::function were > implicitly > defined after including unrelated headers such as <memory>, > <futex>, <mutex>, > and <regex>. Correct code should #include <functional> to > define them. > > Also see https://bugzilla.redhat.com/show_bug.cgi?id=1417383 > > bison-3.0.4-4.fc24.src.rpm > This package contains code that is trying to add some classes > to std::, > that is undefined behavior. > > Coin2-2.5.0-28.fc26.src.rpm > Coin3-3.1.3-18.fc26.src.rpm > dbus-c++-0.9.0-11.fc24.src.rpm > festival-1.96-32.fc24.src.rpm > gambas3-3.9.2-2.fc26.src.rpm > htdig-3.2.0-0.25.b6.fc24.src.rpm > kyotocabinet-1.2.76-11.fc26.src.rpm > mup-6.5-1.fc26.src.rpm > percolator-3.01-1.fc26.src.rpm > pki-core-10.3.5-10.fc26.src.rpm > scim-1.4.17-1.fc25.src.rpm > scim-bridge-0.4.16-22.fc24.src.rpm > speed-dreams-2.2.1-2.fc26.src.rpm > torcs-1.3.7-1.fc25.src.rpm > error: invalid conversion from 'char' to 'char*' > s = '\0' > This code is invalid in C++11 and GCC doesn't compile it > anymore (pointer > conversions are only allowed for an integral-literal and not a > character > literal). In C++03 and in C the compiler warns (-Wpointer- > compare). > > vegastrike-0.5.1-27.r1.fc24.src.rpm > error: request for member ... in ... > Looks like '.' is used instead of '->', so invalid C++. > > apvlv-0.1.4-11.fc25.src.rpm > arm-none-eabi-gcc-cs-6.2.0-1.fc26.src.rpm > aspell-0.60.6.1-14.fc26.src.rpm > avr-gcc-6.2.0-1.fc26.src.rpm > dyninst-9.3.0-1.fc26.src.rpm > edk2-20161105git3b25ca8-1.fc26.src.rpm > frysk-0.4-54.fc26.src.rpm > gearmand-1.1.14-1.fc26.src.rpm > glog-0.3.3-12.fc25.src.rpm > gpsim-0.29.0-1.fc24.src.rpm > hylafax+-5.5.8-1.fc24.src.rpm > kdelibs-4.14.28-1.fc26.src.rpm > libmemcached-1.0.18-7.fc24.src.rpm > libmp4v2-2.1.0-0.6.trunkREV507.fc24.src.rpm > mingw-gcc-6.3.0-1.fc26.src.rpm > mozjs17-17.0.0-16.fc26.src.rpm > mozjs24-24.2.0-11.fc26.src.rpm > ode-0.14-2.fc24.src.rpm > oorexx-4.2.0-3.fc26.src.rpm > primer3-2.3.6-6.fc24.src.rpm > shigofumi-0.6-4.fc25.src.rpm > snoopy-2.2.6-3.fc24.src.rpm > vdr-live-0.3.0-24.20150213git6ea279a.fc26.src.rpm > xmoto-0.5.11-9.fc24.src.rpm > error: ISO C++ forbids comparison between pointer and integer > You can no longer write "ptr == '\0'" as it's invalid C++11. > > atanks-6.5-1.fc26.src.rpm > blitz-0.10-10.fc24.src.rpm > nodejs-6.9.4-1.fc26.src.rpm > OpenEXR-2.2.0-6.fc26.src.rpm > qt5-qtbase-5.7.1-12.fc26.src.rpm > qt5-qtwebengine-5.7.1-4.fc26.src.rpm > v8-314-3.14.5.10-3.fc25.src.rpm > z3-4.5.0-1.fc26.src.rpm > error: invalid use of incomplete type > This code is ill-formed and G++ now rejects such code. > > k3d-0.8.0.6-2.fc26.src.rpm > error: no match for 'operator<<' (operand types are > 'std::ostream > {aka std::basic_ostream<char>}' and 'const double') > Missing <ostream>. > > codeblocks-16.01-2.fc26.src.rpm > cyphesis-0.6.2-9.fc24.src.rpm > there are no arguments to .. that depend on a template > parameter, > so a declaration of ... must be available > This code is ill-formed and G++ now rejects such code. > > ETL-0.04.22-1.fc26.src.rpm > libffado-2.3.0-1.fc26.src.rpm > meshlab-1.3.2-10.fc25.src.rpm > sflphone-1.4.1-20.fc26.src.rpm > error: no matching function for call to ... > Invalid code. > > mongo-cxx-driver-1.1.2-3.fc26.src.rpm > Unknown failure. Fails in a shim test, so perhaps some > libstdc++ changes? > > gmm-5.0-1.fc24.src.rpm > Package exceeded -ftemplate-depth limit. > > cppcheck-1.75-1.fc26.src.rpm > pdns-4.0.1-3.fc26.src.rpm > pdns-recursor-4.0.3-2.fc26.src.rpm > error: types may not be defined in a for-range-declaration > Invalid code: "The decl-specifier-seq shall not define a > class or enumeration." > (This used to be a warning.) > > openigtlink-0-0.2.20151015gitccb2438.fc24.src.rpm > error: 'void*' is not a pointer-to-object type > Invalid code. > > Other > ~~~~~ > ruby-2.3.3-61.fc26.src.rpm > This was a GC bug in Ruby; fixed. > https://bugzilla.redhat.com/show_bug.cgi?id=1417590 > > florist-2011-19.fc24.src.rpm > matreshka-0.7.0-5.fc24.src.rpm > Error: no native compiler found for language 'ada', default > runtime > This is gcc-gnat related. Didn't investigate further. > > cryptlib-3.4.3-8.fc26.src.rpm > cryptobone-1.1.1-2.fc26.src.rpm > error: CPU you selected does not support x86-64 instruction set > -mcpu=pentium in the options list. > > diffutils-3.5-1.fc26.src.rpm > A bug in the package. I opened a BZ with a patch: > https://bugzilla.redhat.com/show_bug.cgi?id=1419536 > > libbson-1.5.1-1.fc26.src.rpm > -fwrapv helped, so I bet this is a bug in the package. I > suggest > to use -fsanitize=undefined to see where the overflow happens. > > libosmocore-0.9.0-4.2015110~t916423ef.fc24.src.rpm > -fgnu89-inline helped. See what I wrote in > https://gcc.gnu.org/gcc-5/porting_to.html > > ecl-16.1.2-1.fc26.src.rpm > This failed because there was an insanely huge struct and the > new > diagnostics (fix-it hints) was trying to print it all. I > killed > the build. > > coin-or-Dip-0.91.2-6.fc25.src.rpm > R-DynDoc-1.52.0-1.fc26.src.rpm > R-pls-2.4.3-5.fc24.src.rpm > Missing libgfortran 7. > > bastet-0.43.1-11.fc24.src.rpm > ocaml-cil-1.7.3-27.fc26.src.rpm > ocp-0.1.22-0.10.git849cc42.fc26.src.rpm > openms-2.1.0-3.fc26.src.rpm > openttd-1.6.1-2.fc26.src.rpm > These are not ready for a new gcc version (gcc -dumpversion > says '7' > and not e.g. '6.3.1') and the packages fail to cope with that. > > perl-HTTP-Proxy-0.304-3.fc25.src.rpm > perl-OpenGL-0.6704-5.fc25.src.rpm > Two Perl failures that I wasn't able to analyze, but since they > don't use gcc at all, I presume it's not gcc's fault. > > vavoom-1.33-19.fc26.src.rpm > For some unknown reason a piece of a Makefile isn't performed, > resulting in a failure. > > arc-gui-clients-0.4.6-9.fc25.src.rpm > archimedes-2.0.1-5.fc24.src.rpm > audacity-2.1.3-0.7.20161109git53a5c93.fc26.src.rpm > bwm-ng-0.6.1-2.fc24.src.rpm > ember-0.7.2-15.fc25.src.rpm > extremetuxracer-0.7.4-1.fc26.src.rpm > funguloids-1.06-18.fc24.src.rpm > glite-lbjp-common-gsoap-plugin-3.2.12-10.fc26.src.rpm > gnokii-0.6.31-14.fc24.src.rpm > gobby-0.4.13-10.fc24.src.rpm > linbox-1.4.2-5.fc26.src.rpm > marsshooter-0.7.6-2.fc26.src.rpm > mgetty-1.1.37-1.fc26.src.rpm > mkvtoolnix-9.6.0-1.fc26.src.rpm > openalchemist-0.4-19.fc24.src.rpm > powerline-2.5-4.fc26.src.rpm > sobby-0.4.7-12.fc24.src.rpm > tunneler-1.1.1-17.fc24.src.rpm > Undefined references. Some of them might be due to C99/GNU89 > inline > semantics, but some of them are result of the mangling changes, > see > porting_to.html. > > pspp-0.10.2-1.fc26.src.rpm > A bug in the package, see > https://bugzilla.redhat.com/show_bug.cgi?id=1419174 > > Marek > _______________________________________________ > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx