Make mystery

Peter Naulls peter at chocky.org
Tue Feb 18 05:52:03 PST 2003


Sometimes make issues things like this:

make: *** Warning: File `src/alloc.c' has modification time in the future (2003-02-17 15:03:28 > 2003-02-17 21:01:11)

It turns out that the values make uses to store times are unsigned
64 bit ints.  Ok, so far.  But it seems that the top word gets corrupted
sometimes (always to 0xf60690ff here) so the comparison goes wrong
(it should always be zero, Unixlib time_t is 32 bit).

The corruption apparently occurs around the call at line 1113 of
remake.c, it looks ok in file_timestamp_cons, where the value is
returned from.

This doesn't seem to be an optimisation bug either, as I recompiled
make with -O0

-- 
------------------------------------------------------------------------
 Peter Naulls - peter at chocky.org
 Homepage                     -  http://www.chocky.org/
 RISC OS C Programming        -  http://www.riscos.info/
 Unix Programs on RISC OS     -  http://www.chocky.org/unix/
------------------------------------------------------------------------
GCC for RISC OS - http://hard-mofo.dsvr.net/gcc/



More information about the gcc mailing list