[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU make 3.81beta4 released
From: |
Eli Zaretskii |
Subject: |
Re: GNU make 3.81beta4 released |
Date: |
Thu, 19 Jan 2006 01:48:17 -0500 |
> From: "Markus Mauhart" <address@hidden>
> Date: Thu, 19 Jan 2006 00:55:46 +0100
>
> Now I continued with your suggestion "-j 64" -- it run AFAICS allmost
> 1m without errors until I got ...
> Assertion failed: a == g->changed, file .\remake.c, line 169
> ... this comes from an assertion I had inserted around this bug:
> g->changed += commands_started - ocommands_started;
> (g->changed is only 8 bits wide).
What is the value of commands_started and ocommands_started at that
point, and what is the value of g->changed?
> Today before my 1st test I thought this bug could cause this infinite
> loop, hence the assertion.
What exactly is that assertion testing? I mean, what is `a' to which
it compares the value of g->changed?
Anyway, it looks like g->changed is just a boolean flag, its value is
tested in remake.c to be either zero or non-zero. So, unless I'm
missing something, the offending line can be modified to say:
g->changed = commands_started - ocommands_started;
(and maybe insert an assertion that the expression on the left of the
assignment is either 0 or 1). Can you see if this change removes the
problem?
> Fixing this one is not so easy, cause this byte is also used as a flag
> and sometimes binary combined with some pseudo-bools
remake.c uses this flag as TRUE/FALSE only, the bit-map use is
elsewhere (in main.c), and it's unrelated to what remake.c does,
AFAICS (Paul, could you please confirm that I didn't miss anything?).
The most telltale sign that remake.c doesn't treat g->changed as a bit
map is that remake.c doesn't use bitwise operators with it (in the
function we are discussing).
So I think the change I suggest above should be safe.
- Re: GNU make 3.81beta4 released, (continued)
- Re: GNU make 3.81beta4 released, Eli Zaretskii, 2006/01/16
- Re: GNU make 3.81beta4 released, Markus Mauhart, 2006/01/17
- Re: GNU make 3.81beta4 released, Eli Zaretskii, 2006/01/17
- Re: GNU make 3.81beta4 released, Eli Zaretskii, 2006/01/18
- Re: GNU make 3.81beta4 released, Eli Zaretskii, 2006/01/18
- Re: GNU make 3.81beta4 released, Markus Mauhart, 2006/01/18
- Re: GNU make 3.81beta4 released, Eli Zaretskii, 2006/01/18
- Re: GNU make 3.81beta4 released,
Eli Zaretskii <=
- Re: GNU make 3.81beta4 released, Markus Mauhart, 2006/01/19
- Re: GNU make 3.81beta4 released, Eli Zaretskii, 2006/01/20
- Re: GNU make 3.81beta4 released, Paul D. Smith, 2006/01/20
- Re: GNU make 3.81beta4 released, Eli Zaretskii, 2006/01/20
- Re: GNU make 3.81beta4 released, Paul D. Smith, 2006/01/20
- Re: GNU make 3.81beta4 released, Eli Zaretskii, 2006/01/20
- Re: GNU make 3.81beta4 released, Paul D. Smith, 2006/01/20
- Re: GNU make 3.81beta4 released, Markus Mauhart, 2006/01/20
- Re: GNU make 3.81beta4 released, Eli Zaretskii, 2006/01/21
- Re: GNU make 3.81beta4 released, Eli Zaretskii, 2006/01/21