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]

VTA bootstrap compare failures


Along with the VTA merge, a change was installed that made
bootstrap-debug BUILD_CONFIG the default.

This means stage2 is built with -g0, and stage3 is built with -g, and
then we compare the object files after stripping them.

Although this works fine on numerous GNU/Linux platforms on which I
tested it, and the bootstrap-debug option has been available and
recommended, even in the trunk, for quite a while, without any problem
reports whatsoever, making it default immediately showed it hadn't got
much testing elsewhere :-(

PRs 41224 and 41228 are the ones I know about.  Basically, the problem
is that stripping is not enough to get identical object files.
Significant differences remain, even after stripping.

So I guess we'll have to find a way to enable bootstrap-debug only when
this works.  I can't think of a way to test whether it comparing
stripped -g0 and -g object files works using the stage1 compiler, but I
guess if we test the compiler used to build stage1 and that works, we
should strive to ensure the stage1 compiler works as well.

So tonight I'll write a patch that performs a contrib/compare-debug test
and enables or disables BUILD_CONFIG=bootstrap-debug accordingly.  I
hereby ask for help, as mentioned in the bug reports, in coming up with
a minimal testcase that is enough to fail contrib/compare-debug on the
affected platforms.  I assume a trivial main(){} wouldn't do, but
perhaps even that might.  If you are willing to help, please test:

cat > test.c << EOF
void f() {}
EOF
gcc -c -g0 test.c -o test-g0.o
gcc -c -g test.c -o test-g.o
.../gcc/contrib/compare-debug test-g0.o test-g.o
echo $?

If it prints 0 at the end, this is too simple a testcase, and we need
something more complex to trigger a compare error.  If it prints 1, we
have something we can use.


Now, if you're not interested in helping come up with this minimal
testcase, but still want bootstrap to pass, please drop bootstrap-debug
from the BUILD_CONFIG line in Makefile.in, or override BUILD_CONFIG in
the make command line.

If anyone feels this is serious and urgent enough to deserve a reversal,
please revert only the Makefile.* changes.  I won't be around much for
the next 6 hours or so, but I'll deal with it as soon as I return.


Thanks,

-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer


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