make[2]: Entering directory `/var/tmp/portage/sys-devel/gcc-4.5.0/work/build' make[3]: Entering directory `/var/tmp/portage/sys-devel/gcc-4.5.0/work/build' rm -f stage_current make[3]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.5.0/work/build' Comparing stages 2 and 3 warning: gcc/cc1plus-checksum.o differs warning: gcc/cc1-checksum.o differs Bootstrap comparison failure! gcc/varpool.o differs .... Let me know what I can do to help fix this. sys-devel/gcc-4.5.0 [4.3.4, 4.4.3] USE="mudflap nptl (-altivec) -bootstrap -build -doc (-fixed-point) -fortran -gcj -graphite -gtk (-hardened) (-libffi) -lto (-multilib) -multislot (-n32) (-n64) -nls -nocxx -objc -objc++ -objc-gc -openmp -test -vanilla" Using alpha-unknown-linux-gnu-4.4.3 to compile.
Created attachment 229171 [details] build.log.gz
try removing --disable-checking
(In reply to comment #2) > try removing --disable-checking EXTRA_ECONF="--enable-checking" emerge =gcc-4.5.0 ...works. But I can't imagine that that's an appropriate solution.
Welcome to the club (ppc and arm are also broken): http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42347
So looks like there is a fix for this problem now: http://gcc.gnu.org/viewcvs?view=revision&revision=159500 At least it should fix bootstrapping for arm/ppc/ppc64.
New patchset released with this in it. Thanks
I filed this against alpha, and it's not fixed on alpha. Reopening. I get the same error with the new patchset.
Yes, I can confirm that alpha crosscompiler does not ICE on the testcase from PR42347. So it is different from what was happening on arm/ppc/ppc64. Nevertheless __builtin_unreachable() still may be involved because it is heavily used when building gcc with --disable-checking. If you followed PR42347 gcc bugzilla entry, actually PR42347 was not the only __builtin_unreachable() related bug fixed recently. So I suggest you to also try the patch from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44071 And if it does not help, and you don't mind doing some tests yourself, checking whether reverting http://repo.or.cz/w/official-gcc.git/commit/598767c938d0d001bbbe41e0a189104bb53e3580 also helps on alpha may provide an extra bit of information. Finally it might make a lot of sense to submit a new bug to gcc bugzilla (unless you have done that already). Good luck.
Tried the patch on alpha, still fails the same way.
(In reply to comment #8) > And if it does not help, and you don't mind doing some tests yourself, checking > whether reverting > http://repo.or.cz/w/official-gcc.git/commit/598767c938d0d001bbbe41e0a189104bb53e3580 > also helps on alpha may provide an extra bit of information. Tried that myself, and yes, reverting that fixes it.
Thanks, looks like this __builtin_unreachable is quite unstable. It's a new feature of gcc 4.5 and it is probably used quite heavily only in gcc itself for --disable-checking build (causing bootstrap issues). Apparently it is not entirely perfect even on x86/amd64: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44469#c3 Could this __builtin_unreachable stuff be treated similar to other unstable gcc features like lto and graphite? I mean, could gentoo just revert this patch for now in the default gcc build configuration?
Mike, could we disable --disable-checking on alpha/arm, please? As always, looks like this stuff was implemented and tested on amd64/x86 only :(
rather, upstream never tests with --disable-checking. i wouldn't mind a debug flag that sets --enable-checking=release.
that wouldnt work across versions. how about: + # For newer versions of gcc, use the default ("release"), because no + # one (even upstream apparently) tests with it disabled. #317217 + if tc_version_is_at_least 4 || [[ -n ${GCC_CHECKS_LIST} ]] ; then + confgcc+=" --enable-checking=${GCC_CHECKS_LIST:-release}" + else + confgcc+=" --disable-checking" + fi
WFM. And I can get rid of the hack in the svn ebuilds.
Why it isn't in the eclass yet? (ping if I can add it)
Created attachment 239695 [details, diff] use --enable-checking=release That can go in?
Luca, Go ahead.
Hopefully workarounded.
lets get in the habit of including commit links. http://sources.gentoo.org/eclass/toolchain.eclass?r1=1.434&r2=1.435