Summary: | =sys-devel/gcc-4.5.0 fails to build for alpha/arm/ppc due to --disable-checking | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Matt Turner <mattst88> |
Component: | New packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alpha, arm, ppc, siarhei.siamashka |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | Alpha | ||
OS: | Linux | ||
URL: | http://gcc.gnu.org/PR44469 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log.gz
use --enable-checking=release |
Description
Matt Turner
2010-04-26 03:13:28 UTC
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 |