Red Hat Bugzilla – Bug 37671
RFE: gforth won't compile with gcc-2.96
Last modified: 2007-03-26 23:43:53 EDT
This is just a FYI, and is really a gforth, not a gcc problem.
However, since I've just dropped gforth compiled with egcs
into powertools-7.2, I figgered I'd report the problem.
Nuke the package in powertools if you want <shrug>
This bug is probably due to gcc-2.96 producing incorrect code (guess based on
experience with similar symptoms in other settings).
Yeah, engine() couldn't be shorter...
So far I've found one GCSE bug which caused engine-ditc.o to be miscompiled.
With this fixed, there is some other bug which causes engine.o to be miscompiled
with -fomit-frame-pointer (taking this one out fixes it).
I'll dig some more.
I have now tested this a little more and found that Gforts works with
gcc-2.96 on Intel if it is configured with --enable-force-reg. I
found that I get a good result (correct and fast code) with gcc
version 2.96 20000731 (Red Hat Linux 7.1 2.96-81) by configuring in
the following way:
CC="gcc -fno-gcse" ./configure --enable-force-reg --enable-indirect-threaded
I will look into the generated code for the crashing versions soon.
The compiler included in Red Hat Linux 7.1 and later versions of Red Hat Linux
compiles gforth-5.0 correctly. The errata compiler for Red Hat Linux 7.0
(gcc-2.96-85) also compiles gforth-5.0 correctly.