[Bug c/51187] gcc 4.6.2 miscompiles genrecog.c when building gcc 4.5.3 with --target=avr on Debian/sparc
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 18 06:36:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51187
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2011-11-18
CC| |ebotcazou at gcc dot
| |gnu.org
Ever Confirmed|0 |1
--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-11-18 06:31:42 UTC ---
> We discovered this bug in gcc 4.6.2 in Debian due to build failure of gcc-avr
> package on sparc (tracked in Debian as http://bugs.debian.org/648016), which
> uses gcc 4.5 source to build an AVR cross-compiler. I was not able to come up
> with a nice self-contained test-case, but here are the steps to reproduce the
> failure.
I can reproduce. However...
> ./configure -v --enable-languages=c,c++ --prefix=/usr/lib
> --infodir=/usr/share/info --mandir=/usr/share/man --bindir=/usr/bin
> --libexecdir=/usr/lib --libdir=/usr/lib --enable-shared --with-system-zlib
> --enable-long-long --enable-nls --without-included-gettext --disable-checking
> --disable-libssp --build=sparc-linux-gnu --host=sparc-linux-gnu --target=avr
...you should never configure the compiler with --disable-checking, even in a
cross configuration. This will save a few percents in compilation times but
disables critical internal checking; you risk silently generating wrong code.
As a matter of fact, remove this switch is a workaround for the problem.
> My analysis indicates that failure happens due to a miscompilation of
> genrecog.c by gcc 4.6.2. Here's the debugging information I posted to the
> Debian bug already (note that this was done using gcc-avr Debian source
> package, so running genrecog in pristine 4.5.3 produces slightly different
> output, but I believe that it still crashes due to same reason):
Thanks for the thorough analysis.
More information about the Gcc-bugs
mailing list