Do not adjust mtime timezone on Windows
authorTom Tromey <tromey@adacore.com>
Tue, 8 Sep 2020 16:20:44 +0000 (10:20 -0600)
committerTom Tromey <tromey@adacore.com>
Tue, 8 Sep 2020 16:41:03 +0000 (10:41 -0600)
commitd706b69e48268ccf3e95fd29b5374ac94c3a507b
treed16e0e4a5c4d18ee5c944eaaec0defe30e369a28
parent03b0a45f15e44da7983dffea921c0c43a19250ff
Do not adjust mtime timezone on Windows

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.

2020-09-08  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.
gnulib/ChangeLog
gnulib/configure
gnulib/import/m4/stat.m4
gnulib/patches/0001-use-windows-stat [new file with mode: 0644]
gnulib/update-gnulib.sh