This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc-7.1.0 fails to build with flto profiled bootstrap build (with gold linker) + graphite optimisations


Eh, nevermind. I've found the link with hints how to do it properly. It seems to be building OK now. With graphite, LTO and PGO.




On 14. 07. 2017 05:15, Branko wrote:
I have adapted existing gcc-7.1.0 ebuild and flag-o-matic eclass so that it allows me to build gcc with my flags without filtering them.

It works fine, when built with prefiltered flags, but I wanted to compile it with flto and pgo steps ( and later do same with binutils) to see if that would shorten long compile times.

It surely should be noteable on packages like mesa, which I have to compile fort 32/64-ti ABIs and where flto is a practical must - difference in performance is simply too great to ignore.

I'd like to speed up compiling and linking ( which can take eternity on bigger packages, compiled with LTO, even with gold)

So I tried to do a make priofiledboostrap with xxFLAGS and setting below:

COMMON_FLAGS="-march=native -pipe -O3 -flto=8 -ffat-lto-objects -flto-partition=none -fuse-linker-plugin -fuse-ld=gold -fno-delete-null-pointer-checks -fgraphite-identity -floop-nest-optimize"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS} -fpermissive"
LDFLAGS="-Wl,-O3 -Wl,--sort-common -Wl,-flto -Wl,--as-needed -ffat-lto-objects -fuse-linker-plugin -fuse-ld=gold -fno-delete-null-pointer-checks -fgraphite-identity -floop-nest-optimize"
LD="/usr/bin/ld.gold"

but build fails somewhere at the end of stage3 with:

 ^
/var/tmp/portage/sys-devel/gcc-7.1.0-r4/work/gcc-7.1.0/libgcc/libgcov-driver.c:885:1: note: ‘__gcov_exit’ was previously declared here /var/tmp/portage/sys-devel/gcc-7.1.0-r4/work/gcc-7.1.0/libstdc++-v3/libsupc++/vterminate.cc:82: error: undefined reference to '_Unwind_Resume'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:2792: build/genenums] Error 1
make[3]: *** Waiting for unfinished jobs....
<built-in>: warning: type of ‘__gcov_exit’ does not match original declaration [-Wlto-type-mismatch] /var/tmp/portage/sys-devel/gcc-7.1.0-r4/work/gcc-7.1.0/libgcc/libgcov-driver.c:885:1: note: types have different parameter counts
 __gcov_exit (void)
 ^
/var/tmp/portage/sys-devel/gcc-7.1.0-r4/work/gcc-7.1.0/libgcc/libgcov-driver.c:885:1: note: ‘__gcov_exit’ was previously declared here /var/tmp/portage/sys-devel/gcc-7.1.0-r4/work/gcc-7.1.0/libstdc++-v3/libsupc++/vterminate.cc:82: error: undefined reference to '_Unwind_Resume'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:2792: build/genconstants] Error 1
<built-in>: warning: type of ‘__gcov_exit’ does not match original declaration [-Wlto-type-mismatch] /var/tmp/portage/sys-devel/gcc-7.1.0-r4/work/gcc-7.1.0/libgcc/libgcov-driver.c:885:1: note: types have different parameter counts
 __gcov_exit (void)
 ^
/var/tmp/portage/sys-devel/gcc-7.1.0-r4/work/gcc-7.1.0/libgcc/libgcov-driver.c:885:1: note: ‘__gcov_exit’ was previously declared here /var/tmp/portage/sys-devel/gcc-7.1.0-r4/work/gcc-7.1.0/libstdc++-v3/libsupc++/vterminate.cc:82: error: undefined reference to '_Unwind_Resume'
collect2: error: ld returned 1 exit status



Has anyone tried to compile gcc-7 with such combination ?

I used gcc-7.1.0 for compilation, along with binutils-2.28













Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]