public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/16399] New: First "make bootstrap" succeeds while the second doesn't, even if nothing changed
@ 2004-07-07  5:03 rmathew at gcc dot gnu dot org
  2004-07-07  7:22 ` [Bug bootstrap/16399] " bonzini at gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: rmathew at gcc dot gnu dot org @ 2004-07-07  5:03 UTC (permalink / raw)
  To: gcc-bugs

Nicely summarised by Jim Wilson:

-------------------------------- 8< --------------------------------
Ranjit Mathew wrote:
>     I've noticed this quite a few times but only sometimes
> can I reproduce this cleanly. What happens is:
> 1. Bootstrap from clean sources in a clean folder.
> 2. Change something in a front-end (say Java).
> 3. Rebootstrap. Everything goes through fine.
> 4. Rebootstrap without changing anything, but now I get
> bootstrap comparison failures for files touched in #2.

This is trivial to reproduce, and it isn't hard to see why.  What I did
was a C only bootstrap, and then I added "int phony = 100;" to the end
of dwarf2out.c.

What happened is that a top level bootstrap calls the gcc bootstrap
rule, which has no dependencies on the source code.  This emits a
helpful message saying that bootstrap is finished, and you probably
meant to do something else.  The top level bootstrap rule then does a
file compare which passes because nothing changed.  The top level
bootstrap then tries to build the libraries.  But some of the libraries
have a dependence on gcc, which depends on its source files, so now cc1
gets rebuilt.  Meanwhile, the helpful message from the gcc bootstrap
rule gets lost in the make noise.

Next time you do a bootstrap, you get the same sequence, except the file
compare fails this time because files have changed.

This seems to be a design conflict between the top level and gcc
bootstrap rules.  What the gcc bootstrap rule is doing makes sense if
bootstrap is completely controlled by gcc, but it does not seem to make
sense when the bootstrap process is controlled by the toplevel Makefile.
-------------------------------- 8< --------------------------------

-- 
           Summary: First "make bootstrap" succeeds while the second
                    doesn't, even if nothing changed
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P2
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rmathew at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16399


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/16399] First "make bootstrap" succeeds while the second doesn't, even if nothing changed
  2004-07-07  5:03 [Bug bootstrap/16399] New: First "make bootstrap" succeeds while the second doesn't, even if nothing changed rmathew at gcc dot gnu dot org
@ 2004-07-07  7:22 ` bonzini at gnu dot org
  2004-10-05 11:59 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: bonzini at gnu dot org @ 2004-07-07  7:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bonzini at gnu dot org  2004-07-07 07:22 -------
Bootstrap really needs to be moved to the toplevel...

Paolo

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16399


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/16399] First "make bootstrap" succeeds while the second doesn't, even if nothing changed
  2004-07-07  5:03 [Bug bootstrap/16399] New: First "make bootstrap" succeeds while the second doesn't, even if nothing changed rmathew at gcc dot gnu dot org
  2004-07-07  7:22 ` [Bug bootstrap/16399] " bonzini at gnu dot org
@ 2004-10-05 11:59 ` pinskia at gcc dot gnu dot org
  2004-10-05 12:10 ` rmathew at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-05 11:59 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-05 11:59 -------
Use bubblebootstrap instead.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16399


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/16399] First "make bootstrap" succeeds while the second doesn't, even if nothing changed
  2004-07-07  5:03 [Bug bootstrap/16399] New: First "make bootstrap" succeeds while the second doesn't, even if nothing changed rmathew at gcc dot gnu dot org
  2004-07-07  7:22 ` [Bug bootstrap/16399] " bonzini at gnu dot org
  2004-10-05 11:59 ` pinskia at gcc dot gnu dot org
@ 2004-10-05 12:10 ` rmathew at gcc dot gnu dot org
  2004-10-07 11:38 ` giovannibajo at libero dot it
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rmathew at gcc dot gnu dot org @ 2004-10-05 12:10 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rmathew at gcc dot gnu dot org  2004-10-05 12:10 -------
(In reply to comment #2)
> Use bubblebootstrap instead.

You mean bubblestrap.

Yes I know about it, but the real problem for which this PR was opened is
indicated by the first comment and needs to be addressed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16399


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/16399] First "make bootstrap" succeeds while the second doesn't, even if nothing changed
  2004-07-07  5:03 [Bug bootstrap/16399] New: First "make bootstrap" succeeds while the second doesn't, even if nothing changed rmathew at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2004-10-05 12:10 ` rmathew at gcc dot gnu dot org
@ 2004-10-07 11:38 ` giovannibajo at libero dot it
  2004-10-07 11:48 ` bonzini at gcc dot gnu dot org
  2005-01-06  1:06 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: giovannibajo at libero dot it @ 2004-10-07 11:38 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2004-10-07 11:37 -------
Now we have toplevel bootstrap. Is this problem still actual? Maybe Paolo could 
comment on this (confirm/close)?

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bonzini at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16399


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/16399] First "make bootstrap" succeeds while the second doesn't, even if nothing changed
  2004-07-07  5:03 [Bug bootstrap/16399] New: First "make bootstrap" succeeds while the second doesn't, even if nothing changed rmathew at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2004-10-07 11:38 ` giovannibajo at libero dot it
@ 2004-10-07 11:48 ` bonzini at gcc dot gnu dot org
  2005-01-06  1:06 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: bonzini at gcc dot gnu dot org @ 2004-10-07 11:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bonzini at gcc dot gnu dot org  2004-10-07 11:48 -------
A quickstrap only rebuilds stage3, so the object files are different from those
in stage2 for the files you modified.  As other said the solution is just to use
bubblestrap, we may change Makefile.def's gcc entry from

target="`if [ -f gcc/stage_last ]; then echo quickstrap ; else echo all; fi`";

to

target="`if [ -f gcc/stage_last ]; then echo bubblestrap ; else echo all; fi`";

Marking this as WONTFIX makes sense to me.  Anybody else?

Paolo

ps: since Giovanni mentioned toplevel bootstrap: among the changes it
introduces, a toplevel "make" does something just like bubblestrap.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16399


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug bootstrap/16399] First "make bootstrap" succeeds while the second doesn't, even if nothing changed
  2004-07-07  5:03 [Bug bootstrap/16399] New: First "make bootstrap" succeeds while the second doesn't, even if nothing changed rmathew at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2004-10-07 11:48 ` bonzini at gcc dot gnu dot org
@ 2005-01-06  1:06 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-01-06  1:06 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-06 01:06 -------
This works as excepted so closing as will not fix.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|                            |WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16399


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2005-01-06  1:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-07  5:03 [Bug bootstrap/16399] New: First "make bootstrap" succeeds while the second doesn't, even if nothing changed rmathew at gcc dot gnu dot org
2004-07-07  7:22 ` [Bug bootstrap/16399] " bonzini at gnu dot org
2004-10-05 11:59 ` pinskia at gcc dot gnu dot org
2004-10-05 12:10 ` rmathew at gcc dot gnu dot org
2004-10-07 11:38 ` giovannibajo at libero dot it
2004-10-07 11:48 ` bonzini at gcc dot gnu dot org
2005-01-06  1:06 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).