This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Mainline fails to build


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]