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]

Re: Makefile change to restart bootstraps


    When I'm in bug-hunting mode, I use `make', then verify that the
    modified compiler generates correct code for the test case that used
    to fail.

But which compiler do you do that with?  Don't you go back to use
what's then in the stage1 or stage2 directory?  If you're debugging
the one in the stage1 directory, you can always do "make stage2", move
stage1 to the current directory, fix, make, make stage1, then move
stage2 to the current directory.  That's the same as the new "make
bootstrap" behavior.  But both have very serious problems: suppose you
fixed a bug in a later file but broke it with an earlier file?

I think it's just too easy to do something like this an not realize it.
Using the elaborate procedure above at least warns you that something
very special is being done.  With it happening automatically, it's easy
to not notice this is what happened.  It's *much* less error-prone to
always start a bootstrap from the beginning.

    Once I'm satisfied with the result, I type `make bootstrap'.  If I
    find that it completes immediately, I recall I should have cleaned the
    stamp files, so I remove them and `make bootstrap' again.

That's only two of the three cases: if the problem is that the stage1
compiler blows up, "make bootstrap" will do some work, but it may or
may not be what you want.

I think this is very confusing.

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