[llvm] r246905 - WinCOFFObjectWriter.cpp: Roll back TimeDateStamp along ENABLE_TIMESTAMPS.

Rafael EspĂ­ndola via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 8 06:56:43 PDT 2015


How a about a deterministic option that has different defaults
depending on the target?

On 4 September 2015 at 21:57, David Majnemer via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> It cannot be optional if you are using the MSVC linker with the /incremental
> option.  Not setting the timestamp will cause the linker to not consider the
> object file as it will be considered older than the executable.
>
> We can disable it for MinGW targets but I don't think we can for MSVC ones.
>
> On Fri, Sep 4, 2015 at 6:17 PM, NAKAMURA Takumi via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>>
>> Author: chapuni
>> Date: Fri Sep  4 20:17:49 2015
>> New Revision: 246905
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=246905&view=rev
>> Log:
>> 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.
>>
>> Modified:
>>     llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp
>>
>> Modified: llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp?rev=246905&r1=246904&r2=246905&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp (original)
>> +++ llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp Fri Sep  4 20:17:49 2015
>> @@ -1013,12 +1013,17 @@ void WinCOFFObjectWriter::writeObject(MC
>>
>>    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);
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>


More information about the llvm-commits mailing list