public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Joe Buck <Joe.Buck@synopsys.COM>
To: Ulrich Weigand <weigand@i1.informatik.uni-erlangen.de>
Cc: Andi Kleen <ak@suse.de>,
	gcc@gcc.gnu.org, linux-kernel@vger.kernel.org,
	schwidefsky@de.ibm.com
Subject: Re: Linux 2.6 nanosecond time stamp weirdness breaks GCC build
Date: Thu, 1 Apr 2004 15:58:45 -0800	[thread overview]
Message-ID: <20040401155845.A8242@synopsys.com> (raw)
In-Reply-To: <200404012248.AAA23951@faui1d.informatik.uni-erlangen.de>; from weigand@i1.informatik.uni-erlangen.de on Fri, Apr 02, 2004 at 12:48:55AM +0200

On Fri, Apr 02, 2004 at 12:48:55AM +0200, Ulrich Weigand wrote:
> Joe Buck wrote:
> 
> > Case 2: make falsely thinks that the .c is younger than the .o.  It
> > recompiles the .c file, even though it didn't have to.  Harmless.
> 
> *Not* harmless, in fact this is exactly what breaks my bootstrap.
> 
> Think about what happens when cc1 is 'harmlessly' rebuilt just
> while in a parallel make that very same cc1 binary is used to
> run a compile ...

Well, then, you have a problem: how to handle ties?  Consider a system
with no extra precision, and one-second time resolution.  You see an .o
file and a .c file that are the same age.  Rebuild or not?  If we don't
and are wrong, the .o file is bad.  If we do and are wrong, the target
will be modified while some process is trying to use it.  Somehow we
have to figure out how to do the makefile so that neither problem can
occur.

In your particular case, for example, if the command to rebuild cc1 builds
the new version in a different place, then does an mv, the rebuild *will*
be harmless.

  reply	other threads:[~2004-04-01 23:58 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-01 19:28 Linux 2.6 nanosecond time stamp weirdness breaks GCC build Ulrich Weigand
2004-04-01 20:09 ` Andi Kleen
2004-04-01 20:39   ` Daniel Jacobowitz
2004-04-01 20:46     ` Andi Kleen
2004-04-01 21:01       ` Ulrich Weigand
2004-04-01 21:44         ` Andi Kleen
2004-04-01 22:39     ` Joe Buck
2004-04-01 22:44       ` Paul Jarc
2004-04-01 22:48       ` Ulrich Weigand
2004-04-01 23:58         ` Joe Buck [this message]
2004-04-02  0:13           ` Daniel Jacobowitz
2004-04-02  0:02   ` Jamie Lokier
2004-04-02  0:35   ` Paul Eggert
2004-04-02  1:14     ` Jamie Lokier
2004-04-02  7:57       ` James H. Cloos Jr.
2004-04-02  9:22       ` Paul Eggert
2004-04-02 16:23         ` Jamie Lokier
2004-04-02 20:45           ` Paul Eggert
2004-04-02 21:07             ` Jamie Lokier
2004-04-02 21:56               ` Paul Eggert
2004-04-03  4:59       ` Andrew Pimlott
2004-04-02  0:37   ` Andrew Morton
2004-06-07 16:03     ` Jörn Engel
2004-04-01 21:13 ` Janis Johnson
2004-04-01 21:41   ` Ulrich Weigand
2004-04-02  0:30   ` Alan Modra
2004-04-02  9:05 ` P
2004-04-02 17:27 ` Alexandre Oliva
  -- strict thread matches above, loose matches on Subject: below --
2004-04-01 20:51 Michael Elizabeth Chastain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040401155845.A8242@synopsys.com \
    --to=joe.buck@synopsys.com \
    --cc=ak@suse.de \
    --cc=gcc@gcc.gnu.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=weigand@i1.informatik.uni-erlangen.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox