This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: m68k bootstrapping broken
On Wed, Jan 07, 2004 at 09:53:14PM +0100, Bernardo Innocenti wrote:
> Richard Zidlicky wrote:
>
> >>I've been building full m68k cross-toolchains from CVS for
> >>m68k-elf and m68k-uclinux for a lot of time.
> >>
> >>I don't see how it can be different from bootstrapping a native
> >>compiler.
> >
> >the crosscompiler can compile many things correctly but happens
> >to miscompile itself. Note that while the crosscompiler correctly
> >builds all of libgcc and libstdc, the native compiler breaks
> >on the 3 or so compilation unit of libgcc.
>
> With GCC 3.3.2 and on the 3.3 branch, I've found an ICE compiling
> uClibc's printf.c with -O1 or greater:
...
...
> This is the only place in all the uClinux source base that triggers
> an ICE. The bug disappeared in 3.4 with no obvious fixes in m68k.md.
like many other m68k bugs before.
> It really, really smells like a latent bug in code-generation that's
> only triggered by the m68k backend in rare circumstances. Perhaps
> it's caused by memory trashing or an uninitialized value.
>
> Is it just possible that this bug is still plaguing 3.4 and is now
> showing up in some different way on m68k-linux?
quite possible but veryfing that would be even more work than "simply"
debugging the current problem.
The bootstrapping problem apparently goes away if the compiler is
compiled with different optimisation settings, doing a little more
experimentation here.
Next I will compare dumped RTL info from the native and crosscompiler,
should give some clue to see what part of the compiler is miscompiled.
Richard