WinCOFFObjectWriter.cpp: Roll back TimeDateStamp along ENABLE_TIMESTAMPS.

We want a deterministic output. GNU AS leaves it zero.

FIXME: It may be optional by its user, like llc and clang.
llvm-svn: 246905
This commit is contained in:
NAKAMURA Takumi 2015-09-05 01:17:49 +00:00
parent 591b5a5e72
commit 2f9e8c0570
1 changed files with 5 additions and 0 deletions

View File

@ -1013,12 +1013,17 @@ void WinCOFFObjectWriter::writeObject(MCAssembler &Asm,
Header.PointerToSymbolTable = offset;
#if (ENABLE_TIMESTAMPS == 1)
// MS LINK expects to be able to use this timestamp to implement their
// /INCREMENTAL feature.
std::time_t Now = time(nullptr);
if (Now < 0 || !isUInt<32>(Now))
Now = UINT32_MAX;
Header.TimeDateStamp = Now;
#else
// We want a deterministic output. It looks like GNU as also writes 0 in here.
Header.TimeDateStamp = 0;
#endif
// Write it all to disk...
WriteFileHeader(Header);