This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Results for egcs-2.92.21 19981109 (gcc2 ss-980609 experimental) testsuite on i586-pc-linux-gnu
Jeffrey A Law writes:
> > _bb
> > xgcc: Internal compiler error: program cc1 got fatal signal 11
> > make[2]: *** [libgcc2.a] Error 1
> > make[2]: Leaving directory `/usr/packages/egcs/egcs/snapshot/i586-pc-linux-
> > gnu/gcc'
> > make[1]: *** [bootstrap-lean] Error 2
> > make[1]: Leaving directory `/usr/packages/egcs/egcs/snapshot/i586-pc-linux-
> > gnu/gcc'
> > make: *** [bootstrap-lean] Error 2
> I suspect this is a problem with loop unrolling. If you could investigate it
> further it would be greatly appreciated.
>
> I was able to bootstrap with your BOOT_CFLAGS if I did not include
> -funroll-loops.
I can only replicate the problem with *both* -funroll-loops *and*
-fomit-frame-pointer in the BOOT_CFLAGS.
Problem is, this makes debugging a bit tricky. If the
-fomit-frame-pointer hasn't fubared things completely, cc1 crashes
compiling __bb_exit_func(), in output_constant_def() in varasm.c;
however, I don't entirely trust this, because output_constant_def()'s
local variables appear to be fubarred completely from the time the
function is entered, not just at the point at which it crashes. It
gets a segfault here:
for (desc = const_hash_table[hash]; desc; desc = desc->next)
This seems to be because /hash/ is wrong; at least, at 136433184 it
does seem a bit high.
The parameters (i.e. `exp') are OK. But I'm not sure how to go from
that to `this bit is broken'.
I hope what I've done is of some vague use, though.
--
`It would be painful to fix, but it's a lot less painful to fix _now_
rather than later, so maybe the right thing is to just do it and watch
people scream in agony.' - Linus Torvalds on linux-kernel