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

Frank Ch. Eigler fche at redhat.com
Wed Feb 11 18:43:26 UTC 2015


Marek Polacek <polacek at redhat.com> writes:

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

I'd like to bring to folks' attention one other scenario that can bite
with a gcc major version update.  It's a more subtle failure, and it
might be widespread.  In the case of pcp [1], it lets a build succeed,
but an opaque runtime error results.

In this case, the root cause was an autoconf fragment is used to
detect whether gcc supports -rdynamic:

    cat <<End-of-File >conftest.c
    main() {;}
    End-of-File
    rdynamic_flag=
    $CC -o conftest -rdynamic conftest.c 2>conftest.out
    test -s conftest.out || rdynamic_flag=-rdynamic

This used to succeed under gcc 4.9, but gcc 5 emits a warning

    conftest.c:1:1: warning: return type defaults to `int' [-Wimplicit-int]
    [...]

which the test takes as a failure due to its scanning of stderr.  That
in turn nukes use of -rdynamic, which breaks -run-time- dlopen()
attempts between shared libraries.

Admittedly, it's not a great test (and we're fixing it upstream).  But
it's possible that other programs' configury is similarly sensitive to
gcc warn-by-default changes, and result in a differently configured
build or even a broken runtime.


[1] https://kojipkgs.fedoraproject.org//packages/pcp/3.10.3/0.508.g8090873.fc22/data/logs/x86_64/build.log , search for -rdynamic


- FChE


More information about the devel mailing list