fpmkunit: store file time stamps in Int64

Since commit 01302bc4, FileAge and FileGetDate return Int64, but TBuildEngine still stored their results in 32-bit variables, so on 64-bit Unix every time stamp after 2038-01-19 wrapped to a negative value:

  • FileNewer considered a freshly compiled unit older than its source, so "fpmake install" recompiled everything.
  • SysCopyFile gave every installed file a 1906 mtime.

Related to issue #40552 (closed)

This was found while working on reproducible builds for openSUSE by building at a simulated date in 2042 (See https://reproducible-builds.org/).

Merge request reports

Loading
Loading