This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Mainline fails to build
- From: Janis Johnson <janis187 at us dot ibm dot com>
- To: magfr at lysator dot liu dot se
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 31 May 2002 09:06:32 -0700
- Subject: Re: Mainline fails to build
- References: <20020531052306.GA13289@jenny.home>
On Fri, May 31, 2002 at 07:23:06AM +0200, magfr@lysator.liu.se wrote:
> For about the last weak mainline have failed to build for me on i586-linux.
>
> Attached is an excerpt from the build log, hopefully someone can help me shed
> some light upon this.
[snip]
> make[2]: Entering directory `/usr/local/src/gnu/gcc-cvs/build/gcc'
> stage1/xgcc -Bstage1/ -B/usr/local/src/gnu/gcc-cvs/install/i586-pc-linux-gnu/bin/ -c -DIN_GCC -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/config -I../../gcc/gcc/../include ../../gcc/gcc/gengenrtl.c -o gengenrtl.o
> In file included from ../../gcc/gcc/gengenrtl.c:29:
> ../../gcc/gcc/real.h:122:8: #error "REAL_WIDTH > 5 not supported"
I ran into this too, when I start with GCC 3.0.4 on i686-pc-linux-gnu.
The stage1 compiler is miscompiled in function num_equality_op in
cppexp.c:
Dump of assembler code for function num_equality_op:
0x8089970 <num_equality_op>: push %ebp
0x8089971 <num_equality_op+1>: mov %esp,%ebp
0x8089973 <num_equality_op+3>: movl $0x0,0x14(%ebp) <--- store new value
0x808997a <num_equality_op+10>: mov 0x14(%ebp),%eax <--- load old (oops)
0x808997d <num_equality_op+13>: cmp 0x20(%ebp),%eax
0x8089980 <num_equality_op+16>: jne 0x8089991 <num_equality_op+33>
lhs.low is stored into before the old value is loaded.
Janis