[PATCH] Do not adjust mtime timezone on Windows

Simon Marchi simark@simark.ca
Sun Sep 6 00:16:25 GMT 2020


On 2020-09-05 4:49 p.m., Joel Brobecker wrote:
> Hi Tom,
> 
> On Thu, Sep 03, 2020 at 11:02:44AM -0600, Tom Tromey wrote:
>> PR win32/25302 notes that gdb will crash when trying to "run" even a
>> simple program on Windows.  The essential bug here is that the BFD
>> cache can easily be corrupted -- I have sent a separate patch for
>> that.
>>
>> The particular reason that the cache is corrupted on Windows is that
>> gnulib overrides "stat" to make it do timezone adjustment -- but BFD
>> does not use this version of stat.  The difference here triggers the
>> latent cache bug, but can also cause other bugs as well; in particular
>> it can cause spurious warnings about source files being newer.
>>
>> This patch simply removes the stat override on mingw, making gnulib
>> and BFD agree.
>>
>> I tested this by backing out the local AdaCore changes to work around
>> this bug and then verifying that I could reproduce it.  Then, I
>> applied this patch and verified that "run" works again.
>>
>> gnulib/ChangeLog
>> 2020-09-03  Tom Tromey  <tromey@adacore.com>
>>
>> 	PR win32/25302:
>> 	* update-gnulib.sh: Apply stat patch.
>> 	* patches/0001-use-windows-stat: New file.
>> 	* import/m4/stat.m4: Update.
>> 	* configure: Rebuild.
> 
> Thanks for helping us with this patch.
> 
> This looks good to me. We will want this patch in before
> we create the gdb-10-branch, but let's give people a few
> more days to comment if they'd like -- let's say, if by
> Thursday, we haven't received comments, then we push it.
> 
> Thanks again!

I wasn't involved in the discussions, so I'm not really aware of the various solutions that
were considered.  However, if that's the solution that was deemed the best, short term, then
the patch LGTM.

Simon



More information about the Gdb-patches mailing list