This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: i686 bootstrap failure on libgcc2.c
Zack Weinberg wrote:
> On Wed, Jan 17, 2001 at 02:43:36PM +1300, Bryce McKinlay wrote:
> > I'm getting this error attempting to build the current tree:
> >
> > /home/bryce/cvs/gcc/build/gcc/xgcc -B/home/bryce/cvs/gcc/build/gcc/
> > -B/home/bryce/gcc/i686-pc-linux-gnu/bin/
> > -B/home/bryce/gcc/i686-pc-linux-gnu/lib/ -isystem
> > /home/bryce/gcc/i686-pc-linux-gnu/include -O2 -DIN_GCC -W -Wall
> > -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem
> > ./include -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
> > -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc -I../../gcc/.
> > -I../../gcc/config -I../../gcc/../include -DL_divdi3 -c
> > ../../gcc/libgcc2.c -o libgcc/./_divdi3.o
> > ../../gcc/libgcc2.c: In function `__divdi3':
> > ../../gcc/libgcc2.c:748: Internal compiler error in find_free_reg, at
> > local-alloc.c:2149
> > Please submit a full bug report.
>
> I get this too.
>
> However, backing them out does not remove the bug. I don't see
> anything else in the changelog that looks like it could have caused
> this.
Reverting this combine patch seems to fix it:
Tue Jan 16 17:20:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* combine.c (try_combine): If i3_subst_into_i2, properly check for
I3 having more than one SET.
===================================================================
RCS file: /cvs/gcc/egcs/gcc/combine.c,v
retrieving revision 1.176
retrieving revision 1.177
diff -u -r1.176 -r1.177
--- egcs/gcc/combine.c 2001/01/14 10:39:49 1.176
+++ egcs/gcc/combine.c 2001/01/16 22:21:16 1.177
@@ -2524,7 +2524,7 @@
actually came from I3, so that REG_UNUSED notes from I2 will be
properly handled. */
- if (i3_subst_into_i2 && GET_CODE (PATTERN (i2)) == PARALLEL)
+ if (i3_subst_into_i2 && single_set (i2) == 0)
{
for (i = 0; i < XVECLEN (PATTERN (i2), 0); i++)
if (GET_CODE (XVECEXP (PATTERN (i2), 0, i)) != USE
regards
[ bryce ]